00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "eyedb_p.h"
00026
00027 namespace eyedb {
00028
00029 Status (*getMakeFunction(int type))(Database *,
00030 const Oid *, Object **,
00031 const RecMode *,
00032 const ObjectHeader *,
00033 Data, LockMode, const Class *)
00034 {
00035 switch(type) {
00036
00037 case _Class_Type:
00038 return classMake;
00039
00040 case _StructClass_Type:
00041 case _UnionClass_Type:
00042 return agregatClassMake;
00043
00044 case _EnumClass_Type:
00045 return enumClassMake;
00046
00047 case _BasicClass_Type:
00048 return basicClassMake;
00049
00050
00051 case _Basic_Type:
00052 return basicMake;
00053
00054 case _Struct_Type:
00055 case _Union_Type:
00056
00057 return agregatMake;
00058
00059 case _Enum_Type:
00060 return enumMake;
00061
00062 case _Schema_Type:
00063 return schemaClassMake;
00064
00065 case _Collection_Type:
00066 case _CollSet_Type:
00067 case _CollBag_Type:
00068 case _CollList_Type:
00069 case _CollArray_Type:
00070 return collectionMake;
00071
00072 case _CollectionClass_Type:
00073 case _CollSetClass_Type:
00074 case _CollBagClass_Type:
00075 case _CollListClass_Type:
00076 case _CollArrayClass_Type:
00077 return collectionClassMake;
00078
00079 default:
00080 return 0;
00081 }
00082 }
00083 }