make_obj.h

00001 /* 
00002    EyeDB Object Database Management System
00003    Copyright (C) 1994-2008 SYSRA
00004    
00005    EyeDB is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009    
00010    EyeDB is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014    
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with this library; if not, write to the Free Software
00017    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA 
00018 */
00019 
00020 /*
00021    Author: Eric Viara <viara@sysra.com>
00022 */
00023 
00024 
00025 #ifndef _EYEDB_MAKE_OBJ_H
00026 #define _EYEDB_MAKE_OBJ_H
00027 
00028 namespace eyedb {
00029 
00030   extern Status
00031   (*getMakeFunction(int type))(Database *, const Oid *, Object **,
00032                                    const RecMode *,
00033                                    const ObjectHeader *, Data,
00034                                    LockMode lockmode,
00035                                    const Class *);
00036 
00037   extern Status
00038   classMake(Database *, const Oid *, Object **,
00039                 const RecMode *, const ObjectHeader *, Data,
00040                 LockMode lockmode, const Class *);
00041 
00042   extern Status
00043   agregatClassMake(Database *, const Oid *, Object **,
00044                        const RecMode *, const ObjectHeader *, Data,
00045                        LockMode lockmode, const Class *);
00046 
00047   extern Status
00048   enumClassMake(Database *, const Oid *, Object **,
00049                     const RecMode *, const ObjectHeader *, Data,
00050                     LockMode lockmode, const Class *);
00051 
00052   extern Status
00053   basicClassMake(Database *, const Oid *, Object **,
00054                      const RecMode *, const ObjectHeader *, Data,
00055                      LockMode lockmode, const Class *);
00056 
00057   extern Status
00058   basicMake(Database *, const Oid *, Object **,
00059                 const RecMode *, const ObjectHeader *, Data,
00060                 LockMode lockmode, const Class *);
00061 
00062   extern Status
00063   agregatMake(Database *, const Oid *, Object **,
00064                   const RecMode *, const ObjectHeader *, Data,
00065                   LockMode lockmode, const Class *);
00066 
00067   extern Status
00068   enumMake(Database *, const Oid *, Object **,
00069                const RecMode *, const ObjectHeader *, Data,
00070                LockMode lockmode, const Class *);
00071 
00072   extern Status
00073   schemaClassMake(Database *, const Oid *, Object **,
00074                       const RecMode *, const ObjectHeader *, Data,
00075                       LockMode lockmode, const Class *);
00076 
00077   extern Status
00078   collectionMake(Database *, const Oid *, Object **,
00079                      const RecMode *, const ObjectHeader *, Data,
00080                      LockMode lockmode, const Class *);
00081 
00082   extern Status
00083   collectionClassMake(Database *, const Oid *, Object **,
00084                           const RecMode *, const ObjectHeader *, Data,
00085                           LockMode lockmode, const Class *);
00086 
00087   extern Status
00088   classCollectionMake(Database *, const Oid &, Collection **);
00089 
00090 }
00091 
00092 #endif

Generated on Mon Dec 22 18:15:58 2008 for eyedb by  doxygen 1.5.3