syscls.cc

00001 
00002 /*
00003  * EyeDB Version 2.7.12 Copyright (c) 1995-2006 SYSRA
00004  *
00005  * File 'syscls.cc'
00006  *
00007  * Package Name 'syscls'
00008  *
00009  * Generated by eyedbodl at Fri Feb  9 14:01:42 2007
00010  *
00011  * ---------------------------------------------------
00012  * -------------- DO NOT EDIT THIS CODE --------------
00013  * ---------------------------------------------------
00014  *
00015  */
00016 
00017 #include <eyedb/eyedb.h>
00018 
00019 #include <eyedb/internals/ObjectPeer.h>
00020 #include <eyedb/internals/ClassPeer.h>
00021 #include <eyedb/internals/kern_const.h>
00022 
00023 #include <eyedb/syscls.h>
00024 
00025 #define min(x,y)((x)<(y)?(x):(y))
00026 
00027 namespace eyedb {
00028 
00029 static eyedb::Bool dynget_error_policy = eyedb::False;
00030 static eyedb::Bool dynset_error_policy = eyedb::True;
00031 static eyedb::Oid nulloid;
00032 static unsigned char nulldata[1];
00033 static eyedb::Bool oid_check = eyedb::True;
00034 static int class_ind;
00035 static eyedb::Database::consapp_t *constructors_x = new eyedb::Database::consapp_t[105];
00036 static eyedb::Object *(*constructors[105])(const eyedb::Object *, eyedb::Bool);
00037 static eyedb::GenHashTable *hash;
00038 #define make_object sysclsMakeObject
00039 extern void sysclsInit(void);
00040 extern void sysclsRelease(void);
00041 extern eyedb::Status sysclsSchemaUpdate(eyedb::Database *);
00042 extern eyedb::Status sysclsSchemaUpdate(eyedb::Schema *);
00043 
00044 static eyedb::Class *index_Class = new eyedb::Class("index");
00045 
00046 void syscls::init()
00047 {
00048   sysclsInit();
00049 }
00050 
00051 void syscls::release()
00052 {
00053   sysclsRelease();
00054 }
00055 
00056 eyedb::Status syscls::updateSchema(eyedb::Database *db)
00057 {
00058   return sysclsSchemaUpdate(db);
00059 }
00060 
00061 eyedb::Status syscls::updateSchema(eyedb::Schema *m)
00062 {
00063   return sysclsSchemaUpdate(m);
00064 }
00065 
00066 eyedb::EnumClass *IndexType_Class;
00067 eyedb::EnumClass *ExecutableLang_Class;
00068 eyedb::EnumClass *ArgType_Type_Class;
00069 eyedb::EnumClass *ExecutableLocalisation_Class;
00070 eyedb::EnumClass *ExecutableType_Class;
00071 eyedb::EnumClass *TriggerType_Class;
00072 eyedb::EnumClass *ProtectionMode_Class;
00073 eyedb::EnumClass *ClassUpdateType_Class;
00074 eyedb::EnumClass *AttributeConvertType_Class;
00075 eyedb::StructClass *AttributeComponent_Class;
00076 eyedb::StructClass *AttributeComponentSet_Class;
00077 eyedb::StructClass *ClassComponent_Class;
00078 eyedb::StructClass *AgregatClassComponent_Class;
00079 eyedb::StructClass *ClassVariable_Class;
00080 eyedb::StructClass *Index_Class;
00081 eyedb::StructClass *HashIndex_Class;
00082 eyedb::StructClass *BTreeIndex_Class;
00083 eyedb::StructClass *CollAttrImpl_Class;
00084 eyedb::StructClass *ArgType_Class;
00085 eyedb::StructClass *Signature_Class;
00086 eyedb::StructClass *Executable_Class;
00087 eyedb::StructClass *AgregatClassExecutable_Class;
00088 eyedb::StructClass *Method_Class;
00089 eyedb::StructClass *FEMethod_Class;
00090 eyedb::StructClass *FEMethod_C_Class;
00091 eyedb::StructClass *BEMethod_Class;
00092 eyedb::StructClass *BEMethod_C_Class;
00093 eyedb::StructClass *BEMethod_OQL_Class;
00094 eyedb::StructClass *Trigger_Class;
00095 eyedb::StructClass *UniqueConstraint_Class;
00096 eyedb::StructClass *NotNullConstraint_Class;
00097 eyedb::StructClass *CardinalityDescription_Class;
00098 eyedb::StructClass *CardinalityConstraint_Class;
00099 eyedb::StructClass *CardinalityConstraint_Test_Class;
00100 eyedb::StructClass *ProtectionUser_Class;
00101 eyedb::StructClass *Protection_Class;
00102 eyedb::StructClass *UnreadableObject_Class;
00103 eyedb::StructClass *ClassConversion_Class;
00104 static eyedb::CollSetClass *set_class_AttributeComponent_ref_Class;
00105 
00106 static eyedb::Size IndexType_idr_objsz, IndexType_idr_psize;
00107 
00108 static eyedb::EnumClass *IndexType_make(eyedb::EnumClass *IndexType_class = 0, eyedb::Schema *m = 0)
00109 {
00110   if (!IndexType_class)
00111     return new eyedb::EnumClass("index_type");
00112   eyedb::EnumItem *en[2];
00113   en[0] = new eyedb::EnumItem("HASH_INDEX_TYPE", "HashIndexType", (unsigned int)32);
00114   en[1] = new eyedb::EnumItem("BTREE_INDEX_TYPE", "BTreeIndexType", (unsigned int)64);
00115 
00116   IndexType_class->setEnumItems(en, 2);
00117 
00118   delete en[0];
00119   delete en[1];
00120 
00121   eyedb::ClassPeer::setMType(IndexType_class, eyedb::Class::System);
00122 
00123   return IndexType_class;
00124 }
00125 
00126 static void IndexType_init_p()
00127 {
00128   IndexType_Class = IndexType_make();
00129 }
00130 
00131 static void IndexType_init()
00132 {
00133   IndexType_make(IndexType_Class);
00134 
00135   IndexType_idr_objsz = IndexType_Class->getIDRObjectSize(&IndexType_idr_psize, 0);
00136 
00137   eyedb::ObjectPeer::setUnrealizable(IndexType_Class, eyedb::True);
00138 }
00139 
00140 static eyedb::Size ExecutableLang_idr_objsz, ExecutableLang_idr_psize;
00141 
00142 static eyedb::EnumClass *ExecutableLang_make(eyedb::EnumClass *ExecutableLang_class = 0, eyedb::Schema *m = 0)
00143 {
00144   if (!ExecutableLang_class)
00145     return new eyedb::EnumClass("executable_lang");
00146   eyedb::EnumItem *en[3];
00147   en[0] = new eyedb::EnumItem("C_LANG", "C_LANG", (unsigned int)1);
00148   en[1] = new eyedb::EnumItem("OQL_LANG", "OQL_LANG", (unsigned int)2);
00149   en[2] = new eyedb::EnumItem("SYSTEM_EXEC", "SYSTEM_EXEC", (unsigned int)256);
00150 
00151   ExecutableLang_class->setEnumItems(en, 3);
00152 
00153   delete en[0];
00154   delete en[1];
00155   delete en[2];
00156 
00157   eyedb::ClassPeer::setMType(ExecutableLang_class, eyedb::Class::System);
00158 
00159   return ExecutableLang_class;
00160 }
00161 
00162 static void ExecutableLang_init_p()
00163 {
00164   ExecutableLang_Class = ExecutableLang_make();
00165 }
00166 
00167 static void ExecutableLang_init()
00168 {
00169   ExecutableLang_make(ExecutableLang_Class);
00170 
00171   ExecutableLang_idr_objsz = ExecutableLang_Class->getIDRObjectSize(&ExecutableLang_idr_psize, 0);
00172 
00173   eyedb::ObjectPeer::setUnrealizable(ExecutableLang_Class, eyedb::True);
00174 }
00175 
00176 static eyedb::Size ArgType_Type_idr_objsz, ArgType_Type_idr_psize;
00177 
00178 static eyedb::EnumClass *ArgType_Type_make(eyedb::EnumClass *ArgType_Type_class = 0, eyedb::Schema *m = 0)
00179 {
00180   if (!ArgType_Type_class)
00181     return new eyedb::EnumClass("argtype_type");
00182   eyedb::EnumItem *en[16];
00183   en[0] = new eyedb::EnumItem("ANY_TYPE", "ANY_TYPE", (unsigned int)0);
00184   en[1] = new eyedb::EnumItem("VOID_TYPE", "VOID_TYPE", (unsigned int)1);
00185   en[2] = new eyedb::EnumItem("INT16_TYPE", "INT16_TYPE", (unsigned int)2);
00186   en[3] = new eyedb::EnumItem("INT32_TYPE", "INT32_TYPE", (unsigned int)3);
00187   en[4] = new eyedb::EnumItem("INT64_TYPE", "INT64_TYPE", (unsigned int)4);
00188   en[5] = new eyedb::EnumItem("STRING_TYPE", "STRING_TYPE", (unsigned int)5);
00189   en[6] = new eyedb::EnumItem("CHAR_TYPE", "CHAR_TYPE", (unsigned int)6);
00190   en[7] = new eyedb::EnumItem("FLOAT_TYPE", "FLOAT_TYPE", (unsigned int)7);
00191   en[8] = new eyedb::EnumItem("OID_TYPE", "OID_TYPE", (unsigned int)8);
00192   en[9] = new eyedb::EnumItem("OBJ_TYPE", "OBJ_TYPE", (unsigned int)9);
00193   en[10] = new eyedb::EnumItem("RAW_TYPE", "RAW_TYPE", (unsigned int)10);
00194   en[11] = new eyedb::EnumItem("BYTE_TYPE", "BYTE_TYPE", (unsigned int)11);
00195   en[12] = new eyedb::EnumItem("ARRAY_TYPE", "ARRAY_TYPE", (unsigned int)256);
00196   en[13] = new eyedb::EnumItem("IN_ARG_TYPE", "IN_ARG_TYPE", (unsigned int)4096);
00197   en[14] = new eyedb::EnumItem("OUT_ARG_TYPE", "OUT_ARG_TYPE", (unsigned int)8192);
00198   en[15] = new eyedb::EnumItem("INOUT_ARG_TYPE", "INOUT_ARG_TYPE", (unsigned int)12288);
00199 
00200   ArgType_Type_class->setEnumItems(en, 16);
00201 
00202   delete en[0];
00203   delete en[1];
00204   delete en[2];
00205   delete en[3];
00206   delete en[4];
00207   delete en[5];
00208   delete en[6];
00209   delete en[7];
00210   delete en[8];
00211   delete en[9];
00212   delete en[10];
00213   delete en[11];
00214   delete en[12];
00215   delete en[13];
00216   delete en[14];
00217   delete en[15];
00218 
00219   eyedb::ClassPeer::setMType(ArgType_Type_class, eyedb::Class::System);
00220 
00221   return ArgType_Type_class;
00222 }
00223 
00224 static void ArgType_Type_init_p()
00225 {
00226   ArgType_Type_Class = ArgType_Type_make();
00227 }
00228 
00229 static void ArgType_Type_init()
00230 {
00231   ArgType_Type_make(ArgType_Type_Class);
00232 
00233   ArgType_Type_idr_objsz = ArgType_Type_Class->getIDRObjectSize(&ArgType_Type_idr_psize, 0);
00234 
00235   eyedb::ObjectPeer::setUnrealizable(ArgType_Type_Class, eyedb::True);
00236 }
00237 
00238 static eyedb::Size ExecutableLocalisation_idr_objsz, ExecutableLocalisation_idr_psize;
00239 
00240 static eyedb::EnumClass *ExecutableLocalisation_make(eyedb::EnumClass *ExecutableLocalisation_class = 0, eyedb::Schema *m = 0)
00241 {
00242   if (!ExecutableLocalisation_class)
00243     return new eyedb::EnumClass("executable_localisation");
00244   eyedb::EnumItem *en[3];
00245   en[0] = new eyedb::EnumItem("BACKEND", "BACKEND", (unsigned int)1);
00246   en[1] = new eyedb::EnumItem("FRONTEND", "FRONTEND", (unsigned int)2);
00247   en[2] = new eyedb::EnumItem("STATIC_EXEC", "STATIC_EXEC", (unsigned int)256);
00248 
00249   ExecutableLocalisation_class->setEnumItems(en, 3);
00250 
00251   delete en[0];
00252   delete en[1];
00253   delete en[2];
00254 
00255   eyedb::ClassPeer::setMType(ExecutableLocalisation_class, eyedb::Class::System);
00256 
00257   return ExecutableLocalisation_class;
00258 }
00259 
00260 static void ExecutableLocalisation_init_p()
00261 {
00262   ExecutableLocalisation_Class = ExecutableLocalisation_make();
00263 }
00264 
00265 static void ExecutableLocalisation_init()
00266 {
00267   ExecutableLocalisation_make(ExecutableLocalisation_Class);
00268 
00269   ExecutableLocalisation_idr_objsz = ExecutableLocalisation_Class->getIDRObjectSize(&ExecutableLocalisation_idr_psize, 0);
00270 
00271   eyedb::ObjectPeer::setUnrealizable(ExecutableLocalisation_Class, eyedb::True);
00272 }
00273 
00274 static eyedb::Size ExecutableType_idr_objsz, ExecutableType_idr_psize;
00275 
00276 static eyedb::EnumClass *ExecutableType_make(eyedb::EnumClass *ExecutableType_class = 0, eyedb::Schema *m = 0)
00277 {
00278   if (!ExecutableType_class)
00279     return new eyedb::EnumClass("executable_type");
00280   eyedb::EnumItem *en[4];
00281   en[0] = new eyedb::EnumItem("METHOD_C_TYPE", "METHOD_C_TYPE", (unsigned int)2);
00282   en[1] = new eyedb::EnumItem("METHOD_OQL_TYPE", "METHOD_OQL_TYPE", (unsigned int)18);
00283   en[2] = new eyedb::EnumItem("TRIGGER_C_TYPE", "TRIGGER_C_TYPE", (unsigned int)8);
00284   en[3] = new eyedb::EnumItem("TRIGGER_OQL_TYPE", "TRIGGER_OQL_TYPE", (unsigned int)24);
00285 
00286   ExecutableType_class->setEnumItems(en, 4);
00287 
00288   delete en[0];
00289   delete en[1];
00290   delete en[2];
00291   delete en[3];
00292 
00293   eyedb::ClassPeer::setMType(ExecutableType_class, eyedb::Class::System);
00294 
00295   return ExecutableType_class;
00296 }
00297 
00298 static void ExecutableType_init_p()
00299 {
00300   ExecutableType_Class = ExecutableType_make();
00301 }
00302 
00303 static void ExecutableType_init()
00304 {
00305   ExecutableType_make(ExecutableType_Class);
00306 
00307   ExecutableType_idr_objsz = ExecutableType_Class->getIDRObjectSize(&ExecutableType_idr_psize, 0);
00308 
00309   eyedb::ObjectPeer::setUnrealizable(ExecutableType_Class, eyedb::True);
00310 }
00311 
00312 static eyedb::Size TriggerType_idr_objsz, TriggerType_idr_psize;
00313 
00314 static eyedb::EnumClass *TriggerType_make(eyedb::EnumClass *TriggerType_class = 0, eyedb::Schema *m = 0)
00315 {
00316   if (!TriggerType_class)
00317     return new eyedb::EnumClass("trigger_type");
00318   eyedb::EnumItem *en[8];
00319   en[0] = new eyedb::EnumItem("TRIGGER_CREATE_BEFORE", "TriggerCREATE_BEFORE", (unsigned int)17);
00320   en[1] = new eyedb::EnumItem("TRIGGER_CREATE_AFTER", "TriggerCREATE_AFTER", (unsigned int)18);
00321   en[2] = new eyedb::EnumItem("TRIGGER_UPDATE_BEFORE", "TriggerUPDATE_BEFORE", (unsigned int)33);
00322   en[3] = new eyedb::EnumItem("TRIGGER_UPDATE_AFTER", "TriggerUPDATE_AFTER", (unsigned int)34);
00323   en[4] = new eyedb::EnumItem("TRIGGER_LOAD_BEFORE", "TriggerLOAD_BEFORE", (unsigned int)65);
00324   en[5] = new eyedb::EnumItem("TRIGGER_LOAD_AFTER", "TriggerLOAD_AFTER", (unsigned int)66);
00325   en[6] = new eyedb::EnumItem("TRIGGER_REMOVE_BEFORE", "TriggerREMOVE_BEFORE", (unsigned int)129);
00326   en[7] = new eyedb::EnumItem("TRIGGER_REMOVE_AFTER", "TriggerREMOVE_AFTER", (unsigned int)130);
00327 
00328   TriggerType_class->setEnumItems(en, 8);
00329 
00330   delete en[0];
00331   delete en[1];
00332   delete en[2];
00333   delete en[3];
00334   delete en[4];
00335   delete en[5];
00336   delete en[6];
00337   delete en[7];
00338 
00339   eyedb::ClassPeer::setMType(TriggerType_class, eyedb::Class::System);
00340 
00341   return TriggerType_class;
00342 }
00343 
00344 static void TriggerType_init_p()
00345 {
00346   TriggerType_Class = TriggerType_make();
00347 }
00348 
00349 static void TriggerType_init()
00350 {
00351   TriggerType_make(TriggerType_Class);
00352 
00353   TriggerType_idr_objsz = TriggerType_Class->getIDRObjectSize(&TriggerType_idr_psize, 0);
00354 
00355   eyedb::ObjectPeer::setUnrealizable(TriggerType_Class, eyedb::True);
00356 }
00357 
00358 static eyedb::Size ProtectionMode_idr_objsz, ProtectionMode_idr_psize;
00359 
00360 static eyedb::EnumClass *ProtectionMode_make(eyedb::EnumClass *ProtectionMode_class = 0, eyedb::Schema *m = 0)
00361 {
00362   if (!ProtectionMode_class)
00363     return new eyedb::EnumClass("protection_mode");
00364   eyedb::EnumItem *en[2];
00365   en[0] = new eyedb::EnumItem("PROT_READ", "ProtRead", (unsigned int)256);
00366   en[1] = new eyedb::EnumItem("PROT_RW", "ProtRW", (unsigned int)257);
00367 
00368   ProtectionMode_class->setEnumItems(en, 2);
00369 
00370   delete en[0];
00371   delete en[1];
00372 
00373   eyedb::ClassPeer::setMType(ProtectionMode_class, eyedb::Class::System);
00374 
00375   return ProtectionMode_class;
00376 }
00377 
00378 static void ProtectionMode_init_p()
00379 {
00380   ProtectionMode_Class = ProtectionMode_make();
00381 }
00382 
00383 static void ProtectionMode_init()
00384 {
00385   ProtectionMode_make(ProtectionMode_Class);
00386 
00387   ProtectionMode_idr_objsz = ProtectionMode_Class->getIDRObjectSize(&ProtectionMode_idr_psize, 0);
00388 
00389   eyedb::ObjectPeer::setUnrealizable(ProtectionMode_Class, eyedb::True);
00390 }
00391 
00392 static eyedb::Size ClassUpdateType_idr_objsz, ClassUpdateType_idr_psize;
00393 
00394 static eyedb::EnumClass *ClassUpdateType_make(eyedb::EnumClass *ClassUpdateType_class = 0, eyedb::Schema *m = 0)
00395 {
00396   if (!ClassUpdateType_class)
00397     return new eyedb::EnumClass("class_update_type");
00398   eyedb::EnumItem *en[5];
00399   en[0] = new eyedb::EnumItem("ADD_ATTR", "ADD_ATTR", (unsigned int)0);
00400   en[1] = new eyedb::EnumItem("RMV_ATTR", "RMV_ATTR", (unsigned int)1);
00401   en[2] = new eyedb::EnumItem("CNV_ATTR", "CNV_ATTR", (unsigned int)2);
00402   en[3] = new eyedb::EnumItem("MIG_ATTR", "MIG_ATTR", (unsigned int)3);
00403   en[4] = new eyedb::EnumItem("RMV_CLASS", "RMV_CLASS", (unsigned int)4);
00404 
00405   ClassUpdateType_class->setEnumItems(en, 5);
00406 
00407   delete en[0];
00408   delete en[1];
00409   delete en[2];
00410   delete en[3];
00411   delete en[4];
00412 
00413   eyedb::ClassPeer::setMType(ClassUpdateType_class, eyedb::Class::System);
00414 
00415   return ClassUpdateType_class;
00416 }
00417 
00418 static void ClassUpdateType_init_p()
00419 {
00420   ClassUpdateType_Class = ClassUpdateType_make();
00421 }
00422 
00423 static void ClassUpdateType_init()
00424 {
00425   ClassUpdateType_make(ClassUpdateType_Class);
00426 
00427   ClassUpdateType_idr_objsz = ClassUpdateType_Class->getIDRObjectSize(&ClassUpdateType_idr_psize, 0);
00428 
00429   eyedb::ObjectPeer::setUnrealizable(ClassUpdateType_Class, eyedb::True);
00430 }
00431 
00432 static eyedb::Size AttributeConvertType_idr_objsz, AttributeConvertType_idr_psize;
00433 
00434 static eyedb::EnumClass *AttributeConvertType_make(eyedb::EnumClass *AttributeConvertType_class = 0, eyedb::Schema *m = 0)
00435 {
00436   if (!AttributeConvertType_class)
00437     return new eyedb::EnumClass("attribute_convert_type");
00438   eyedb::EnumItem *en[76];
00439   en[0] = new eyedb::EnumItem("INT16_TO_INT16", "INT16_TO_INT16", (unsigned int)0);
00440   en[1] = new eyedb::EnumItem("INT16_TO_INT32", "INT16_TO_INT32", (unsigned int)1);
00441   en[2] = new eyedb::EnumItem("INT16_TO_INT64", "INT16_TO_INT64", (unsigned int)2);
00442   en[3] = new eyedb::EnumItem("INT16_TO_FLOAT", "INT16_TO_FLOAT", (unsigned int)3);
00443   en[4] = new eyedb::EnumItem("INT16_TO_BYTE", "INT16_TO_BYTE", (unsigned int)4);
00444   en[5] = new eyedb::EnumItem("INT16_TO_CHAR", "INT16_TO_CHAR", (unsigned int)5);
00445   en[6] = new eyedb::EnumItem("INT16_TO_ENUM", "INT16_TO_ENUM", (unsigned int)6);
00446   en[7] = new eyedb::EnumItem("INT32_TO_INT32", "INT32_TO_INT32", (unsigned int)7);
00447   en[8] = new eyedb::EnumItem("INT32_TO_INT16", "INT32_TO_INT16", (unsigned int)8);
00448   en[9] = new eyedb::EnumItem("INT32_TO_INT64", "INT32_TO_INT64", (unsigned int)9);
00449   en[10] = new eyedb::EnumItem("INT32_TO_FLOAT", "INT32_TO_FLOAT", (unsigned int)10);
00450   en[11] = new eyedb::EnumItem("INT32_TO_BYTE", "INT32_TO_BYTE", (unsigned int)11);
00451   en[12] = new eyedb::EnumItem("INT32_TO_CHAR", "INT32_TO_CHAR", (unsigned int)12);
00452   en[13] = new eyedb::EnumItem("INT32_TO_ENUM", "INT32_TO_ENUM", (unsigned int)13);
00453   en[14] = new eyedb::EnumItem("INT64_TO_INT64", "INT64_TO_INT64", (unsigned int)14);
00454   en[15] = new eyedb::EnumItem("INT64_TO_INT16", "INT64_TO_INT16", (unsigned int)15);
00455   en[16] = new eyedb::EnumItem("INT64_TO_INT32", "INT64_TO_INT32", (unsigned int)16);
00456   en[17] = new eyedb::EnumItem("INT64_TO_FLOAT", "INT64_TO_FLOAT", (unsigned int)17);
00457   en[18] = new eyedb::EnumItem("INT64_TO_BYTE", "INT64_TO_BYTE", (unsigned int)18);
00458   en[19] = new eyedb::EnumItem("INT64_TO_CHAR", "INT64_TO_CHAR", (unsigned int)19);
00459   en[20] = new eyedb::EnumItem("INT64_TO_ENUM", "INT64_TO_ENUM", (unsigned int)20);
00460   en[21] = new eyedb::EnumItem("FLOAT_TO_FLOAT", "FLOAT_TO_FLOAT", (unsigned int)21);
00461   en[22] = new eyedb::EnumItem("FLOAT_TO_INT16", "FLOAT_TO_INT16", (unsigned int)22);
00462   en[23] = new eyedb::EnumItem("FLOAT_TO_INT32", "FLOAT_TO_INT32", (unsigned int)23);
00463   en[24] = new eyedb::EnumItem("FLOAT_TO_INT64", "FLOAT_TO_INT64", (unsigned int)24);
00464   en[25] = new eyedb::EnumItem("FLOAT_TO_BYTE", "FLOAT_TO_BYTE", (unsigned int)25);
00465   en[26] = new eyedb::EnumItem("FLOAT_TO_CHAR", "FLOAT_TO_CHAR", (unsigned int)26);
00466   en[27] = new eyedb::EnumItem("FLOAT_TO_ENUM", "FLOAT_TO_ENUM", (unsigned int)27);
00467   en[28] = new eyedb::EnumItem("CHAR_TO_CHAR", "CHAR_TO_CHAR", (unsigned int)28);
00468   en[29] = new eyedb::EnumItem("CHAR_TO_INT16", "CHAR_TO_INT16", (unsigned int)29);
00469   en[30] = new eyedb::EnumItem("CHAR_TO_INT32", "CHAR_TO_INT32", (unsigned int)30);
00470   en[31] = new eyedb::EnumItem("CHAR_TO_INT64", "CHAR_TO_INT64", (unsigned int)31);
00471   en[32] = new eyedb::EnumItem("CHAR_TO_FLOAT", "CHAR_TO_FLOAT", (unsigned int)32);
00472   en[33] = new eyedb::EnumItem("CHAR_TO_BYTE", "CHAR_TO_BYTE", (unsigned int)33);
00473   en[34] = new eyedb::EnumItem("CHAR_TO_ENUM", "CHAR_TO_ENUM", (unsigned int)34);
00474   en[35] = new eyedb::EnumItem("BYTE_TO_BYTE", "BYTE_TO_BYTE", (unsigned int)35);
00475   en[36] = new eyedb::EnumItem("BYTE_TO_INT16", "BYTE_TO_INT16", (unsigned int)36);
00476   en[37] = new eyedb::EnumItem("BYTE_TO_INT32", "BYTE_TO_INT32", (unsigned int)37);
00477   en[38] = new eyedb::EnumItem("BYTE_TO_INT64", "BYTE_TO_INT64", (unsigned int)38);
00478   en[39] = new eyedb::EnumItem("BYTE_TO_FLOAT", "BYTE_TO_FLOAT", (unsigned int)39);
00479   en[40] = new eyedb::EnumItem("BYTE_TO_CHAR", "BYTE_TO_CHAR", (unsigned int)40);
00480   en[41] = new eyedb::EnumItem("BYTE_TO_ENUM", "BYTE_TO_ENUM", (unsigned int)41);
00481   en[42] = new eyedb::EnumItem("ENUM_TO_ENUM", "ENUM_TO_ENUM", (unsigned int)42);
00482   en[43] = new eyedb::EnumItem("ENUM_TO_INT16", "ENUM_TO_INT16", (unsigned int)43);
00483   en[44] = new eyedb::EnumItem("ENUM_TO_INT32", "ENUM_TO_INT32", (unsigned int)44);
00484   en[45] = new eyedb::EnumItem("ENUM_TO_INT64", "ENUM_TO_INT64", (unsigned int)45);
00485   en[46] = new eyedb::EnumItem("ENUM_TO_FLOAT", "ENUM_TO_FLOAT", (unsigned int)46);
00486   en[47] = new eyedb::EnumItem("ENUM_TO_CHAR", "ENUM_TO_CHAR", (unsigned int)47);
00487   en[48] = new eyedb::EnumItem("ENUM_TO_BYTE", "ENUM_TO_BYTE", (unsigned int)48);
00488   en[49] = new eyedb::EnumItem("CHAR_TO_STRING", "CHAR_TO_STRING", (unsigned int)49);
00489   en[50] = new eyedb::EnumItem("STRING_TO_CHAR", "STRING_TO_CHAR", (unsigned int)50);
00490   en[51] = new eyedb::EnumItem("INT16_TO_STRING", "INT16_TO_STRING", (unsigned int)51);
00491   en[52] = new eyedb::EnumItem("STRING_TO_INT16", "STRING_TO_INT16", (unsigned int)52);
00492   en[53] = new eyedb::EnumItem("INT32_TO_STRING", "INT32_TO_STRING", (unsigned int)53);
00493   en[54] = new eyedb::EnumItem("STRING_TO_INT32", "STRING_TO_INT32", (unsigned int)54);
00494   en[55] = new eyedb::EnumItem("INT64_TO_STRING", "INT64_TO_STRING", (unsigned int)55);
00495   en[56] = new eyedb::EnumItem("STRING_TO_INT64", "STRING_TO_INT64", (unsigned int)56);
00496   en[57] = new eyedb::EnumItem("FLOAT_TO_STRING", "FLOAT_TO_STRING", (unsigned int)57);
00497   en[58] = new eyedb::EnumItem("STRING_TO_FLOAT", "STRING_TO_FLOAT", (unsigned int)58);
00498   en[59] = new eyedb::EnumItem("BYTE_TO_STRING", "BYTE_TO_STRING", (unsigned int)59);
00499   en[60] = new eyedb::EnumItem("STRING_TO_BYTE", "STRING_TO_BYTE", (unsigned int)60);
00500   en[61] = new eyedb::EnumItem("SET_TO_BAG", "SET_TO_BAG", (unsigned int)61);
00501   en[62] = new eyedb::EnumItem("SET_TO_ARRAY", "SET_TO_ARRAY", (unsigned int)62);
00502   en[63] = new eyedb::EnumItem("SET_TO_LIST", "SET_TO_LIST", (unsigned int)63);
00503   en[64] = new eyedb::EnumItem("BAG_TO_SET", "BAG_TO_SET", (unsigned int)64);
00504   en[65] = new eyedb::EnumItem("BAG_TO_ARRAY", "BAG_TO_ARRAY", (unsigned int)65);
00505   en[66] = new eyedb::EnumItem("BAG_TO_LIST", "BAG_TO_LIST", (unsigned int)66);
00506   en[67] = new eyedb::EnumItem("ARRAY_TO_BAG", "ARRAY_TO_BAG", (unsigned int)67);
00507   en[68] = new eyedb::EnumItem("ARRAY_TO_SET", "ARRAY_TO_SET", (unsigned int)68);
00508   en[69] = new eyedb::EnumItem("ARRAY_TO_LIST", "ARRAY_TO_LIST", (unsigned int)69);
00509   en[70] = new eyedb::EnumItem("LIST_TO_BAG", "LIST_TO_BAG", (unsigned int)70);
00510   en[71] = new eyedb::EnumItem("LIST_TO_ARRAY", "LIST_TO_ARRAY", (unsigned int)71);
00511   en[72] = new eyedb::EnumItem("LIST_TO_SET", "LIST_TO_SET", (unsigned int)72);
00512   en[73] = new eyedb::EnumItem("CLASS_TO_CLASS", "CLASS_TO_CLASS", (unsigned int)73);
00513   en[74] = new eyedb::EnumItem("USER_CNV", "USER_CNV", (unsigned int)74);
00514   en[75] = new eyedb::EnumItem("NIL_CNV", "NIL_CNV", (unsigned int)75);
00515 
00516   AttributeConvertType_class->setEnumItems(en, 76);
00517 
00518   delete en[0];
00519   delete en[1];
00520   delete en[2];
00521   delete en[3];
00522   delete en[4];
00523   delete en[5];
00524   delete en[6];
00525   delete en[7];
00526   delete en[8];
00527   delete en[9];
00528   delete en[10];
00529   delete en[11];
00530   delete en[12];
00531   delete en[13];
00532   delete en[14];
00533   delete en[15];
00534   delete en[16];
00535   delete en[17];
00536   delete en[18];
00537   delete en[19];
00538   delete en[20];
00539   delete en[21];
00540   delete en[22];
00541   delete en[23];
00542   delete en[24];
00543   delete en[25];
00544   delete en[26];
00545   delete en[27];
00546   delete en[28];
00547   delete en[29];
00548   delete en[30];
00549   delete en[31];
00550   delete en[32];
00551   delete en[33];
00552   delete en[34];
00553   delete en[35];
00554   delete en[36];
00555   delete en[37];
00556   delete en[38];
00557   delete en[39];
00558   delete en[40];
00559   delete en[41];
00560   delete en[42];
00561   delete en[43];
00562   delete en[44];
00563   delete en[45];
00564   delete en[46];
00565   delete en[47];
00566   delete en[48];
00567   delete en[49];
00568   delete en[50];
00569   delete en[51];
00570   delete en[52];
00571   delete en[53];
00572   delete en[54];
00573   delete en[55];
00574   delete en[56];
00575   delete en[57];
00576   delete en[58];
00577   delete en[59];
00578   delete en[60];
00579   delete en[61];
00580   delete en[62];
00581   delete en[63];
00582   delete en[64];
00583   delete en[65];
00584   delete en[66];
00585   delete en[67];
00586   delete en[68];
00587   delete en[69];
00588   delete en[70];
00589   delete en[71];
00590   delete en[72];
00591   delete en[73];
00592   delete en[74];
00593   delete en[75];
00594 
00595   eyedb::ClassPeer::setMType(AttributeConvertType_class, eyedb::Class::System);
00596 
00597   return AttributeConvertType_class;
00598 }
00599 
00600 static void AttributeConvertType_init_p()
00601 {
00602   AttributeConvertType_Class = AttributeConvertType_make();
00603 }
00604 
00605 static void AttributeConvertType_init()
00606 {
00607   AttributeConvertType_make(AttributeConvertType_Class);
00608 
00609   AttributeConvertType_idr_objsz = AttributeConvertType_Class->getIDRObjectSize(&AttributeConvertType_idr_psize, 0);
00610 
00611   eyedb::ObjectPeer::setUnrealizable(AttributeConvertType_Class, eyedb::True);
00612 }
00613 
00614 static const eyedb::Attribute **AttributeComponent_agritems;
00615 static eyedb::Size AttributeComponent_idr_objsz, AttributeComponent_idr_psize;
00616 
00617 static eyedb::StructClass *AttributeComponent_make(eyedb::StructClass *AttributeComponent_class = 0, eyedb::Schema *m = 0)
00618 {
00619   if (!AttributeComponent_class)
00620     return new eyedb::StructClass("attribute_component", (m ? m->getClass("struct") : eyedb::Struct_Class));
00621   eyedb::Attribute *attr[6];
00622   int *dims;
00623 
00624   dims = new int[1];
00625   dims[0] = -1;
00626   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "name", eyedb::False, 1, dims);
00627   delete[] dims;
00628 
00629   dims = new int[1];
00630   dims[0] = -1;
00631   attr[3] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "attrpath", eyedb::False, 1, dims);
00632   delete[] dims;
00633 
00634   dims = 0;
00635   attr[4] = new eyedb::Attribute((m ? m->getClass("class") : eyedb::Class_Class), "class_owner", eyedb::True, 0, dims);
00636 
00637   dims = 0;
00638   attr[5] = new eyedb::Attribute((m ? m->getClass("bool") : eyedb::Bool_Class), "propagate", eyedb::False, 0, dims);
00639 
00640   AttributeComponent_class->setAttributes(&attr[2], 4);
00641 
00642   delete attr[2];
00643   delete attr[3];
00644   delete attr[4];
00645   delete attr[5];
00646 
00647   eyedb::ClassPeer::setMType(AttributeComponent_class, eyedb::Class::System);
00648 
00649   return AttributeComponent_class;
00650 }
00651 
00652 eyedb::Object *AttributeComponent_construct_x(const eyedb::Class *cls, eyedb::Data idr)
00653 {
00654   return new AttributeComponent(cls, idr);
00655 }
00656 
00657 eyedb::Object *AttributeComponent_construct(const eyedb::Object *o, eyedb::Bool share)
00658 {
00659   return new AttributeComponent((const eyedb::Struct *)o, share);
00660 }
00661 
00662 static void AttributeComponent_init_p()
00663 {
00664   AttributeComponent_Class = AttributeComponent_make();
00665   constructors_x[class_ind] = AttributeComponent_construct_x;
00666   constructors[class_ind] = AttributeComponent_construct;
00667   hash->insert("attribute_component", class_ind++);
00668 }
00669 
00670 static void AttributeComponent_init()
00671 {
00672   AttributeComponent_make(AttributeComponent_Class);
00673 
00674   AttributeComponent_agritems = AttributeComponent_Class->getAttributes();
00675   AttributeComponent_idr_objsz = AttributeComponent_Class->getIDRObjectSize(&AttributeComponent_idr_psize, 0);
00676 
00677   eyedb::ObjectPeer::setUnrealizable(AttributeComponent_Class, eyedb::True);
00678 }
00679 
00680 static eyedb::Status AttributeComponent_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
00681 {
00682   return eyedb::Success;
00683 }
00684 
00685 AttributeComponent::AttributeComponent(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
00686 {
00687   initialize(_db);
00688 }
00689 
00690 AttributeComponent::AttributeComponent(const eyedb::Class *_cls, eyedb::Data _idr)
00691 {
00692   setClass((eyedb::Class *)_cls);
00693 
00694   eyedb::Size idr_psize;
00695   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
00696   if (_idr)
00697     idr->setIDR(idr_tsize, _idr);
00698   else
00699     {
00700       idr->setIDR(idr_tsize);
00701       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00702     }
00703   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00704   eyedb::ClassPeer::newObjRealize(getClass(), this);
00705   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00706   userInitialize();
00707 }
00708 
00709 void AttributeComponent::initialize(eyedb::Database *_db)
00710 {
00711   setClass((_db ? _db->getSchema()->getClass("attribute_component") : AttributeComponent_Class));
00712 
00713   eyedb::Size idr_psize;
00714   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
00715   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00716   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00717   eyedb::ClassPeer::newObjRealize(getClass(), this);
00718   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00719   userInitialize();
00720 }
00721 
00722 AttributeComponent::AttributeComponent(const AttributeComponent& x) : eyedb::Struct(x)
00723 {
00724   userCopy(x);
00725 }
00726 
00727 AttributeComponent& AttributeComponent::operator=(const AttributeComponent& x)
00728 {
00729   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
00730   userCopy(x);
00731   return *this;
00732 }
00733 
00734 AttributeComponent::AttributeComponent(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
00735 {
00736   setClass((db ? db->getSchema()->getClass("attribute_component") : AttributeComponent_Class));
00737 
00738   eyedb::Size idr_psize;
00739   getClass()->getIDRObjectSize(&idr_psize);
00740   if (!share)
00741     {
00742       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00743       eyedb::ClassPeer::newObjRealize(getClass(), this);
00744     }
00745 
00746   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00747   userCopy(*x);
00748 }
00749 
00750 AttributeComponent::AttributeComponent(const AttributeComponent *x, eyedb::Bool share) : eyedb::Struct(x, share)
00751 {
00752   setClass((db ? db->getSchema()->getClass("attribute_component") : AttributeComponent_Class));
00753 
00754   eyedb::Size idr_psize;
00755   getClass()->getIDRObjectSize(&idr_psize);
00756   if (!share)
00757     {
00758       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00759       eyedb::ClassPeer::newObjRealize(getClass(), this);
00760     }
00761 
00762   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00763   userCopy(*x);
00764 }
00765 
00766 eyedb::Status AttributeComponent::setName(const std::string &_name)
00767 {
00768   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00769   eyedb::Status status;
00770   eyedb::Size size;
00771   eyedb::Size len = _name.size() + 1;
00772 
00773   status = getClass()->getAttributes()[2]->getSize(this, size);
00774   if (status)
00775     return status;
00776 
00777   if (size != len)
00778     status = getClass()->getAttributes()[2]->setSize(this, len);
00779   if (status)
00780     return status;
00781 
00782   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_name.c_str(), len, 0);
00783   return status;
00784 
00785 }
00786 
00787 eyedb::Status AttributeComponent::setName(unsigned int a0, char _name)
00788 {
00789   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00790   eyedb::Status status;
00791   eyedb::Size from = a0;
00792 
00793   eyedb::Size size;
00794   status = getClass()->getAttributes()[2]->getSize(this, size);
00795   if (status)
00796     return status;
00797 
00798   if (size <= from)
00799     status = getClass()->getAttributes()[2]->setSize(this, from+1);
00800   if (status)
00801     return status;
00802 
00803   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_name, 1, from);
00804   return status;
00805 }
00806 
00807 std::string AttributeComponent::getName(eyedb::Bool *isnull, eyedb::Status *rs) const
00808 {
00809   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00810   eyedb::Data data;
00811   eyedb::Status s;
00812 
00813   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00814   if (s) {if (rs) *rs = s; return 0;}
00815   if (!data) data = nulldata;
00816   return (const char *)data;
00817 }
00818 
00819 char AttributeComponent::getName(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00820 {
00821   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00822   char __tmp = 0;
00823   eyedb::Status s;
00824   eyedb::Size from = a0;
00825 
00826   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00827   if (s) {if (rs) *rs = s; return 0;}
00828   return __tmp;
00829 }
00830 
00831 eyedb::Status AttributeComponent::setAttrpath(const std::string &_attrpath)
00832 {
00833   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00834   eyedb::Status status;
00835   eyedb::Size size;
00836   eyedb::Size len = _attrpath.size() + 1;
00837 
00838   status = getClass()->getAttributes()[3]->getSize(this, size);
00839   if (status)
00840     return status;
00841 
00842   if (size != len)
00843     status = getClass()->getAttributes()[3]->setSize(this, len);
00844   if (status)
00845     return status;
00846 
00847   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)_attrpath.c_str(), len, 0);
00848   return status;
00849 
00850 }
00851 
00852 eyedb::Status AttributeComponent::setAttrpath(unsigned int a0, char _attrpath)
00853 {
00854   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00855   eyedb::Status status;
00856   eyedb::Size from = a0;
00857 
00858   eyedb::Size size;
00859   status = getClass()->getAttributes()[3]->getSize(this, size);
00860   if (status)
00861     return status;
00862 
00863   if (size <= from)
00864     status = getClass()->getAttributes()[3]->setSize(this, from+1);
00865   if (status)
00866     return status;
00867 
00868   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_attrpath, 1, from);
00869   return status;
00870 }
00871 
00872 std::string AttributeComponent::getAttrpath(eyedb::Bool *isnull, eyedb::Status *rs) const
00873 {
00874   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00875   eyedb::Data data;
00876   eyedb::Status s;
00877 
00878   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00879   if (s) {if (rs) *rs = s; return 0;}
00880   if (!data) data = nulldata;
00881   return (const char *)data;
00882 }
00883 
00884 char AttributeComponent::getAttrpath(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00885 {
00886   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00887   char __tmp = 0;
00888   eyedb::Status s;
00889   eyedb::Size from = a0;
00890 
00891   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00892   if (s) {if (rs) *rs = s; return 0;}
00893   return __tmp;
00894 }
00895 
00896 eyedb::Status AttributeComponent::setClassOwner(eyedb::Class*_class_owner)
00897 {
00898   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00899   eyedb::Status status;
00900 
00901   eyedb::Object *_oclass_owner = _class_owner;
00902 
00903   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_oclass_owner, 1, 0);
00904   return status;
00905 }
00906 
00907 const eyedb::Class*AttributeComponent::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) const 
00908 {
00909   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00910   eyedb::Object *__o = 0, *__go;
00911   eyedb::Status s;
00912 
00913   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
00914   if (s) {if (rs) *rs = s; return 0;}
00915 
00916   if (__o)
00917     {
00918      if (eyedb::ObjectPeer::isGRTObject(__o)) {
00919        return (eyedb::Class *)__o;
00920      }
00921      __go = (eyedb::Class *)make_object(__o, eyedb::False);
00922      if (__go)
00923       {
00924        __o = __go;
00925        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
00926        eyedb::ObjectPeer::decrRefCount(__o);
00927        if (s) {if (rs) *rs = s; return 0;}
00928       }
00929      return (eyedb::Class*)__o;
00930     }
00931 
00932   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
00933   if (!__o && db)
00934     {
00935       eyedb::Oid toid;
00936       s = getClass()->getAttributes()[4]->getOid(this, &toid, 1, 0);
00937       if (s) {if (rs) *rs = s; return 0;}
00938       if (toid.isValid())
00939         {
00940           s = db->loadObject(&toid, &__o);
00941           if (s) {if (rs) *rs = s; return 0;}
00942           if (!eyedb::ObjectPeer::isGRTObject(__o))
00943            {
00944              __go = (eyedb::Class *)make_object(__o, eyedb::False);
00945              if (__go) __o = __go;
00946            }
00947         }
00948     }
00949 
00950   if (__o && wasnull)
00951     {
00952      s = getClass()->getAttributes()[4]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
00953      if (s) {if (rs) *rs = s; return 0;}
00954      __o->release();
00955     }
00956   return (eyedb::Class*)__o;
00957 }
00958 
00959 eyedb::Class*AttributeComponent::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) 
00960 {
00961   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00962   eyedb::Object *__o = 0, *__go;
00963   eyedb::Status s;
00964 
00965   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
00966   if (s) {if (rs) *rs = s; return 0;}
00967 
00968   if (__o)
00969     {
00970      if (eyedb::ObjectPeer::isGRTObject(__o)) {
00971        return (eyedb::Class *)__o;
00972      }
00973      __go = (eyedb::Class *)make_object(__o, eyedb::False);
00974      if (__go)
00975       {
00976        __o = __go;
00977        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
00978        eyedb::ObjectPeer::decrRefCount(__o);
00979        if (s) {if (rs) *rs = s; return 0;}
00980       }
00981      return (eyedb::Class*)__o;
00982     }
00983 
00984   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
00985   if (!__o && db)
00986     {
00987       eyedb::Oid toid;
00988       s = getClass()->getAttributes()[4]->getOid(this, &toid, 1, 0);
00989       if (s) {if (rs) *rs = s; return 0;}
00990       if (toid.isValid())
00991         {
00992           s = db->loadObject(&toid, &__o);
00993           if (s) {if (rs) *rs = s; return 0;}
00994           if (!eyedb::ObjectPeer::isGRTObject(__o))
00995            {
00996              __go = (eyedb::Class *)make_object(__o, eyedb::False);
00997              if (__go) __o = __go;
00998            }
00999         }
01000     }
01001 
01002   if (__o && wasnull)
01003     {
01004      s = getClass()->getAttributes()[4]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
01005      if (s) {if (rs) *rs = s; return 0;}
01006      __o->release();
01007     }
01008   return (eyedb::Class*)__o;
01009 }
01010 
01011 eyedb::Status AttributeComponent::setClassOwnerOid(const eyedb::Oid &_oid)
01012 {
01013   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01014   eyedb::Status status;
01015 
01016   status = getClass()->getAttributes()[4]->setOid(this, &_oid, 1, 0, oid_check);
01017   return status;
01018 }
01019 
01020 eyedb::Oid AttributeComponent::getClassOwnerOid(eyedb::Status *rs) const
01021 {
01022   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01023   eyedb::Oid __tmp;
01024   eyedb::Status s;
01025 
01026   s = getClass()->getAttributes()[4]->getOid(this, &__tmp, 1, 0);
01027   if (s) {if (rs) *rs = s; return nulloid;}
01028 
01029   return __tmp;
01030 }
01031 
01032 eyedb::Status AttributeComponent::setPropagate(eyedb::Bool _propagate, eyedb::Bool _check_value)
01033 {
01034   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01035   eyedb::Status status;
01036   eyedblib::int32 __tmp = _propagate;
01037 
01038   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
01039   return status;
01040 }
01041 
01042 eyedb::Bool AttributeComponent::getPropagate(eyedb::Bool *isnull, eyedb::Status *rs) const
01043 {
01044   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01045   eyedblib::int32  __tmp = 0;
01046   eyedb::Status s;
01047 
01048   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
01049   if (s) {if (rs) *rs = s; return (eyedb::Bool)0;}
01050   return (eyedb::Bool)__tmp;
01051 }
01052 
01053 static const eyedb::Attribute **AttributeComponentSet_agritems;
01054 static eyedb::Size AttributeComponentSet_idr_objsz, AttributeComponentSet_idr_psize;
01055 
01056 static eyedb::StructClass *AttributeComponentSet_make(eyedb::StructClass *AttributeComponentSet_class = 0, eyedb::Schema *m = 0)
01057 {
01058   if (!AttributeComponentSet_class)
01059     return new eyedb::StructClass("attribute_component_set", (m ? m->getClass("struct") : eyedb::Struct_Class));
01060   eyedb::Attribute *attr[5];
01061   int *dims;
01062 
01063   dims = new int[1];
01064   dims[0] = -1;
01065   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "attrname", eyedb::False, 1, dims);
01066   delete[] dims;
01067 
01068   dims = 0;
01069   attr[3] = new eyedb::Attribute((m ? m->getClass("set<attribute_component*>") : set_class_AttributeComponent_ref_Class), "comps", eyedb::False, 0, dims);
01070 
01071   dims = 0;
01072   attr[4] = new eyedb::Attribute((m ? m->getClass("class") : eyedb::Class_Class), "class_owner", eyedb::True, 0, dims);
01073 
01074   AttributeComponentSet_class->setAttributes(&attr[2], 3);
01075 
01076   delete attr[2];
01077   delete attr[3];
01078   delete attr[4];
01079 
01080   eyedb::ClassPeer::setMType(AttributeComponentSet_class, eyedb::Class::System);
01081 
01082   return AttributeComponentSet_class;
01083 }
01084 
01085 eyedb::Object *AttributeComponentSet_construct_x(const eyedb::Class *cls, eyedb::Data idr)
01086 {
01087   return new AttributeComponentSet(cls, idr);
01088 }
01089 
01090 eyedb::Object *AttributeComponentSet_construct(const eyedb::Object *o, eyedb::Bool share)
01091 {
01092   return new AttributeComponentSet((const eyedb::Struct *)o, share);
01093 }
01094 
01095 static void AttributeComponentSet_init_p()
01096 {
01097   AttributeComponentSet_Class = AttributeComponentSet_make();
01098   constructors_x[class_ind] = AttributeComponentSet_construct_x;
01099   constructors[class_ind] = AttributeComponentSet_construct;
01100   hash->insert("attribute_component_set", class_ind++);
01101 }
01102 
01103 static void AttributeComponentSet_init()
01104 {
01105   AttributeComponentSet_make(AttributeComponentSet_Class);
01106 
01107   AttributeComponentSet_agritems = AttributeComponentSet_Class->getAttributes();
01108   AttributeComponentSet_idr_objsz = AttributeComponentSet_Class->getIDRObjectSize(&AttributeComponentSet_idr_psize, 0);
01109 
01110   eyedb::ObjectPeer::setUnrealizable(AttributeComponentSet_Class, eyedb::True);
01111 }
01112 
01113 static eyedb::Status AttributeComponentSet_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
01114 {
01115   return eyedb::Success;
01116 }
01117 
01118 AttributeComponentSet::AttributeComponentSet(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
01119 {
01120   initialize(_db);
01121 }
01122 
01123 AttributeComponentSet::AttributeComponentSet(const eyedb::Class *_cls, eyedb::Data _idr)
01124 {
01125   setClass((eyedb::Class *)_cls);
01126 
01127   eyedb::Size idr_psize;
01128   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
01129   if (_idr)
01130     idr->setIDR(idr_tsize, _idr);
01131   else
01132     {
01133       idr->setIDR(idr_tsize);
01134       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01135     }
01136   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01137   eyedb::ClassPeer::newObjRealize(getClass(), this);
01138   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01139   userInitialize();
01140 }
01141 
01142 void AttributeComponentSet::initialize(eyedb::Database *_db)
01143 {
01144   setClass((_db ? _db->getSchema()->getClass("attribute_component_set") : AttributeComponentSet_Class));
01145 
01146   eyedb::Size idr_psize;
01147   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
01148   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01149   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01150   eyedb::ClassPeer::newObjRealize(getClass(), this);
01151   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01152   userInitialize();
01153 }
01154 
01155 AttributeComponentSet::AttributeComponentSet(const AttributeComponentSet& x) : eyedb::Struct(x)
01156 {
01157   userCopy(x);
01158 }
01159 
01160 AttributeComponentSet& AttributeComponentSet::operator=(const AttributeComponentSet& x)
01161 {
01162   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
01163   userCopy(x);
01164   return *this;
01165 }
01166 
01167 AttributeComponentSet::AttributeComponentSet(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
01168 {
01169   setClass((db ? db->getSchema()->getClass("attribute_component_set") : AttributeComponentSet_Class));
01170 
01171   eyedb::Size idr_psize;
01172   getClass()->getIDRObjectSize(&idr_psize);
01173   if (!share)
01174     {
01175       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01176       eyedb::ClassPeer::newObjRealize(getClass(), this);
01177     }
01178 
01179   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01180   userCopy(*x);
01181 }
01182 
01183 AttributeComponentSet::AttributeComponentSet(const AttributeComponentSet *x, eyedb::Bool share) : eyedb::Struct(x, share)
01184 {
01185   setClass((db ? db->getSchema()->getClass("attribute_component_set") : AttributeComponentSet_Class));
01186 
01187   eyedb::Size idr_psize;
01188   getClass()->getIDRObjectSize(&idr_psize);
01189   if (!share)
01190     {
01191       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01192       eyedb::ClassPeer::newObjRealize(getClass(), this);
01193     }
01194 
01195   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01196   userCopy(*x);
01197 }
01198 
01199 eyedb::Status AttributeComponentSet::setAttrname(const std::string &_attrname)
01200 {
01201   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01202   eyedb::Status status;
01203   eyedb::Size size;
01204   eyedb::Size len = _attrname.size() + 1;
01205 
01206   status = getClass()->getAttributes()[2]->getSize(this, size);
01207   if (status)
01208     return status;
01209 
01210   if (size != len)
01211     status = getClass()->getAttributes()[2]->setSize(this, len);
01212   if (status)
01213     return status;
01214 
01215   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_attrname.c_str(), len, 0);
01216   return status;
01217 
01218 }
01219 
01220 eyedb::Status AttributeComponentSet::setAttrname(unsigned int a0, char _attrname)
01221 {
01222   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01223   eyedb::Status status;
01224   eyedb::Size from = a0;
01225 
01226   eyedb::Size size;
01227   status = getClass()->getAttributes()[2]->getSize(this, size);
01228   if (status)
01229     return status;
01230 
01231   if (size <= from)
01232     status = getClass()->getAttributes()[2]->setSize(this, from+1);
01233   if (status)
01234     return status;
01235 
01236   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_attrname, 1, from);
01237   return status;
01238 }
01239 
01240 std::string AttributeComponentSet::getAttrname(eyedb::Bool *isnull, eyedb::Status *rs) const
01241 {
01242   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01243   eyedb::Data data;
01244   eyedb::Status s;
01245 
01246   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
01247   if (s) {if (rs) *rs = s; return 0;}
01248   if (!data) data = nulldata;
01249   return (const char *)data;
01250 }
01251 
01252 char AttributeComponentSet::getAttrname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
01253 {
01254   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01255   char __tmp = 0;
01256   eyedb::Status s;
01257   eyedb::Size from = a0;
01258 
01259   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
01260   if (s) {if (rs) *rs = s; return 0;}
01261   return __tmp;
01262 }
01263 
01264 eyedb::Status AttributeComponentSet::setCompsColl(eyedb::CollSet*_comps)
01265 {
01266   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01267   eyedb::Status status;
01268 
01269   eyedb::Object *_ocomps = _comps;
01270 
01271   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_ocomps, 1, 0);
01272   return status;
01273 }
01274 
01275 const eyedb::CollSet*AttributeComponentSet::getCompsColl(eyedb::Bool *isnull, eyedb::Status *rs) const 
01276 {
01277   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01278   eyedb::Object *__o = 0, *__go;
01279   eyedb::Status s;
01280 
01281   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01282   if (s) {if (rs) *rs = s; return 0;}
01283   return (eyedb::CollSet*)__o;
01284 }
01285 
01286 eyedb::CollSet*AttributeComponentSet::getCompsColl(eyedb::Bool *isnull, eyedb::Status *rs) 
01287 {
01288   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01289   eyedb::Object *__o = 0, *__go;
01290   eyedb::Status s;
01291 
01292   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01293   if (s) {if (rs) *rs = s; return 0;}
01294   return (eyedb::CollSet*)__o;
01295 }
01296 
01297 eyedb::Status AttributeComponentSet::addToCompsColl(AttributeComponent*_comps, eyedb::Bool noDup, const eyedb::IndexImpl *idximpl)
01298 {
01299   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01300   eyedb::Status status;
01301   eyedb::CollSet *_coll;
01302   eyedb::Bool _not_set = eyedb::False;
01303   eyedb::Size from = 0;
01304 
01305   status = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&_coll, 1, from);
01306   if (status)
01307     return status;
01308 
01309   if (!_coll)
01310     {
01311      _not_set = eyedb::True;
01312      eyedb::Oid _coll_oid;
01313      status = getClass()->getAttributes()[3]->getOid(this, &_coll_oid, 1, from);
01314      if (status)
01315       return status;
01316 
01317      if (_coll_oid.isValid())
01318        {
01319        status = db->loadObject(&_coll_oid, (eyedb::Object **)&_coll);
01320        if (status)
01321         return status;
01322        }
01323      else
01324        {
01325          _coll = new eyedb::CollSet(db, "", db->getSchema()->getClass("attribute_component"), eyedb::True, idximpl);
01326        }
01327     }
01328 
01329   status = _coll->insert(_comps, noDup);
01330   if (status || !_not_set)
01331     return status;
01332 
01333 
01334   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_coll, 1, from);
01335      _coll->release();
01336 
01337   return status;
01338 }
01339 
01340 eyedb::Status AttributeComponentSet::addToCompsColl(const eyedb::Oid &_oid, const eyedb::IndexImpl *idximpl)
01341 {
01342   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01343   eyedb::Status status;
01344   eyedb::CollSet *_coll;
01345   eyedb::Bool _not_set = eyedb::False;
01346   eyedb::Size from = 0;
01347 
01348   status = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&_coll, 1, from);
01349   if (status)
01350     return status;
01351 
01352   if (!_coll)
01353     {
01354      _not_set = eyedb::True;
01355      eyedb::Oid _coll_oid;
01356      status = getClass()->getAttributes()[3]->getOid(this, &_coll_oid, 1, from);
01357      if (status)
01358       return status;
01359 
01360      if (_coll_oid.isValid())
01361        {
01362        status = db->loadObject(&_coll_oid, (eyedb::Object **)&_coll);
01363        if (status)
01364         return status;
01365        }
01366      else
01367        {
01368          _coll = new eyedb::CollSet(db, "", db->getSchema()->getClass("attribute_component"), eyedb::True, idximpl);
01369        }
01370     }
01371 
01372   status = _coll->insert(_oid);
01373   if (status || !_not_set)
01374     return status;
01375 
01376 
01377   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_coll, 1, from);
01378      _coll->release();
01379 
01380   return status;
01381 }
01382 
01383 eyedb::Status AttributeComponentSet::rmvFromCompsColl(AttributeComponent*_comps, eyedb::Bool checkFirst)
01384 {
01385   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01386   eyedb::Status status;
01387   eyedb::CollSet *_coll;
01388   eyedb::Bool _not_set = eyedb::False;
01389   eyedb::Size from = 0;
01390 
01391   status = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&_coll, 1, from);
01392   if (status)
01393     return status;
01394 
01395   if (!_coll)
01396     {
01397      _not_set = eyedb::True;
01398      eyedb::Oid _coll_oid;
01399      status = getClass()->getAttributes()[3]->getOid(this, &_coll_oid, 1, from);
01400      if (status)
01401       return status;
01402 
01403      if (_coll_oid.isValid())
01404        {
01405        status = db->loadObject(&_coll_oid, (eyedb::Object **)&_coll);
01406        if (status)
01407         return status;
01408        }
01409      else
01410         return eyedb::Exception::make(eyedb::IDB_ERROR, "no valid collection in attribute AttributeComponentSet::comps");
01411 
01412     }
01413 
01414   status = _coll->suppress(_comps, checkFirst);
01415   if (status || !_not_set)
01416     return status;
01417 
01418 
01419   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_coll, 1, from);
01420      _coll->release();
01421 
01422   return status;
01423 }
01424 
01425 eyedb::Status AttributeComponentSet::rmvFromCompsColl(const eyedb::Oid &_oid)
01426 {
01427   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01428   eyedb::Status status;
01429   eyedb::CollSet *_coll;
01430   eyedb::Bool _not_set = eyedb::False;
01431   eyedb::Size from = 0;
01432 
01433   status = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&_coll, 1, from);
01434   if (status)
01435     return status;
01436 
01437   if (!_coll)
01438     {
01439      _not_set = eyedb::True;
01440      eyedb::Oid _coll_oid;
01441      status = getClass()->getAttributes()[3]->getOid(this, &_coll_oid, 1, from);
01442      if (status)
01443       return status;
01444 
01445      if (_coll_oid.isValid())
01446        {
01447        status = db->loadObject(&_coll_oid, (eyedb::Object **)&_coll);
01448        if (status)
01449         return status;
01450        }
01451      else
01452         return eyedb::Exception::make(eyedb::IDB_ERROR, "no valid collection in attribute AttributeComponentSet::comps");
01453 
01454     }
01455 
01456   status = _coll->suppress(_oid);
01457   if (status || !_not_set)
01458     return status;
01459 
01460 
01461   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_coll, 1, from);
01462      _coll->release();
01463 
01464   return status;
01465 }
01466 
01467 eyedb::Status AttributeComponentSet::setClassOwner(eyedb::Class*_class_owner)
01468 {
01469   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01470   eyedb::Status status;
01471 
01472   eyedb::Object *_oclass_owner = _class_owner;
01473 
01474   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_oclass_owner, 1, 0);
01475   return status;
01476 }
01477 
01478 const eyedb::Class*AttributeComponentSet::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) const 
01479 {
01480   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01481   eyedb::Object *__o = 0, *__go;
01482   eyedb::Status s;
01483 
01484   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01485   if (s) {if (rs) *rs = s; return 0;}
01486 
01487   if (__o)
01488     {
01489      if (eyedb::ObjectPeer::isGRTObject(__o)) {
01490        return (eyedb::Class *)__o;
01491      }
01492      __go = (eyedb::Class *)make_object(__o, eyedb::False);
01493      if (__go)
01494       {
01495        __o = __go;
01496        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
01497        eyedb::ObjectPeer::decrRefCount(__o);
01498        if (s) {if (rs) *rs = s; return 0;}
01499       }
01500      return (eyedb::Class*)__o;
01501     }
01502 
01503   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
01504   if (!__o && db)
01505     {
01506       eyedb::Oid toid;
01507       s = getClass()->getAttributes()[4]->getOid(this, &toid, 1, 0);
01508       if (s) {if (rs) *rs = s; return 0;}
01509       if (toid.isValid())
01510         {
01511           s = db->loadObject(&toid, &__o);
01512           if (s) {if (rs) *rs = s; return 0;}
01513           if (!eyedb::ObjectPeer::isGRTObject(__o))
01514            {
01515              __go = (eyedb::Class *)make_object(__o, eyedb::False);
01516              if (__go) __o = __go;
01517            }
01518         }
01519     }
01520 
01521   if (__o && wasnull)
01522     {
01523      s = getClass()->getAttributes()[4]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
01524      if (s) {if (rs) *rs = s; return 0;}
01525      __o->release();
01526     }
01527   return (eyedb::Class*)__o;
01528 }
01529 
01530 eyedb::Class*AttributeComponentSet::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) 
01531 {
01532   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01533   eyedb::Object *__o = 0, *__go;
01534   eyedb::Status s;
01535 
01536   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01537   if (s) {if (rs) *rs = s; return 0;}
01538 
01539   if (__o)
01540     {
01541      if (eyedb::ObjectPeer::isGRTObject(__o)) {
01542        return (eyedb::Class *)__o;
01543      }
01544      __go = (eyedb::Class *)make_object(__o, eyedb::False);
01545      if (__go)
01546       {
01547        __o = __go;
01548        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
01549        eyedb::ObjectPeer::decrRefCount(__o);
01550        if (s) {if (rs) *rs = s; return 0;}
01551       }
01552      return (eyedb::Class*)__o;
01553     }
01554 
01555   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
01556   if (!__o && db)
01557     {
01558       eyedb::Oid toid;
01559       s = getClass()->getAttributes()[4]->getOid(this, &toid, 1, 0);
01560       if (s) {if (rs) *rs = s; return 0;}
01561       if (toid.isValid())
01562         {
01563           s = db->loadObject(&toid, &__o);
01564           if (s) {if (rs) *rs = s; return 0;}
01565           if (!eyedb::ObjectPeer::isGRTObject(__o))
01566            {
01567              __go = (eyedb::Class *)make_object(__o, eyedb::False);
01568              if (__go) __o = __go;
01569            }
01570         }
01571     }
01572 
01573   if (__o && wasnull)
01574     {
01575      s = getClass()->getAttributes()[4]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
01576      if (s) {if (rs) *rs = s; return 0;}
01577      __o->release();
01578     }
01579   return (eyedb::Class*)__o;
01580 }
01581 
01582 eyedb::Status AttributeComponentSet::setClassOwnerOid(const eyedb::Oid &_oid)
01583 {
01584   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01585   eyedb::Status status;
01586 
01587   status = getClass()->getAttributes()[4]->setOid(this, &_oid, 1, 0, oid_check);
01588   return status;
01589 }
01590 
01591 eyedb::Oid AttributeComponentSet::getClassOwnerOid(eyedb::Status *rs) const
01592 {
01593   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01594   eyedb::Oid __tmp;
01595   eyedb::Status s;
01596 
01597   s = getClass()->getAttributes()[4]->getOid(this, &__tmp, 1, 0);
01598   if (s) {if (rs) *rs = s; return nulloid;}
01599 
01600   return __tmp;
01601 }
01602 
01603 static const eyedb::Attribute **ClassComponent_agritems;
01604 static eyedb::Size ClassComponent_idr_objsz, ClassComponent_idr_psize;
01605 
01606 static eyedb::StructClass *ClassComponent_make(eyedb::StructClass *ClassComponent_class = 0, eyedb::Schema *m = 0)
01607 {
01608   if (!ClassComponent_class)
01609     return new eyedb::StructClass("class_component", (m ? m->getClass("struct") : eyedb::Struct_Class));
01610   eyedb::Attribute *attr[4];
01611   int *dims;
01612 
01613   dims = 0;
01614   attr[2] = new eyedb::Attribute((m ? m->getClass("class") : eyedb::Class_Class), "class_owner", eyedb::True, 0, dims);
01615 
01616   dims = new int[1];
01617   dims[0] = -1;
01618   attr[3] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "name", eyedb::False, 1, dims);
01619   delete[] dims;
01620 
01621   ClassComponent_class->setAttributes(&attr[2], 2);
01622 
01623   delete attr[2];
01624   delete attr[3];
01625 
01626   eyedb::ClassPeer::setMType(ClassComponent_class, eyedb::Class::System);
01627 
01628   return ClassComponent_class;
01629 }
01630 
01631 eyedb::Object *ClassComponent_construct_x(const eyedb::Class *cls, eyedb::Data idr)
01632 {
01633   return new ClassComponent(cls, idr);
01634 }
01635 
01636 eyedb::Object *ClassComponent_construct(const eyedb::Object *o, eyedb::Bool share)
01637 {
01638   return new ClassComponent((const eyedb::Struct *)o, share);
01639 }
01640 
01641 static void ClassComponent_init_p()
01642 {
01643   ClassComponent_Class = ClassComponent_make();
01644   constructors_x[class_ind] = ClassComponent_construct_x;
01645   constructors[class_ind] = ClassComponent_construct;
01646   hash->insert("class_component", class_ind++);
01647 }
01648 
01649 static void ClassComponent_init()
01650 {
01651   ClassComponent_make(ClassComponent_Class);
01652 
01653   ClassComponent_agritems = ClassComponent_Class->getAttributes();
01654   ClassComponent_idr_objsz = ClassComponent_Class->getIDRObjectSize(&ClassComponent_idr_psize, 0);
01655 
01656   eyedb::ObjectPeer::setUnrealizable(ClassComponent_Class, eyedb::True);
01657 }
01658 
01659 static eyedb::Status ClassComponent_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
01660 {
01661   return eyedb::Success;
01662 }
01663 
01664 ClassComponent::ClassComponent(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
01665 {
01666   initialize(_db);
01667 }
01668 
01669 ClassComponent::ClassComponent(const eyedb::Class *_cls, eyedb::Data _idr)
01670 {
01671   setClass((eyedb::Class *)_cls);
01672 
01673   eyedb::Size idr_psize;
01674   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
01675   if (_idr)
01676     idr->setIDR(idr_tsize, _idr);
01677   else
01678     {
01679       idr->setIDR(idr_tsize);
01680       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01681     }
01682   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01683   eyedb::ClassPeer::newObjRealize(getClass(), this);
01684   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01685   userInitialize();
01686 }
01687 
01688 void ClassComponent::initialize(eyedb::Database *_db)
01689 {
01690   setClass((_db ? _db->getSchema()->getClass("class_component") : ClassComponent_Class));
01691 
01692   eyedb::Size idr_psize;
01693   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
01694   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01695   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01696   eyedb::ClassPeer::newObjRealize(getClass(), this);
01697   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01698   userInitialize();
01699 }
01700 
01701 ClassComponent::ClassComponent(const ClassComponent& x) : eyedb::Struct(x)
01702 {
01703   userCopy(x);
01704 }
01705 
01706 ClassComponent& ClassComponent::operator=(const ClassComponent& x)
01707 {
01708   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
01709   userCopy(x);
01710   return *this;
01711 }
01712 
01713 ClassComponent::ClassComponent(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
01714 {
01715   setClass((db ? db->getSchema()->getClass("class_component") : ClassComponent_Class));
01716 
01717   eyedb::Size idr_psize;
01718   getClass()->getIDRObjectSize(&idr_psize);
01719   if (!share)
01720     {
01721       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01722       eyedb::ClassPeer::newObjRealize(getClass(), this);
01723     }
01724 
01725   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01726   userCopy(*x);
01727 }
01728 
01729 ClassComponent::ClassComponent(const ClassComponent *x, eyedb::Bool share) : eyedb::Struct(x, share)
01730 {
01731   setClass((db ? db->getSchema()->getClass("class_component") : ClassComponent_Class));
01732 
01733   eyedb::Size idr_psize;
01734   getClass()->getIDRObjectSize(&idr_psize);
01735   if (!share)
01736     {
01737       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01738       eyedb::ClassPeer::newObjRealize(getClass(), this);
01739     }
01740 
01741   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01742   userCopy(*x);
01743 }
01744 
01745 eyedb::Status ClassComponent::setClassOwner(eyedb::Class*_class_owner)
01746 {
01747   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01748   eyedb::Status status;
01749 
01750   eyedb::Object *_oclass_owner = _class_owner;
01751 
01752   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_oclass_owner, 1, 0);
01753   return status;
01754 }
01755 
01756 const eyedb::Class*ClassComponent::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) const 
01757 {
01758   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01759   eyedb::Object *__o = 0, *__go;
01760   eyedb::Status s;
01761 
01762   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01763   if (s) {if (rs) *rs = s; return 0;}
01764 
01765   if (__o)
01766     {
01767      if (eyedb::ObjectPeer::isGRTObject(__o)) {
01768        return (eyedb::Class *)__o;
01769      }
01770      __go = (eyedb::Class *)make_object(__o, eyedb::False);
01771      if (__go)
01772       {
01773        __o = __go;
01774        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
01775        eyedb::ObjectPeer::decrRefCount(__o);
01776        if (s) {if (rs) *rs = s; return 0;}
01777       }
01778      return (eyedb::Class*)__o;
01779     }
01780 
01781   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
01782   if (!__o && db)
01783     {
01784       eyedb::Oid toid;
01785       s = getClass()->getAttributes()[2]->getOid(this, &toid, 1, 0);
01786       if (s) {if (rs) *rs = s; return 0;}
01787       if (toid.isValid())
01788         {
01789           s = db->loadObject(&toid, &__o);
01790           if (s) {if (rs) *rs = s; return 0;}
01791           if (!eyedb::ObjectPeer::isGRTObject(__o))
01792            {
01793              __go = (eyedb::Class *)make_object(__o, eyedb::False);
01794              if (__go) __o = __go;
01795            }
01796         }
01797     }
01798 
01799   if (__o && wasnull)
01800     {
01801      s = getClass()->getAttributes()[2]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
01802      if (s) {if (rs) *rs = s; return 0;}
01803      __o->release();
01804     }
01805   return (eyedb::Class*)__o;
01806 }
01807 
01808 eyedb::Class*ClassComponent::getClassOwner(eyedb::Bool *isnull, eyedb::Status *rs) 
01809 {
01810   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01811   eyedb::Object *__o = 0, *__go;
01812   eyedb::Status s;
01813 
01814   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
01815   if (s) {if (rs) *rs = s; return 0;}
01816 
01817   if (__o)
01818     {
01819      if (eyedb::ObjectPeer::isGRTObject(__o)) {
01820        return (eyedb::Class *)__o;
01821      }
01822      __go = (eyedb::Class *)make_object(__o, eyedb::False);
01823      if (__go)
01824       {
01825        __o = __go;
01826        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
01827        eyedb::ObjectPeer::decrRefCount(__o);
01828        if (s) {if (rs) *rs = s; return 0;}
01829       }
01830      return (eyedb::Class*)__o;
01831     }
01832 
01833   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
01834   if (!__o && db)
01835     {
01836       eyedb::Oid toid;
01837       s = getClass()->getAttributes()[2]->getOid(this, &toid, 1, 0);
01838       if (s) {if (rs) *rs = s; return 0;}
01839       if (toid.isValid())
01840         {
01841           s = db->loadObject(&toid, &__o);
01842           if (s) {if (rs) *rs = s; return 0;}
01843           if (!eyedb::ObjectPeer::isGRTObject(__o))
01844            {
01845              __go = (eyedb::Class *)make_object(__o, eyedb::False);
01846              if (__go) __o = __go;
01847            }
01848         }
01849     }
01850 
01851   if (__o && wasnull)
01852     {
01853      s = getClass()->getAttributes()[2]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
01854      if (s) {if (rs) *rs = s; return 0;}
01855      __o->release();
01856     }
01857   return (eyedb::Class*)__o;
01858 }
01859 
01860 eyedb::Status ClassComponent::setClassOwnerOid(const eyedb::Oid &_oid)
01861 {
01862   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01863   eyedb::Status status;
01864 
01865   status = getClass()->getAttributes()[2]->setOid(this, &_oid, 1, 0, oid_check);
01866   return status;
01867 }
01868 
01869 eyedb::Oid ClassComponent::getClassOwnerOid(eyedb::Status *rs) const
01870 {
01871   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01872   eyedb::Oid __tmp;
01873   eyedb::Status s;
01874 
01875   s = getClass()->getAttributes()[2]->getOid(this, &__tmp, 1, 0);
01876   if (s) {if (rs) *rs = s; return nulloid;}
01877 
01878   return __tmp;
01879 }
01880 
01881 eyedb::Status ClassComponent::setName(const std::string &_name)
01882 {
01883   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01884   eyedb::Status status;
01885   eyedb::Size size;
01886   eyedb::Size len = _name.size() + 1;
01887 
01888   status = getClass()->getAttributes()[3]->getSize(this, size);
01889   if (status)
01890     return status;
01891 
01892   if (size != len)
01893     status = getClass()->getAttributes()[3]->setSize(this, len);
01894   if (status)
01895     return status;
01896 
01897   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)_name.c_str(), len, 0);
01898   return status;
01899 
01900 }
01901 
01902 eyedb::Status ClassComponent::setName(unsigned int a0, char _name)
01903 {
01904   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01905   eyedb::Status status;
01906   eyedb::Size from = a0;
01907 
01908   eyedb::Size size;
01909   status = getClass()->getAttributes()[3]->getSize(this, size);
01910   if (status)
01911     return status;
01912 
01913   if (size <= from)
01914     status = getClass()->getAttributes()[3]->setSize(this, from+1);
01915   if (status)
01916     return status;
01917 
01918   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_name, 1, from);
01919   return status;
01920 }
01921 
01922 std::string ClassComponent::getName(eyedb::Bool *isnull, eyedb::Status *rs) const
01923 {
01924   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01925   eyedb::Data data;
01926   eyedb::Status s;
01927 
01928   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
01929   if (s) {if (rs) *rs = s; return 0;}
01930   if (!data) data = nulldata;
01931   return (const char *)data;
01932 }
01933 
01934 char ClassComponent::getName(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
01935 {
01936   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01937   char __tmp = 0;
01938   eyedb::Status s;
01939   eyedb::Size from = a0;
01940 
01941   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
01942   if (s) {if (rs) *rs = s; return 0;}
01943   return __tmp;
01944 }
01945 
01946 static const eyedb::Attribute **AgregatClassComponent_agritems;
01947 static eyedb::Size AgregatClassComponent_idr_objsz, AgregatClassComponent_idr_psize;
01948 
01949 static eyedb::StructClass *AgregatClassComponent_make(eyedb::StructClass *AgregatClassComponent_class = 0, eyedb::Schema *m = 0)
01950 {
01951   if (!AgregatClassComponent_class)
01952     return new eyedb::StructClass("agregat_class_component", (m ? m->getClass("class_component") : ClassComponent_Class));
01953   eyedb::Attribute *attr[4];
01954 
01955   AgregatClassComponent_class->setAttributes(&attr[4], 0);
01956 
01957 
01958   eyedb::ClassPeer::setMType(AgregatClassComponent_class, eyedb::Class::System);
01959 
01960   return AgregatClassComponent_class;
01961 }
01962 
01963 eyedb::Object *AgregatClassComponent_construct_x(const eyedb::Class *cls, eyedb::Data idr)
01964 {
01965   return new AgregatClassComponent(cls, idr);
01966 }
01967 
01968 eyedb::Object *AgregatClassComponent_construct(const eyedb::Object *o, eyedb::Bool share)
01969 {
01970   return new AgregatClassComponent((const eyedb::Struct *)o, share);
01971 }
01972 
01973 static void AgregatClassComponent_init_p()
01974 {
01975   AgregatClassComponent_Class = AgregatClassComponent_make();
01976   constructors_x[class_ind] = AgregatClassComponent_construct_x;
01977   constructors[class_ind] = AgregatClassComponent_construct;
01978   hash->insert("agregat_class_component", class_ind++);
01979 }
01980 
01981 static void AgregatClassComponent_init()
01982 {
01983   AgregatClassComponent_make(AgregatClassComponent_Class);
01984 
01985   AgregatClassComponent_agritems = AgregatClassComponent_Class->getAttributes();
01986   AgregatClassComponent_idr_objsz = AgregatClassComponent_Class->getIDRObjectSize(&AgregatClassComponent_idr_psize, 0);
01987 
01988   eyedb::ObjectPeer::setUnrealizable(AgregatClassComponent_Class, eyedb::True);
01989 }
01990 
01991 static eyedb::Status AgregatClassComponent_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
01992 {
01993   return eyedb::Success;
01994 }
01995 
01996 AgregatClassComponent::AgregatClassComponent(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : ClassComponent(_db, _dataspace, 1)
01997 {
01998   initialize(_db);
01999 }
02000 
02001 AgregatClassComponent::AgregatClassComponent(const eyedb::Class *_cls, eyedb::Data _idr): ClassComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
02002 {
02003   setClass((eyedb::Class *)_cls);
02004 
02005   eyedb::Size idr_psize;
02006   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02007   if (_idr)
02008     idr->setIDR(idr_tsize, _idr);
02009   else
02010     {
02011       idr->setIDR(idr_tsize);
02012       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02013     }
02014   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02015   eyedb::ClassPeer::newObjRealize(getClass(), this);
02016   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02017   userInitialize();
02018 }
02019 
02020 void AgregatClassComponent::initialize(eyedb::Database *_db)
02021 {
02022   setClass((_db ? _db->getSchema()->getClass("agregat_class_component") : AgregatClassComponent_Class));
02023 
02024   eyedb::Size idr_psize;
02025   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02026   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02027   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02028   eyedb::ClassPeer::newObjRealize(getClass(), this);
02029   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02030   userInitialize();
02031 }
02032 
02033 AgregatClassComponent::AgregatClassComponent(const AgregatClassComponent& x) : ClassComponent(x)
02034 {
02035   userCopy(x);
02036 }
02037 
02038 AgregatClassComponent& AgregatClassComponent::operator=(const AgregatClassComponent& x)
02039 {
02040   *(ClassComponent *)this = ClassComponent::operator=((const ClassComponent &)x);
02041   userCopy(x);
02042   return *this;
02043 }
02044 
02045 AgregatClassComponent::AgregatClassComponent(const eyedb::Struct *x, eyedb::Bool share) : ClassComponent(x, share, 1)
02046 {
02047   setClass((db ? db->getSchema()->getClass("agregat_class_component") : AgregatClassComponent_Class));
02048 
02049   eyedb::Size idr_psize;
02050   getClass()->getIDRObjectSize(&idr_psize);
02051   if (!share)
02052     {
02053       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02054       eyedb::ClassPeer::newObjRealize(getClass(), this);
02055     }
02056 
02057   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02058   userCopy(*x);
02059 }
02060 
02061 AgregatClassComponent::AgregatClassComponent(const AgregatClassComponent *x, eyedb::Bool share) : ClassComponent(x, share, 1)
02062 {
02063   setClass((db ? db->getSchema()->getClass("agregat_class_component") : AgregatClassComponent_Class));
02064 
02065   eyedb::Size idr_psize;
02066   getClass()->getIDRObjectSize(&idr_psize);
02067   if (!share)
02068     {
02069       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02070       eyedb::ClassPeer::newObjRealize(getClass(), this);
02071     }
02072 
02073   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02074   userCopy(*x);
02075 }
02076 
02077 static const eyedb::Attribute **ClassVariable_agritems;
02078 static eyedb::Size ClassVariable_idr_objsz, ClassVariable_idr_psize;
02079 
02080 static eyedb::StructClass *ClassVariable_make(eyedb::StructClass *ClassVariable_class = 0, eyedb::Schema *m = 0)
02081 {
02082   if (!ClassVariable_class)
02083     return new eyedb::StructClass("class_variable", (m ? m->getClass("class_component") : ClassComponent_Class));
02084   eyedb::Attribute *attr[6];
02085   int *dims;
02086 
02087   dims = new int[1];
02088   dims[0] = -1;
02089   attr[4] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "vname", eyedb::False, 1, dims);
02090   delete[] dims;
02091 
02092   dims = 0;
02093   attr[5] = new eyedb::Attribute((m ? m->getClass("object") : eyedb::Object_Class), "val", eyedb::True, 0, dims);
02094 
02095   ClassVariable_class->setAttributes(&attr[4], 2);
02096 
02097   delete attr[4];
02098   delete attr[5];
02099 
02100   eyedb::ClassPeer::setMType(ClassVariable_class, eyedb::Class::System);
02101 
02102   return ClassVariable_class;
02103 }
02104 
02105 eyedb::Object *ClassVariable_construct_x(const eyedb::Class *cls, eyedb::Data idr)
02106 {
02107   return new ClassVariable(cls, idr);
02108 }
02109 
02110 eyedb::Object *ClassVariable_construct(const eyedb::Object *o, eyedb::Bool share)
02111 {
02112   return new ClassVariable((const eyedb::Struct *)o, share);
02113 }
02114 
02115 static void ClassVariable_init_p()
02116 {
02117   ClassVariable_Class = ClassVariable_make();
02118   constructors_x[class_ind] = ClassVariable_construct_x;
02119   constructors[class_ind] = ClassVariable_construct;
02120   hash->insert("class_variable", class_ind++);
02121 }
02122 
02123 static void ClassVariable_init()
02124 {
02125   ClassVariable_make(ClassVariable_Class);
02126 
02127   ClassVariable_agritems = ClassVariable_Class->getAttributes();
02128   ClassVariable_idr_objsz = ClassVariable_Class->getIDRObjectSize(&ClassVariable_idr_psize, 0);
02129 
02130   eyedb::ObjectPeer::setUnrealizable(ClassVariable_Class, eyedb::True);
02131 }
02132 
02133 static eyedb::Status ClassVariable_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
02134 {
02135   return eyedb::Success;
02136 }
02137 
02138 ClassVariable::ClassVariable(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : ClassComponent(_db, _dataspace, 1)
02139 {
02140   initialize(_db);
02141 }
02142 
02143 ClassVariable::ClassVariable(const eyedb::Class *_cls, eyedb::Data _idr): ClassComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
02144 {
02145   setClass((eyedb::Class *)_cls);
02146 
02147   eyedb::Size idr_psize;
02148   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02149   if (_idr)
02150     idr->setIDR(idr_tsize, _idr);
02151   else
02152     {
02153       idr->setIDR(idr_tsize);
02154       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02155     }
02156   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02157   eyedb::ClassPeer::newObjRealize(getClass(), this);
02158   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02159   userInitialize();
02160 }
02161 
02162 void ClassVariable::initialize(eyedb::Database *_db)
02163 {
02164   setClass((_db ? _db->getSchema()->getClass("class_variable") : ClassVariable_Class));
02165 
02166   eyedb::Size idr_psize;
02167   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02168   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02169   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02170   eyedb::ClassPeer::newObjRealize(getClass(), this);
02171   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02172   userInitialize();
02173 }
02174 
02175 ClassVariable::ClassVariable(const ClassVariable& x) : ClassComponent(x)
02176 {
02177   userCopy(x);
02178 }
02179 
02180 ClassVariable& ClassVariable::operator=(const ClassVariable& x)
02181 {
02182   *(ClassComponent *)this = ClassComponent::operator=((const ClassComponent &)x);
02183   userCopy(x);
02184   return *this;
02185 }
02186 
02187 ClassVariable::ClassVariable(const eyedb::Struct *x, eyedb::Bool share) : ClassComponent(x, share, 1)
02188 {
02189   setClass((db ? db->getSchema()->getClass("class_variable") : ClassVariable_Class));
02190 
02191   eyedb::Size idr_psize;
02192   getClass()->getIDRObjectSize(&idr_psize);
02193   if (!share)
02194     {
02195       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02196       eyedb::ClassPeer::newObjRealize(getClass(), this);
02197     }
02198 
02199   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02200   userCopy(*x);
02201 }
02202 
02203 ClassVariable::ClassVariable(const ClassVariable *x, eyedb::Bool share) : ClassComponent(x, share, 1)
02204 {
02205   setClass((db ? db->getSchema()->getClass("class_variable") : ClassVariable_Class));
02206 
02207   eyedb::Size idr_psize;
02208   getClass()->getIDRObjectSize(&idr_psize);
02209   if (!share)
02210     {
02211       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02212       eyedb::ClassPeer::newObjRealize(getClass(), this);
02213     }
02214 
02215   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02216   userCopy(*x);
02217 }
02218 
02219 eyedb::Status ClassVariable::setVname(const std::string &_vname)
02220 {
02221   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02222   eyedb::Status status;
02223   eyedb::Size size;
02224   eyedb::Size len = _vname.size() + 1;
02225 
02226   status = getClass()->getAttributes()[4]->getSize(this, size);
02227   if (status)
02228     return status;
02229 
02230   if (size != len)
02231     status = getClass()->getAttributes()[4]->setSize(this, len);
02232   if (status)
02233     return status;
02234 
02235   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)_vname.c_str(), len, 0);
02236   return status;
02237 
02238 }
02239 
02240 eyedb::Status ClassVariable::setVname(unsigned int a0, char _vname)
02241 {
02242   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02243   eyedb::Status status;
02244   eyedb::Size from = a0;
02245 
02246   eyedb::Size size;
02247   status = getClass()->getAttributes()[4]->getSize(this, size);
02248   if (status)
02249     return status;
02250 
02251   if (size <= from)
02252     status = getClass()->getAttributes()[4]->setSize(this, from+1);
02253   if (status)
02254     return status;
02255 
02256   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_vname, 1, from);
02257   return status;
02258 }
02259 
02260 std::string ClassVariable::getVname(eyedb::Bool *isnull, eyedb::Status *rs) const
02261 {
02262   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02263   eyedb::Data data;
02264   eyedb::Status s;
02265 
02266   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
02267   if (s) {if (rs) *rs = s; return 0;}
02268   if (!data) data = nulldata;
02269   return (const char *)data;
02270 }
02271 
02272 char ClassVariable::getVname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
02273 {
02274   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02275   char __tmp = 0;
02276   eyedb::Status s;
02277   eyedb::Size from = a0;
02278 
02279   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
02280   if (s) {if (rs) *rs = s; return 0;}
02281   return __tmp;
02282 }
02283 
02284 eyedb::Status ClassVariable::setVal(eyedb::Object*_val)
02285 {
02286   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02287   eyedb::Status status;
02288 
02289   eyedb::Object *_oval = _val;
02290 
02291   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_oval, 1, 0);
02292   return status;
02293 }
02294 
02295 const eyedb::Object*ClassVariable::getVal(eyedb::Bool *isnull, eyedb::Status *rs) const 
02296 {
02297   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02298   eyedb::Object *__o = 0, *__go;
02299   eyedb::Status s;
02300 
02301   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
02302   if (s) {if (rs) *rs = s; return 0;}
02303 
02304   if (__o)
02305     {
02306      if (eyedb::ObjectPeer::isGRTObject(__o)) {
02307        return (eyedb::Object *)__o;
02308      }
02309      __go = (eyedb::Object *)make_object(__o, eyedb::False);
02310      if (__go)
02311       {
02312        __o = __go;
02313        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
02314        eyedb::ObjectPeer::decrRefCount(__o);
02315        if (s) {if (rs) *rs = s; return 0;}
02316       }
02317      return (eyedb::Object*)__o;
02318     }
02319 
02320   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
02321   if (!__o && db)
02322     {
02323       eyedb::Oid toid;
02324       s = getClass()->getAttributes()[5]->getOid(this, &toid, 1, 0);
02325       if (s) {if (rs) *rs = s; return 0;}
02326       if (toid.isValid())
02327         {
02328           s = db->loadObject(&toid, &__o);
02329           if (s) {if (rs) *rs = s; return 0;}
02330           if (!eyedb::ObjectPeer::isGRTObject(__o))
02331            {
02332              __go = (eyedb::Object *)make_object(__o, eyedb::False);
02333              if (__go) __o = __go;
02334            }
02335         }
02336     }
02337 
02338   if (__o && wasnull)
02339     {
02340      s = getClass()->getAttributes()[5]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
02341      if (s) {if (rs) *rs = s; return 0;}
02342      __o->release();
02343     }
02344   return (eyedb::Object*)__o;
02345 }
02346 
02347 eyedb::Object*ClassVariable::getVal(eyedb::Bool *isnull, eyedb::Status *rs) 
02348 {
02349   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02350   eyedb::Object *__o = 0, *__go;
02351   eyedb::Status s;
02352 
02353   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
02354   if (s) {if (rs) *rs = s; return 0;}
02355 
02356   if (__o)
02357     {
02358      if (eyedb::ObjectPeer::isGRTObject(__o)) {
02359        return (eyedb::Object *)__o;
02360      }
02361      __go = (eyedb::Object *)make_object(__o, eyedb::False);
02362      if (__go)
02363       {
02364        __o = __go;
02365        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
02366        eyedb::ObjectPeer::decrRefCount(__o);
02367        if (s) {if (rs) *rs = s; return 0;}
02368       }
02369      return (eyedb::Object*)__o;
02370     }
02371 
02372   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
02373   if (!__o && db)
02374     {
02375       eyedb::Oid toid;
02376       s = getClass()->getAttributes()[5]->getOid(this, &toid, 1, 0);
02377       if (s) {if (rs) *rs = s; return 0;}
02378       if (toid.isValid())
02379         {
02380           s = db->loadObject(&toid, &__o);
02381           if (s) {if (rs) *rs = s; return 0;}
02382           if (!eyedb::ObjectPeer::isGRTObject(__o))
02383            {
02384              __go = (eyedb::Object *)make_object(__o, eyedb::False);
02385              if (__go) __o = __go;
02386            }
02387         }
02388     }
02389 
02390   if (__o && wasnull)
02391     {
02392      s = getClass()->getAttributes()[5]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
02393      if (s) {if (rs) *rs = s; return 0;}
02394      __o->release();
02395     }
02396   return (eyedb::Object*)__o;
02397 }
02398 
02399 eyedb::Status ClassVariable::setValOid(const eyedb::Oid &_oid)
02400 {
02401   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02402   eyedb::Status status;
02403 
02404   status = getClass()->getAttributes()[5]->setOid(this, &_oid, 1, 0, oid_check);
02405   return status;
02406 }
02407 
02408 eyedb::Oid ClassVariable::getValOid(eyedb::Status *rs) const
02409 {
02410   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02411   eyedb::Oid __tmp;
02412   eyedb::Status s;
02413 
02414   s = getClass()->getAttributes()[5]->getOid(this, &__tmp, 1, 0);
02415   if (s) {if (rs) *rs = s; return nulloid;}
02416 
02417   return __tmp;
02418 }
02419 
02420 static const eyedb::Attribute **Index_agritems;
02421 static eyedb::Size Index_idr_objsz, Index_idr_psize;
02422 
02423 static eyedb::StructClass *Index_make(eyedb::StructClass *Index_class = 0, eyedb::Schema *m = 0)
02424 {
02425   if (!Index_class)
02426     return new eyedb::StructClass("index", (m ? m->getClass("attribute_component") : AttributeComponent_Class));
02427   eyedb::Attribute *attr[10];
02428   int *dims;
02429 
02430   dims = 0;
02431   attr[6] = new eyedb::Attribute((m ? m->getClass("oid") : eyedb::OidP_Class), "idx_oid", eyedb::False, 0, dims);
02432 
02433   dims = 0;
02434   attr[7] = new eyedb::Attribute((m ? m->getClass("short") : eyedb::Int16_Class), "dspid", eyedb::False, 0, dims);
02435 
02436   dims = 0;
02437   attr[8] = new eyedb::Attribute((m ? m->getClass("bool") : eyedb::Bool_Class), "is_string", eyedb::False, 0, dims);
02438 
02439   dims = new int[1];
02440   dims[0] = -1;
02441   attr[9] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "impl_hints", eyedb::False, 1, dims);
02442   delete[] dims;
02443 
02444   Index_class->setAttributes(&attr[6], 4);
02445 
02446   delete attr[6];
02447   delete attr[7];
02448   delete attr[8];
02449   delete attr[9];
02450 
02451   eyedb::ClassPeer::setMType(Index_class, eyedb::Class::System);
02452 
02453   return Index_class;
02454 }
02455 
02456 eyedb::Object *Index_construct_x(const eyedb::Class *cls, eyedb::Data idr)
02457 {
02458   return new Index(cls, idr);
02459 }
02460 
02461 eyedb::Object *Index_construct(const eyedb::Object *o, eyedb::Bool share)
02462 {
02463   return new Index((const eyedb::Struct *)o, share);
02464 }
02465 
02466 static void Index_init_p()
02467 {
02468   Index_Class = Index_make();
02469   constructors_x[class_ind] = Index_construct_x;
02470   constructors[class_ind] = Index_construct;
02471   hash->insert("index", class_ind++);
02472 }
02473 
02474 static void Index_init()
02475 {
02476   Index_make(Index_Class);
02477 
02478   Index_agritems = Index_Class->getAttributes();
02479   Index_idr_objsz = Index_Class->getIDRObjectSize(&Index_idr_psize, 0);
02480 
02481   eyedb::ObjectPeer::setUnrealizable(Index_Class, eyedb::True);
02482 }
02483 
02484 static eyedb::Status Index_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
02485 {
02486   return eyedb::Success;
02487 }
02488 
02489 Index::Index(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AttributeComponent(_db, _dataspace, 1)
02490 {
02491   initialize(_db);
02492 }
02493 
02494 Index::Index(const eyedb::Class *_cls, eyedb::Data _idr): AttributeComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
02495 {
02496   setClass((eyedb::Class *)_cls);
02497 
02498   eyedb::Size idr_psize;
02499   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02500   if (_idr)
02501     idr->setIDR(idr_tsize, _idr);
02502   else
02503     {
02504       idr->setIDR(idr_tsize);
02505       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02506     }
02507   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02508   eyedb::ClassPeer::newObjRealize(getClass(), this);
02509   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02510   userInitialize();
02511 }
02512 
02513 void Index::initialize(eyedb::Database *_db)
02514 {
02515   setClass((_db ? _db->getSchema()->getClass("index") : Index_Class));
02516 
02517   eyedb::Size idr_psize;
02518   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02519   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02520   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02521   eyedb::ClassPeer::newObjRealize(getClass(), this);
02522   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02523   userInitialize();
02524 }
02525 
02526 Index::Index(const Index& x) : AttributeComponent(x)
02527 {
02528   userCopy(x);
02529 }
02530 
02531 Index& Index::operator=(const Index& x)
02532 {
02533   *(AttributeComponent *)this = AttributeComponent::operator=((const AttributeComponent &)x);
02534   userCopy(x);
02535   return *this;
02536 }
02537 
02538 Index::Index(const eyedb::Struct *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
02539 {
02540   setClass((db ? db->getSchema()->getClass("index") : Index_Class));
02541 
02542   eyedb::Size idr_psize;
02543   getClass()->getIDRObjectSize(&idr_psize);
02544   if (!share)
02545     {
02546       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02547       eyedb::ClassPeer::newObjRealize(getClass(), this);
02548     }
02549 
02550   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02551   userCopy(*x);
02552 }
02553 
02554 Index::Index(const Index *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
02555 {
02556   setClass((db ? db->getSchema()->getClass("index") : Index_Class));
02557 
02558   eyedb::Size idr_psize;
02559   getClass()->getIDRObjectSize(&idr_psize);
02560   if (!share)
02561     {
02562       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02563       eyedb::ClassPeer::newObjRealize(getClass(), this);
02564     }
02565 
02566   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02567   userCopy(*x);
02568 }
02569 
02570 eyedb::Status Index::setIdxOid(eyedb::Oid _idx_oid)
02571 {
02572   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02573   eyedb::Status status;
02574 
02575   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_idx_oid, 1, 0);
02576   return status;
02577 }
02578 
02579 eyedb::Oid Index::getIdxOid(eyedb::Bool *isnull, eyedb::Status *rs) const
02580 {
02581   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02582   eyedb::Oid __tmp;
02583   eyedb::Status s;
02584 
02585   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02586   if (s) {if (rs) *rs = s; return nulloid;}
02587 
02588   return __tmp;
02589 }
02590 
02591 eyedb::Status Index::setDspid(eyedblib::int16 _dspid)
02592 {
02593   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02594   eyedb::Status status;
02595 
02596   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)&_dspid, 1, 0);
02597   return status;
02598 }
02599 
02600 eyedblib::int16 Index::getDspid(eyedb::Bool *isnull, eyedb::Status *rs) const
02601 {
02602   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02603   eyedblib::int16 __tmp = 0;
02604   eyedb::Status s;
02605 
02606   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02607   if (s) {if (rs) *rs = s; return 0;}
02608   return __tmp;
02609 }
02610 
02611 eyedb::Status Index::setIsString(eyedb::Bool _is_string, eyedb::Bool _check_value)
02612 {
02613   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02614   eyedb::Status status;
02615   eyedblib::int32 __tmp = _is_string;
02616 
02617   status = getClass()->getAttributes()[8]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
02618   return status;
02619 }
02620 
02621 eyedb::Bool Index::getIsString(eyedb::Bool *isnull, eyedb::Status *rs) const
02622 {
02623   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02624   eyedblib::int32  __tmp = 0;
02625   eyedb::Status s;
02626 
02627   s = getClass()->getAttributes()[8]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02628   if (s) {if (rs) *rs = s; return (eyedb::Bool)0;}
02629   return (eyedb::Bool)__tmp;
02630 }
02631 
02632 eyedb::Status Index::setImplHints(unsigned int a0, eyedblib::int32 _impl_hints)
02633 {
02634   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02635   eyedb::Status status;
02636   eyedb::Size from = a0;
02637 
02638   eyedb::Size size;
02639   status = getClass()->getAttributes()[9]->getSize(this, size);
02640   if (status)
02641     return status;
02642 
02643   if (size <= from)
02644     status = getClass()->getAttributes()[9]->setSize(this, from+1);
02645   if (status)
02646     return status;
02647 
02648   status = getClass()->getAttributes()[9]->setValue(this, (eyedb::Data)&_impl_hints, 1, from);
02649   return status;
02650 }
02651 
02652 eyedb::Status Index::setImplHintsCount(unsigned int a0)
02653 {
02654   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02655   eyedb::Status status;
02656   eyedb::Size from = a0;
02657   status = getClass()->getAttributes()[9]->setSize(this, from);
02658   return status;
02659 }
02660 
02661 eyedblib::int32 Index::getImplHints(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
02662 {
02663   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02664   eyedblib::int32 __tmp = 0;
02665   eyedb::Status s;
02666   eyedb::Size from = a0;
02667 
02668   s = getClass()->getAttributes()[9]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
02669   if (s) {if (rs) *rs = s; return 0;}
02670   return __tmp;
02671 }
02672 
02673 unsigned int Index::getImplHintsCount(eyedb::Status *rs) const
02674 {
02675   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02676   eyedb::Size size;
02677   eyedb::Status s;
02678   s = getClass()->getAttributes()[9]->getSize(this, size);
02679   if (s) {if (rs) *rs = s; return 0;}
02680   return (int)size;
02681 }
02682 
02683 static const eyedb::Attribute **HashIndex_agritems;
02684 static eyedb::Size HashIndex_idr_objsz, HashIndex_idr_psize;
02685 
02686 static eyedb::StructClass *HashIndex_make(eyedb::StructClass *HashIndex_class = 0, eyedb::Schema *m = 0)
02687 {
02688   if (!HashIndex_class)
02689     return new eyedb::StructClass("hashindex", (m ? m->getClass("index") : Index_Class));
02690   eyedb::Attribute *attr[12];
02691   int *dims;
02692 
02693   dims = 0;
02694   attr[10] = new eyedb::Attribute((m ? m->getClass("be_method_C") : BEMethod_C_Class), "hash_method", eyedb::True, 0, dims);
02695 
02696   dims = 0;
02697   attr[11] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "key_count", eyedb::False, 0, dims);
02698 
02699   HashIndex_class->setAttributes(&attr[10], 2);
02700 
02701   delete attr[10];
02702   delete attr[11];
02703 
02704   eyedb::ClassPeer::setMType(HashIndex_class, eyedb::Class::System);
02705 
02706   return HashIndex_class;
02707 }
02708 
02709 eyedb::Object *HashIndex_construct_x(const eyedb::Class *cls, eyedb::Data idr)
02710 {
02711   return new HashIndex(cls, idr);
02712 }
02713 
02714 eyedb::Object *HashIndex_construct(const eyedb::Object *o, eyedb::Bool share)
02715 {
02716   return new HashIndex((const eyedb::Struct *)o, share);
02717 }
02718 
02719 static void HashIndex_init_p()
02720 {
02721   HashIndex_Class = HashIndex_make();
02722   constructors_x[class_ind] = HashIndex_construct_x;
02723   constructors[class_ind] = HashIndex_construct;
02724   hash->insert("hashindex", class_ind++);
02725 }
02726 
02727 static void HashIndex_init()
02728 {
02729   HashIndex_make(HashIndex_Class);
02730 
02731   HashIndex_agritems = HashIndex_Class->getAttributes();
02732   HashIndex_idr_objsz = HashIndex_Class->getIDRObjectSize(&HashIndex_idr_psize, 0);
02733 
02734   eyedb::ObjectPeer::setUnrealizable(HashIndex_Class, eyedb::True);
02735 }
02736 
02737 static eyedb::Status HashIndex_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
02738 {
02739   return eyedb::Success;
02740 }
02741 
02742 HashIndex::HashIndex(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : Index(_db, _dataspace, 1)
02743 {
02744   initialize(_db);
02745 }
02746 
02747 HashIndex::HashIndex(const eyedb::Class *_cls, eyedb::Data _idr): Index((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
02748 {
02749   setClass((eyedb::Class *)_cls);
02750 
02751   eyedb::Size idr_psize;
02752   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02753   if (_idr)
02754     idr->setIDR(idr_tsize, _idr);
02755   else
02756     {
02757       idr->setIDR(idr_tsize);
02758       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02759     }
02760   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02761   eyedb::ClassPeer::newObjRealize(getClass(), this);
02762   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02763   userInitialize();
02764 }
02765 
02766 void HashIndex::initialize(eyedb::Database *_db)
02767 {
02768   setClass((_db ? _db->getSchema()->getClass("hashindex") : HashIndex_Class));
02769 
02770   eyedb::Size idr_psize;
02771   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02772   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02773   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02774   eyedb::ClassPeer::newObjRealize(getClass(), this);
02775   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02776   userInitialize();
02777 }
02778 
02779 HashIndex::HashIndex(const HashIndex& x) : Index(x)
02780 {
02781   userCopy(x);
02782 }
02783 
02784 HashIndex& HashIndex::operator=(const HashIndex& x)
02785 {
02786   *(Index *)this = Index::operator=((const Index &)x);
02787   userCopy(x);
02788   return *this;
02789 }
02790 
02791 HashIndex::HashIndex(const eyedb::Struct *x, eyedb::Bool share) : Index(x, share, 1)
02792 {
02793   setClass((db ? db->getSchema()->getClass("hashindex") : HashIndex_Class));
02794 
02795   eyedb::Size idr_psize;
02796   getClass()->getIDRObjectSize(&idr_psize);
02797   if (!share)
02798     {
02799       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02800       eyedb::ClassPeer::newObjRealize(getClass(), this);
02801     }
02802 
02803   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02804   userCopy(*x);
02805 }
02806 
02807 HashIndex::HashIndex(const HashIndex *x, eyedb::Bool share) : Index(x, share, 1)
02808 {
02809   setClass((db ? db->getSchema()->getClass("hashindex") : HashIndex_Class));
02810 
02811   eyedb::Size idr_psize;
02812   getClass()->getIDRObjectSize(&idr_psize);
02813   if (!share)
02814     {
02815       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02816       eyedb::ClassPeer::newObjRealize(getClass(), this);
02817     }
02818 
02819   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02820   userCopy(*x);
02821 }
02822 
02823 eyedb::Status HashIndex::setHashMethod(BEMethod_C*_hash_method)
02824 {
02825   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02826   eyedb::Status status;
02827 
02828   eyedb::Object *_ohash_method = _hash_method;
02829 
02830   status = getClass()->getAttributes()[10]->setValue(this, (eyedb::Data)&_ohash_method, 1, 0);
02831   return status;
02832 }
02833 
02834 const BEMethod_C*HashIndex::getHashMethod(eyedb::Bool *isnull, eyedb::Status *rs) const 
02835 {
02836   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02837   eyedb::Object *__o = 0, *__go;
02838   eyedb::Status s;
02839 
02840   s = getClass()->getAttributes()[10]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
02841   if (s) {if (rs) *rs = s; return 0;}
02842 
02843   if (__o)
02844     {
02845      if (eyedb::ObjectPeer::isGRTObject(__o)) {
02846        return (BEMethod_C *)__o;
02847      }
02848      __go = (BEMethod_C *)make_object(__o, eyedb::False);
02849      if (__go)
02850       {
02851        __o = __go;
02852        s = getClass()->getAttributes()[10]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
02853        eyedb::ObjectPeer::decrRefCount(__o);
02854        if (s) {if (rs) *rs = s; return 0;}
02855       }
02856      return (BEMethod_C*)__o;
02857     }
02858 
02859   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
02860   if (!__o && db)
02861     {
02862       eyedb::Oid toid;
02863       s = getClass()->getAttributes()[10]->getOid(this, &toid, 1, 0);
02864       if (s) {if (rs) *rs = s; return 0;}
02865       if (toid.isValid())
02866         {
02867           s = db->loadObject(&toid, &__o);
02868           if (s) {if (rs) *rs = s; return 0;}
02869           if (!eyedb::ObjectPeer::isGRTObject(__o))
02870            {
02871              __go = (BEMethod_C *)make_object(__o, eyedb::False);
02872              if (__go) __o = __go;
02873            }
02874         }
02875     }
02876 
02877   if (__o && wasnull)
02878     {
02879      s = getClass()->getAttributes()[10]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
02880      if (s) {if (rs) *rs = s; return 0;}
02881      __o->release();
02882     }
02883   return (BEMethod_C*)__o;
02884 }
02885 
02886 BEMethod_C*HashIndex::getHashMethod(eyedb::Bool *isnull, eyedb::Status *rs) 
02887 {
02888   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02889   eyedb::Object *__o = 0, *__go;
02890   eyedb::Status s;
02891 
02892   s = getClass()->getAttributes()[10]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
02893   if (s) {if (rs) *rs = s; return 0;}
02894 
02895   if (__o)
02896     {
02897      if (eyedb::ObjectPeer::isGRTObject(__o)) {
02898        return (BEMethod_C *)__o;
02899      }
02900      __go = (BEMethod_C *)make_object(__o, eyedb::False);
02901      if (__go)
02902       {
02903        __o = __go;
02904        s = getClass()->getAttributes()[10]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
02905        eyedb::ObjectPeer::decrRefCount(__o);
02906        if (s) {if (rs) *rs = s; return 0;}
02907       }
02908      return (BEMethod_C*)__o;
02909     }
02910 
02911   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
02912   if (!__o && db)
02913     {
02914       eyedb::Oid toid;
02915       s = getClass()->getAttributes()[10]->getOid(this, &toid, 1, 0);
02916       if (s) {if (rs) *rs = s; return 0;}
02917       if (toid.isValid())
02918         {
02919           s = db->loadObject(&toid, &__o);
02920           if (s) {if (rs) *rs = s; return 0;}
02921           if (!eyedb::ObjectPeer::isGRTObject(__o))
02922            {
02923              __go = (BEMethod_C *)make_object(__o, eyedb::False);
02924              if (__go) __o = __go;
02925            }
02926         }
02927     }
02928 
02929   if (__o && wasnull)
02930     {
02931      s = getClass()->getAttributes()[10]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
02932      if (s) {if (rs) *rs = s; return 0;}
02933      __o->release();
02934     }
02935   return (BEMethod_C*)__o;
02936 }
02937 
02938 eyedb::Status HashIndex::setHashMethodOid(const eyedb::Oid &_oid)
02939 {
02940   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02941   eyedb::Status status;
02942 
02943   status = getClass()->getAttributes()[10]->setOid(this, &_oid, 1, 0, oid_check);
02944   return status;
02945 }
02946 
02947 eyedb::Oid HashIndex::getHashMethodOid(eyedb::Status *rs) const
02948 {
02949   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02950   eyedb::Oid __tmp;
02951   eyedb::Status s;
02952 
02953   s = getClass()->getAttributes()[10]->getOid(this, &__tmp, 1, 0);
02954   if (s) {if (rs) *rs = s; return nulloid;}
02955 
02956   return __tmp;
02957 }
02958 
02959 eyedb::Status HashIndex::setKeyCount(eyedblib::int32 _key_count)
02960 {
02961   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02962   eyedb::Status status;
02963 
02964   status = getClass()->getAttributes()[11]->setValue(this, (eyedb::Data)&_key_count, 1, 0);
02965   return status;
02966 }
02967 
02968 eyedblib::int32 HashIndex::getKeyCount(eyedb::Bool *isnull, eyedb::Status *rs) const
02969 {
02970   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02971   eyedblib::int32 __tmp = 0;
02972   eyedb::Status s;
02973 
02974   s = getClass()->getAttributes()[11]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02975   if (s) {if (rs) *rs = s; return 0;}
02976   return __tmp;
02977 }
02978 
02979 static const eyedb::Attribute **BTreeIndex_agritems;
02980 static eyedb::Size BTreeIndex_idr_objsz, BTreeIndex_idr_psize;
02981 
02982 static eyedb::StructClass *BTreeIndex_make(eyedb::StructClass *BTreeIndex_class = 0, eyedb::Schema *m = 0)
02983 {
02984   if (!BTreeIndex_class)
02985     return new eyedb::StructClass("btreeindex", (m ? m->getClass("index") : Index_Class));
02986   eyedb::Attribute *attr[11];
02987   int *dims;
02988 
02989   dims = 0;
02990   attr[10] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "degree", eyedb::False, 0, dims);
02991 
02992   BTreeIndex_class->setAttributes(&attr[10], 1);
02993 
02994   delete attr[10];
02995 
02996   eyedb::ClassPeer::setMType(BTreeIndex_class, eyedb::Class::System);
02997 
02998   return BTreeIndex_class;
02999 }
03000 
03001 eyedb::Object *BTreeIndex_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03002 {
03003   return new BTreeIndex(cls, idr);
03004 }
03005 
03006 eyedb::Object *BTreeIndex_construct(const eyedb::Object *o, eyedb::Bool share)
03007 {
03008   return new BTreeIndex((const eyedb::Struct *)o, share);
03009 }
03010 
03011 static void BTreeIndex_init_p()
03012 {
03013   BTreeIndex_Class = BTreeIndex_make();
03014   constructors_x[class_ind] = BTreeIndex_construct_x;
03015   constructors[class_ind] = BTreeIndex_construct;
03016   hash->insert("btreeindex", class_ind++);
03017 }
03018 
03019 static void BTreeIndex_init()
03020 {
03021   BTreeIndex_make(BTreeIndex_Class);
03022 
03023   BTreeIndex_agritems = BTreeIndex_Class->getAttributes();
03024   BTreeIndex_idr_objsz = BTreeIndex_Class->getIDRObjectSize(&BTreeIndex_idr_psize, 0);
03025 
03026   eyedb::ObjectPeer::setUnrealizable(BTreeIndex_Class, eyedb::True);
03027 }
03028 
03029 static eyedb::Status BTreeIndex_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
03030 {
03031   return eyedb::Success;
03032 }
03033 
03034 BTreeIndex::BTreeIndex(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : Index(_db, _dataspace, 1)
03035 {
03036   initialize(_db);
03037 }
03038 
03039 BTreeIndex::BTreeIndex(const eyedb::Class *_cls, eyedb::Data _idr): Index((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
03040 {
03041   setClass((eyedb::Class *)_cls);
03042 
03043   eyedb::Size idr_psize;
03044   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
03045   if (_idr)
03046     idr->setIDR(idr_tsize, _idr);
03047   else
03048     {
03049       idr->setIDR(idr_tsize);
03050       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03051     }
03052   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03053   eyedb::ClassPeer::newObjRealize(getClass(), this);
03054   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03055   userInitialize();
03056 }
03057 
03058 void BTreeIndex::initialize(eyedb::Database *_db)
03059 {
03060   setClass((_db ? _db->getSchema()->getClass("btreeindex") : BTreeIndex_Class));
03061 
03062   eyedb::Size idr_psize;
03063   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
03064   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03065   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03066   eyedb::ClassPeer::newObjRealize(getClass(), this);
03067   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03068   userInitialize();
03069 }
03070 
03071 BTreeIndex::BTreeIndex(const BTreeIndex& x) : Index(x)
03072 {
03073   userCopy(x);
03074 }
03075 
03076 BTreeIndex& BTreeIndex::operator=(const BTreeIndex& x)
03077 {
03078   *(Index *)this = Index::operator=((const Index &)x);
03079   userCopy(x);
03080   return *this;
03081 }
03082 
03083 BTreeIndex::BTreeIndex(const eyedb::Struct *x, eyedb::Bool share) : Index(x, share, 1)
03084 {
03085   setClass((db ? db->getSchema()->getClass("btreeindex") : BTreeIndex_Class));
03086 
03087   eyedb::Size idr_psize;
03088   getClass()->getIDRObjectSize(&idr_psize);
03089   if (!share)
03090     {
03091       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03092       eyedb::ClassPeer::newObjRealize(getClass(), this);
03093     }
03094 
03095   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03096   userCopy(*x);
03097 }
03098 
03099 BTreeIndex::BTreeIndex(const BTreeIndex *x, eyedb::Bool share) : Index(x, share, 1)
03100 {
03101   setClass((db ? db->getSchema()->getClass("btreeindex") : BTreeIndex_Class));
03102 
03103   eyedb::Size idr_psize;
03104   getClass()->getIDRObjectSize(&idr_psize);
03105   if (!share)
03106     {
03107       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03108       eyedb::ClassPeer::newObjRealize(getClass(), this);
03109     }
03110 
03111   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03112   userCopy(*x);
03113 }
03114 
03115 eyedb::Status BTreeIndex::setDegree(eyedblib::int32 _degree)
03116 {
03117   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03118   eyedb::Status status;
03119 
03120   status = getClass()->getAttributes()[10]->setValue(this, (eyedb::Data)&_degree, 1, 0);
03121   return status;
03122 }
03123 
03124 eyedblib::int32 BTreeIndex::getDegree(eyedb::Bool *isnull, eyedb::Status *rs) const
03125 {
03126   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03127   eyedblib::int32 __tmp = 0;
03128   eyedb::Status s;
03129 
03130   s = getClass()->getAttributes()[10]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03131   if (s) {if (rs) *rs = s; return 0;}
03132   return __tmp;
03133 }
03134 
03135 static const eyedb::Attribute **CollAttrImpl_agritems;
03136 static eyedb::Size CollAttrImpl_idr_objsz, CollAttrImpl_idr_psize;
03137 
03138 static eyedb::StructClass *CollAttrImpl_make(eyedb::StructClass *CollAttrImpl_class = 0, eyedb::Schema *m = 0)
03139 {
03140   if (!CollAttrImpl_class)
03141     return new eyedb::StructClass("collection_attribute_implementation", (m ? m->getClass("attribute_component") : AttributeComponent_Class));
03142   eyedb::Attribute *attr[11];
03143   int *dims;
03144 
03145   dims = 0;
03146   attr[6] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "idxtype", eyedb::False, 0, dims);
03147 
03148   dims = 0;
03149   attr[7] = new eyedb::Attribute((m ? m->getClass("short") : eyedb::Int16_Class), "dspid", eyedb::False, 0, dims);
03150 
03151   dims = 0;
03152   attr[8] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "key_count_or_degree", eyedb::False, 0, dims);
03153 
03154   dims = 0;
03155   attr[9] = new eyedb::Attribute((m ? m->getClass("be_method_C") : BEMethod_C_Class), "hash_method", eyedb::True, 0, dims);
03156 
03157   dims = new int[1];
03158   dims[0] = -1;
03159   attr[10] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "impl_hints", eyedb::False, 1, dims);
03160   delete[] dims;
03161 
03162   CollAttrImpl_class->setAttributes(&attr[6], 5);
03163 
03164   delete attr[6];
03165   delete attr[7];
03166   delete attr[8];
03167   delete attr[9];
03168   delete attr[10];
03169 
03170   eyedb::ClassPeer::setMType(CollAttrImpl_class, eyedb::Class::System);
03171 
03172   return CollAttrImpl_class;
03173 }
03174 
03175 eyedb::Object *CollAttrImpl_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03176 {
03177   return new CollAttrImpl(cls, idr);
03178 }
03179 
03180 eyedb::Object *CollAttrImpl_construct(const eyedb::Object *o, eyedb::Bool share)
03181 {
03182   return new CollAttrImpl((const eyedb::Struct *)o, share);
03183 }
03184 
03185 static void CollAttrImpl_init_p()
03186 {
03187   CollAttrImpl_Class = CollAttrImpl_make();
03188   constructors_x[class_ind] = CollAttrImpl_construct_x;
03189   constructors[class_ind] = CollAttrImpl_construct;
03190   hash->insert("collection_attribute_implementation", class_ind++);
03191 }
03192 
03193 static void CollAttrImpl_init()
03194 {
03195   CollAttrImpl_make(CollAttrImpl_Class);
03196 
03197   CollAttrImpl_agritems = CollAttrImpl_Class->getAttributes();
03198   CollAttrImpl_idr_objsz = CollAttrImpl_Class->getIDRObjectSize(&CollAttrImpl_idr_psize, 0);
03199 
03200   eyedb::ObjectPeer::setUnrealizable(CollAttrImpl_Class, eyedb::True);
03201 }
03202 
03203 static eyedb::Status CollAttrImpl_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
03204 {
03205   return eyedb::Success;
03206 }
03207 
03208 CollAttrImpl::CollAttrImpl(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AttributeComponent(_db, _dataspace, 1)
03209 {
03210   initialize(_db);
03211 }
03212 
03213 CollAttrImpl::CollAttrImpl(const eyedb::Class *_cls, eyedb::Data _idr): AttributeComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
03214 {
03215   setClass((eyedb::Class *)_cls);
03216 
03217   eyedb::Size idr_psize;
03218   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
03219   if (_idr)
03220     idr->setIDR(idr_tsize, _idr);
03221   else
03222     {
03223       idr->setIDR(idr_tsize);
03224       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03225     }
03226   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03227   eyedb::ClassPeer::newObjRealize(getClass(), this);
03228   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03229   userInitialize();
03230 }
03231 
03232 void CollAttrImpl::initialize(eyedb::Database *_db)
03233 {
03234   setClass((_db ? _db->getSchema()->getClass("collection_attribute_implementation") : CollAttrImpl_Class));
03235 
03236   eyedb::Size idr_psize;
03237   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
03238   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03239   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03240   eyedb::ClassPeer::newObjRealize(getClass(), this);
03241   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03242   userInitialize();
03243 }
03244 
03245 CollAttrImpl::CollAttrImpl(const CollAttrImpl& x) : AttributeComponent(x)
03246 {
03247   userCopy(x);
03248 }
03249 
03250 CollAttrImpl& CollAttrImpl::operator=(const CollAttrImpl& x)
03251 {
03252   *(AttributeComponent *)this = AttributeComponent::operator=((const AttributeComponent &)x);
03253   userCopy(x);
03254   return *this;
03255 }
03256 
03257 CollAttrImpl::CollAttrImpl(const eyedb::Struct *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
03258 {
03259   setClass((db ? db->getSchema()->getClass("collection_attribute_implementation") : CollAttrImpl_Class));
03260 
03261   eyedb::Size idr_psize;
03262   getClass()->getIDRObjectSize(&idr_psize);
03263   if (!share)
03264     {
03265       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03266       eyedb::ClassPeer::newObjRealize(getClass(), this);
03267     }
03268 
03269   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03270   userCopy(*x);
03271 }
03272 
03273 CollAttrImpl::CollAttrImpl(const CollAttrImpl *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
03274 {
03275   setClass((db ? db->getSchema()->getClass("collection_attribute_implementation") : CollAttrImpl_Class));
03276 
03277   eyedb::Size idr_psize;
03278   getClass()->getIDRObjectSize(&idr_psize);
03279   if (!share)
03280     {
03281       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03282       eyedb::ClassPeer::newObjRealize(getClass(), this);
03283     }
03284 
03285   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03286   userCopy(*x);
03287 }
03288 
03289 eyedb::Status CollAttrImpl::setIdxtype(eyedblib::int32 _idxtype)
03290 {
03291   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03292   eyedb::Status status;
03293 
03294   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_idxtype, 1, 0);
03295   return status;
03296 }
03297 
03298 eyedblib::int32 CollAttrImpl::getIdxtype(eyedb::Bool *isnull, eyedb::Status *rs) const
03299 {
03300   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03301   eyedblib::int32 __tmp = 0;
03302   eyedb::Status s;
03303 
03304   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03305   if (s) {if (rs) *rs = s; return 0;}
03306   return __tmp;
03307 }
03308 
03309 eyedb::Status CollAttrImpl::setDspid(eyedblib::int16 _dspid)
03310 {
03311   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03312   eyedb::Status status;
03313 
03314   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)&_dspid, 1, 0);
03315   return status;
03316 }
03317 
03318 eyedblib::int16 CollAttrImpl::getDspid(eyedb::Bool *isnull, eyedb::Status *rs) const
03319 {
03320   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03321   eyedblib::int16 __tmp = 0;
03322   eyedb::Status s;
03323 
03324   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03325   if (s) {if (rs) *rs = s; return 0;}
03326   return __tmp;
03327 }
03328 
03329 eyedb::Status CollAttrImpl::setKeyCountOrDegree(eyedblib::int32 _key_count_or_degree)
03330 {
03331   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03332   eyedb::Status status;
03333 
03334   status = getClass()->getAttributes()[8]->setValue(this, (eyedb::Data)&_key_count_or_degree, 1, 0);
03335   return status;
03336 }
03337 
03338 eyedblib::int32 CollAttrImpl::getKeyCountOrDegree(eyedb::Bool *isnull, eyedb::Status *rs) const
03339 {
03340   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03341   eyedblib::int32 __tmp = 0;
03342   eyedb::Status s;
03343 
03344   s = getClass()->getAttributes()[8]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03345   if (s) {if (rs) *rs = s; return 0;}
03346   return __tmp;
03347 }
03348 
03349 eyedb::Status CollAttrImpl::setHashMethod(BEMethod_C*_hash_method)
03350 {
03351   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03352   eyedb::Status status;
03353 
03354   eyedb::Object *_ohash_method = _hash_method;
03355 
03356   status = getClass()->getAttributes()[9]->setValue(this, (eyedb::Data)&_ohash_method, 1, 0);
03357   return status;
03358 }
03359 
03360 const BEMethod_C*CollAttrImpl::getHashMethod(eyedb::Bool *isnull, eyedb::Status *rs) const 
03361 {
03362   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03363   eyedb::Object *__o = 0, *__go;
03364   eyedb::Status s;
03365 
03366   s = getClass()->getAttributes()[9]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
03367   if (s) {if (rs) *rs = s; return 0;}
03368 
03369   if (__o)
03370     {
03371      if (eyedb::ObjectPeer::isGRTObject(__o)) {
03372        return (BEMethod_C *)__o;
03373      }
03374      __go = (BEMethod_C *)make_object(__o, eyedb::False);
03375      if (__go)
03376       {
03377        __o = __go;
03378        s = getClass()->getAttributes()[9]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
03379        eyedb::ObjectPeer::decrRefCount(__o);
03380        if (s) {if (rs) *rs = s; return 0;}
03381       }
03382      return (BEMethod_C*)__o;
03383     }
03384 
03385   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
03386   if (!__o && db)
03387     {
03388       eyedb::Oid toid;
03389       s = getClass()->getAttributes()[9]->getOid(this, &toid, 1, 0);
03390       if (s) {if (rs) *rs = s; return 0;}
03391       if (toid.isValid())
03392         {
03393           s = db->loadObject(&toid, &__o);
03394           if (s) {if (rs) *rs = s; return 0;}
03395           if (!eyedb::ObjectPeer::isGRTObject(__o))
03396            {
03397              __go = (BEMethod_C *)make_object(__o, eyedb::False);
03398              if (__go) __o = __go;
03399            }
03400         }
03401     }
03402 
03403   if (__o && wasnull)
03404     {
03405      s = getClass()->getAttributes()[9]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
03406      if (s) {if (rs) *rs = s; return 0;}
03407      __o->release();
03408     }
03409   return (BEMethod_C*)__o;
03410 }
03411 
03412 BEMethod_C*CollAttrImpl::getHashMethod(eyedb::Bool *isnull, eyedb::Status *rs) 
03413 {
03414   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03415   eyedb::Object *__o = 0, *__go;
03416   eyedb::Status s;
03417 
03418   s = getClass()->getAttributes()[9]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
03419   if (s) {if (rs) *rs = s; return 0;}
03420 
03421   if (__o)
03422     {
03423      if (eyedb::ObjectPeer::isGRTObject(__o)) {
03424        return (BEMethod_C *)__o;
03425      }
03426      __go = (BEMethod_C *)make_object(__o, eyedb::False);
03427      if (__go)
03428       {
03429        __o = __go;
03430        s = getClass()->getAttributes()[9]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
03431        eyedb::ObjectPeer::decrRefCount(__o);
03432        if (s) {if (rs) *rs = s; return 0;}
03433       }
03434      return (BEMethod_C*)__o;
03435     }
03436 
03437   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
03438   if (!__o && db)
03439     {
03440       eyedb::Oid toid;
03441       s = getClass()->getAttributes()[9]->getOid(this, &toid, 1, 0);
03442       if (s) {if (rs) *rs = s; return 0;}
03443       if (toid.isValid())
03444         {
03445           s = db->loadObject(&toid, &__o);
03446           if (s) {if (rs) *rs = s; return 0;}
03447           if (!eyedb::ObjectPeer::isGRTObject(__o))
03448            {
03449              __go = (BEMethod_C *)make_object(__o, eyedb::False);
03450              if (__go) __o = __go;
03451            }
03452         }
03453     }
03454 
03455   if (__o && wasnull)
03456     {
03457      s = getClass()->getAttributes()[9]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
03458      if (s) {if (rs) *rs = s; return 0;}
03459      __o->release();
03460     }
03461   return (BEMethod_C*)__o;
03462 }
03463 
03464 eyedb::Status CollAttrImpl::setHashMethodOid(const eyedb::Oid &_oid)
03465 {
03466   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03467   eyedb::Status status;
03468 
03469   status = getClass()->getAttributes()[9]->setOid(this, &_oid, 1, 0, oid_check);
03470   return status;
03471 }
03472 
03473 eyedb::Oid CollAttrImpl::getHashMethodOid(eyedb::Status *rs) const
03474 {
03475   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03476   eyedb::Oid __tmp;
03477   eyedb::Status s;
03478 
03479   s = getClass()->getAttributes()[9]->getOid(this, &__tmp, 1, 0);
03480   if (s) {if (rs) *rs = s; return nulloid;}
03481 
03482   return __tmp;
03483 }
03484 
03485 eyedb::Status CollAttrImpl::setImplHints(unsigned int a0, eyedblib::int32 _impl_hints)
03486 {
03487   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03488   eyedb::Status status;
03489   eyedb::Size from = a0;
03490 
03491   eyedb::Size size;
03492   status = getClass()->getAttributes()[10]->getSize(this, size);
03493   if (status)
03494     return status;
03495 
03496   if (size <= from)
03497     status = getClass()->getAttributes()[10]->setSize(this, from+1);
03498   if (status)
03499     return status;
03500 
03501   status = getClass()->getAttributes()[10]->setValue(this, (eyedb::Data)&_impl_hints, 1, from);
03502   return status;
03503 }
03504 
03505 eyedb::Status CollAttrImpl::setImplHintsCount(unsigned int a0)
03506 {
03507   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03508   eyedb::Status status;
03509   eyedb::Size from = a0;
03510   status = getClass()->getAttributes()[10]->setSize(this, from);
03511   return status;
03512 }
03513 
03514 eyedblib::int32 CollAttrImpl::getImplHints(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
03515 {
03516   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03517   eyedblib::int32 __tmp = 0;
03518   eyedb::Status s;
03519   eyedb::Size from = a0;
03520 
03521   s = getClass()->getAttributes()[10]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
03522   if (s) {if (rs) *rs = s; return 0;}
03523   return __tmp;
03524 }
03525 
03526 unsigned int CollAttrImpl::getImplHintsCount(eyedb::Status *rs) const
03527 {
03528   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03529   eyedb::Size size;
03530   eyedb::Status s;
03531   s = getClass()->getAttributes()[10]->getSize(this, size);
03532   if (s) {if (rs) *rs = s; return 0;}
03533   return (int)size;
03534 }
03535 
03536 static const eyedb::Attribute **ArgType_agritems;
03537 static eyedb::Size ArgType_idr_objsz, ArgType_idr_psize;
03538 
03539 static eyedb::StructClass *ArgType_make(eyedb::StructClass *ArgType_class = 0, eyedb::Schema *m = 0)
03540 {
03541   if (!ArgType_class)
03542     return new eyedb::StructClass("argtype", (m ? m->getClass("struct") : eyedb::Struct_Class));
03543   eyedb::Attribute *attr[4];
03544   int *dims;
03545 
03546   dims = 0;
03547   attr[2] = new eyedb::Attribute((m ? m->getClass("argtype_type") : ArgType_Type_Class), "type", eyedb::False, 0, dims);
03548 
03549   dims = new int[1];
03550   dims[0] = -1;
03551   attr[3] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "clname", eyedb::False, 1, dims);
03552   delete[] dims;
03553 
03554   ArgType_class->setAttributes(&attr[2], 2);
03555 
03556   delete attr[2];
03557   delete attr[3];
03558 
03559   eyedb::ClassPeer::setMType(ArgType_class, eyedb::Class::System);
03560 
03561   return ArgType_class;
03562 }
03563 
03564 eyedb::Object *ArgType_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03565 {
03566   return new ArgType(cls, idr);
03567 }
03568 
03569 eyedb::Object *ArgType_construct(const eyedb::Object *o, eyedb::Bool share)
03570 {
03571   return new ArgType((const eyedb::Struct *)o, share);
03572 }
03573 
03574 static void ArgType_init_p()
03575 {
03576   ArgType_Class = ArgType_make();
03577   constructors_x[class_ind] = ArgType_construct_x;
03578   constructors[class_ind] = ArgType_construct;
03579   hash->insert("argtype", class_ind++);
03580 }
03581 
03582 static void ArgType_init()
03583 {
03584   ArgType_make(ArgType_Class);
03585 
03586   ArgType_agritems = ArgType_Class->getAttributes();
03587   ArgType_idr_objsz = ArgType_Class->getIDRObjectSize(&ArgType_idr_psize, 0);
03588 
03589   eyedb::ObjectPeer::setUnrealizable(ArgType_Class, eyedb::True);
03590 }
03591 
03592 static eyedb::Status ArgType_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
03593 {
03594   return eyedb::Success;
03595 }
03596 
03597 ArgType::ArgType(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
03598 {
03599   initialize(_db);
03600 }
03601 
03602 ArgType::ArgType(const eyedb::Class *_cls, eyedb::Data _idr)
03603 {
03604   setClass((eyedb::Class *)_cls);
03605 
03606   eyedb::Size idr_psize;
03607   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
03608   if (_idr)
03609     idr->setIDR(idr_tsize, _idr);
03610   else
03611     {
03612       idr->setIDR(idr_tsize);
03613       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03614     }
03615   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03616   eyedb::ClassPeer::newObjRealize(getClass(), this);
03617   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03618   userInitialize();
03619 }
03620 
03621 void ArgType::initialize(eyedb::Database *_db)
03622 {
03623   setClass((_db ? _db->getSchema()->getClass("argtype") : ArgType_Class));
03624 
03625   eyedb::Size idr_psize;
03626   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
03627   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03628   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03629   eyedb::ClassPeer::newObjRealize(getClass(), this);
03630   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03631   userInitialize();
03632 }
03633 
03634 ArgType::ArgType(const ArgType& x) : eyedb::Struct(x)
03635 {
03636   userCopy(x);
03637 }
03638 
03639 ArgType& ArgType::operator=(const ArgType& x)
03640 {
03641   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
03642   userCopy(x);
03643   return *this;
03644 }
03645 
03646 ArgType::ArgType(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
03647 {
03648   setClass((db ? db->getSchema()->getClass("argtype") : ArgType_Class));
03649 
03650   eyedb::Size idr_psize;
03651   getClass()->getIDRObjectSize(&idr_psize);
03652   if (!share)
03653     {
03654       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03655       eyedb::ClassPeer::newObjRealize(getClass(), this);
03656     }
03657 
03658   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03659   userCopy(*x);
03660 }
03661 
03662 ArgType::ArgType(const ArgType *x, eyedb::Bool share) : eyedb::Struct(x, share)
03663 {
03664   setClass((db ? db->getSchema()->getClass("argtype") : ArgType_Class));
03665 
03666   eyedb::Size idr_psize;
03667   getClass()->getIDRObjectSize(&idr_psize);
03668   if (!share)
03669     {
03670       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03671       eyedb::ClassPeer::newObjRealize(getClass(), this);
03672     }
03673 
03674   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03675   userCopy(*x);
03676 }
03677 
03678 eyedb::Status ArgType::setType(ArgType_Type _type, eyedb::Bool _check_value)
03679 {
03680   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03681   eyedb::Status status;
03682   eyedblib::int32 __tmp = _type;
03683 
03684   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
03685   return status;
03686 }
03687 
03688 ArgType_Type ArgType::getType(eyedb::Bool *isnull, eyedb::Status *rs) const
03689 {
03690   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03691   eyedblib::int32  __tmp = 0;
03692   eyedb::Status s;
03693 
03694   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03695   if (s) {if (rs) *rs = s; return (ArgType_Type)0;}
03696   return (ArgType_Type)__tmp;
03697 }
03698 
03699 eyedb::Status ArgType::setClname(const std::string &_clname)
03700 {
03701   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03702   eyedb::Status status;
03703   eyedb::Size size;
03704   eyedb::Size len = _clname.size() + 1;
03705 
03706   status = getClass()->getAttributes()[3]->getSize(this, size);
03707   if (status)
03708     return status;
03709 
03710   if (size != len)
03711     status = getClass()->getAttributes()[3]->setSize(this, len);
03712   if (status)
03713     return status;
03714 
03715   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)_clname.c_str(), len, 0);
03716   return status;
03717 
03718 }
03719 
03720 eyedb::Status ArgType::setClname(unsigned int a0, char _clname)
03721 {
03722   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03723   eyedb::Status status;
03724   eyedb::Size from = a0;
03725 
03726   eyedb::Size size;
03727   status = getClass()->getAttributes()[3]->getSize(this, size);
03728   if (status)
03729     return status;
03730 
03731   if (size <= from)
03732     status = getClass()->getAttributes()[3]->setSize(this, from+1);
03733   if (status)
03734     return status;
03735 
03736   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_clname, 1, from);
03737   return status;
03738 }
03739 
03740 std::string ArgType::getClname(eyedb::Bool *isnull, eyedb::Status *rs) const
03741 {
03742   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03743   eyedb::Data data;
03744   eyedb::Status s;
03745 
03746   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
03747   if (s) {if (rs) *rs = s; return 0;}
03748   if (!data) data = nulldata;
03749   return (const char *)data;
03750 }
03751 
03752 char ArgType::getClname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
03753 {
03754   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03755   char __tmp = 0;
03756   eyedb::Status s;
03757   eyedb::Size from = a0;
03758 
03759   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
03760   if (s) {if (rs) *rs = s; return 0;}
03761   return __tmp;
03762 }
03763 
03764 static const eyedb::Attribute **Signature_agritems;
03765 static eyedb::Size Signature_idr_objsz, Signature_idr_psize;
03766 
03767 static eyedb::StructClass *Signature_make(eyedb::StructClass *Signature_class = 0, eyedb::Schema *m = 0)
03768 {
03769   if (!Signature_class)
03770     return new eyedb::StructClass("signature", (m ? m->getClass("struct") : eyedb::Struct_Class));
03771   eyedb::Attribute *attr[5];
03772   int *dims;
03773 
03774   dims = 0;
03775   attr[2] = new eyedb::Attribute((m ? m->getClass("argtype") : ArgType_Class), "rettype", eyedb::False, 0, dims);
03776 
03777   dims = 0;
03778   attr[3] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "nargs", eyedb::False, 0, dims);
03779 
03780   dims = new int[1];
03781   dims[0] = -1;
03782   attr[4] = new eyedb::Attribute((m ? m->getClass("argtype") : ArgType_Class), "types", eyedb::False, 1, dims);
03783   delete[] dims;
03784 
03785   Signature_class->setAttributes(&attr[2], 3);
03786 
03787   delete attr[2];
03788   delete attr[3];
03789   delete attr[4];
03790 
03791   eyedb::ClassPeer::setMType(Signature_class, eyedb::Class::System);
03792 
03793   return Signature_class;
03794 }
03795 
03796 eyedb::Object *Signature_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03797 {
03798   return new Signature(cls, idr);
03799 }
03800 
03801 eyedb::Object *Signature_construct(const eyedb::Object *o, eyedb::Bool share)
03802 {
03803   return new Signature((const eyedb::Struct *)o, share);
03804 }
03805 
03806 static void Signature_init_p()
03807 {
03808   Signature_Class = Signature_make();
03809   constructors_x[class_ind] = Signature_construct_x;
03810   constructors[class_ind] = Signature_construct;
03811   hash->insert("signature", class_ind++);
03812 }
03813 
03814 static void Signature_init()
03815 {
03816   Signature_make(Signature_Class);
03817 
03818   Signature_agritems = Signature_Class->getAttributes();
03819   Signature_idr_objsz = Signature_Class->getIDRObjectSize(&Signature_idr_psize, 0);
03820 
03821   eyedb::ObjectPeer::setUnrealizable(Signature_Class, eyedb::True);
03822 }
03823 
03824 static eyedb::Status Signature_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
03825 {
03826   return eyedb::Success;
03827 }
03828 
03829 Signature::Signature(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
03830 {
03831   initialize(_db);
03832 }
03833 
03834 Signature::Signature(const eyedb::Class *_cls, eyedb::Data _idr)
03835 {
03836   setClass((eyedb::Class *)_cls);
03837 
03838   eyedb::Size idr_psize;
03839   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
03840   if (_idr)
03841     idr->setIDR(idr_tsize, _idr);
03842   else
03843     {
03844       idr->setIDR(idr_tsize);
03845       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03846     }
03847   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03848   eyedb::ClassPeer::newObjRealize(getClass(), this);
03849   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03850   userInitialize();
03851 }
03852 
03853 void Signature::initialize(eyedb::Database *_db)
03854 {
03855   setClass((_db ? _db->getSchema()->getClass("signature") : Signature_Class));
03856 
03857   eyedb::Size idr_psize;
03858   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
03859   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03860   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03861   eyedb::ClassPeer::newObjRealize(getClass(), this);
03862   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03863   userInitialize();
03864 }
03865 
03866 Signature::Signature(const Signature& x) : eyedb::Struct(x)
03867 {
03868   userCopy(x);
03869 }
03870 
03871 Signature& Signature::operator=(const Signature& x)
03872 {
03873   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
03874   userCopy(x);
03875   return *this;
03876 }
03877 
03878 Signature::Signature(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
03879 {
03880   setClass((db ? db->getSchema()->getClass("signature") : Signature_Class));
03881 
03882   eyedb::Size idr_psize;
03883   getClass()->getIDRObjectSize(&idr_psize);
03884   if (!share)
03885     {
03886       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03887       eyedb::ClassPeer::newObjRealize(getClass(), this);
03888     }
03889 
03890   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03891   userCopy(*x);
03892 }
03893 
03894 Signature::Signature(const Signature *x, eyedb::Bool share) : eyedb::Struct(x, share)
03895 {
03896   setClass((db ? db->getSchema()->getClass("signature") : Signature_Class));
03897 
03898   eyedb::Size idr_psize;
03899   getClass()->getIDRObjectSize(&idr_psize);
03900   if (!share)
03901     {
03902       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03903       eyedb::ClassPeer::newObjRealize(getClass(), this);
03904     }
03905 
03906   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03907   userCopy(*x);
03908 }
03909 
03910 eyedb::Status Signature::setRettype(ArgType*_rettype)
03911 {
03912   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03913   eyedb::Status status;
03914 
03915   eyedb::Object *_orettype = _rettype;
03916 
03917   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_orettype, 1, 0);
03918   return status;
03919 }
03920 
03921 const ArgType*Signature::getRettype(eyedb::Bool *isnull, eyedb::Status *rs) const 
03922 {
03923   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03924   eyedb::Object *__o = 0, *__go;
03925   eyedb::Status s;
03926 
03927   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
03928   if (s) {if (rs) *rs = s; return 0;}
03929 
03930   if (__o)
03931     {
03932      if (eyedb::ObjectPeer::isGRTObject(__o)) {
03933        return (ArgType *)__o;
03934      }
03935      __go = (ArgType *)make_object(__o, eyedb::False);
03936      if (__go)
03937       {
03938        __o = __go;;
03939        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
03940        eyedb::ObjectPeer::decrRefCount(__o);
03941        if (s) {if (rs) *rs = s; return 0;}
03942       }
03943     }
03944   return (ArgType*)__o;
03945 }
03946 
03947 ArgType*Signature::getRettype(eyedb::Bool *isnull, eyedb::Status *rs) 
03948 {
03949   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03950   eyedb::Object *__o = 0, *__go;
03951   eyedb::Status s;
03952 
03953   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
03954   if (s) {if (rs) *rs = s; return 0;}
03955 
03956   if (__o)
03957     {
03958      if (eyedb::ObjectPeer::isGRTObject(__o)) {
03959        return (ArgType *)__o;
03960      }
03961      __go = (ArgType *)make_object(__o, eyedb::False);
03962      if (__go)
03963       {
03964        __o = __go;;
03965        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
03966        eyedb::ObjectPeer::decrRefCount(__o);
03967        if (s) {if (rs) *rs = s; return 0;}
03968       }
03969     }
03970   return (ArgType*)__o;
03971 }
03972 
03973 eyedb::Status Signature::setNargs(eyedblib::int32 _nargs)
03974 {
03975   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03976   eyedb::Status status;
03977 
03978   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_nargs, 1, 0);
03979   return status;
03980 }
03981 
03982 eyedblib::int32 Signature::getNargs(eyedb::Bool *isnull, eyedb::Status *rs) const
03983 {
03984   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03985   eyedblib::int32 __tmp = 0;
03986   eyedb::Status s;
03987 
03988   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03989   if (s) {if (rs) *rs = s; return 0;}
03990   return __tmp;
03991 }
03992 
03993 eyedb::Status Signature::setTypes(unsigned int a0, ArgType*_types)
03994 {
03995   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03996   eyedb::Status status;
03997   eyedb::Size from = a0;
03998 
03999   eyedb::Size size;
04000   status = getClass()->getAttributes()[4]->getSize(this, size);
04001   if (status)
04002     return status;
04003 
04004   if (size <= from)
04005     status = getClass()->getAttributes()[4]->setSize(this, from+1);
04006   if (status)
04007     return status;
04008 
04009   eyedb::Object *_otypes = _types;
04010 
04011   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_otypes, 1, from);
04012   return status;
04013 }
04014 
04015 eyedb::Status Signature::setTypesCount(unsigned int a0)
04016 {
04017   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04018   eyedb::Status status;
04019   eyedb::Size from = a0;
04020   status = getClass()->getAttributes()[4]->setSize(this, from);
04021   return status;
04022 }
04023 
04024 const ArgType*Signature::getTypes(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const 
04025 {
04026   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04027   eyedb::Object *__o = 0, *__go;
04028   eyedb::Status s;
04029   eyedb::Size from = a0;
04030 
04031   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, from, isnull);
04032   if (s) {if (rs) *rs = s; return 0;}
04033 
04034   if (__o)
04035     {
04036      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04037        return (ArgType *)__o;
04038      }
04039      __go = (ArgType *)make_object(__o, eyedb::False);
04040      if (__go)
04041       {
04042        __o = __go;;
04043        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, from);
04044        eyedb::ObjectPeer::decrRefCount(__o);
04045        if (s) {if (rs) *rs = s; return 0;}
04046       }
04047     }
04048   return (ArgType*)__o;
04049 }
04050 
04051 ArgType*Signature::getTypes(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) 
04052 {
04053   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04054   eyedb::Object *__o = 0, *__go;
04055   eyedb::Status s;
04056   eyedb::Size from = a0;
04057 
04058   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, from, isnull);
04059   if (s) {if (rs) *rs = s; return 0;}
04060 
04061   if (__o)
04062     {
04063      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04064        return (ArgType *)__o;
04065      }
04066      __go = (ArgType *)make_object(__o, eyedb::False);
04067      if (__go)
04068       {
04069        __o = __go;;
04070        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, from);
04071        eyedb::ObjectPeer::decrRefCount(__o);
04072        if (s) {if (rs) *rs = s; return 0;}
04073       }
04074     }
04075   return (ArgType*)__o;
04076 }
04077 
04078 unsigned int Signature::getTypesCount(eyedb::Status *rs) const
04079 {
04080   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04081   eyedb::Size size;
04082   eyedb::Status s;
04083   s = getClass()->getAttributes()[4]->getSize(this, size);
04084   if (s) {if (rs) *rs = s; return 0;}
04085   return (int)size;
04086 }
04087 
04088 static const eyedb::Attribute **Executable_agritems;
04089 static eyedb::Size Executable_idr_objsz, Executable_idr_psize;
04090 
04091 static eyedb::StructClass *Executable_make(eyedb::StructClass *Executable_class = 0, eyedb::Schema *m = 0)
04092 {
04093   if (!Executable_class)
04094     return new eyedb::StructClass("executable", (m ? m->getClass("struct") : eyedb::Struct_Class));
04095   eyedb::Attribute *attr[8];
04096   int *dims;
04097 
04098   dims = new int[1];
04099   dims[0] = -1;
04100   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "exname", eyedb::False, 1, dims);
04101   delete[] dims;
04102 
04103   dims = 0;
04104   attr[3] = new eyedb::Attribute((m ? m->getClass("executable_lang") : ExecutableLang_Class), "lang", eyedb::False, 0, dims);
04105 
04106   dims = 0;
04107   attr[4] = new eyedb::Attribute((m ? m->getClass("executable_localisation") : ExecutableLocalisation_Class), "loc", eyedb::False, 0, dims);
04108 
04109   dims = 0;
04110   attr[5] = new eyedb::Attribute((m ? m->getClass("signature") : Signature_Class), "sign", eyedb::False, 0, dims);
04111 
04112   dims = new int[1];
04113   dims[0] = -1;
04114   attr[6] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "intname", eyedb::False, 1, dims);
04115   delete[] dims;
04116 
04117   dims = new int[1];
04118   dims[0] = -1;
04119   attr[7] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "extref_body", eyedb::False, 1, dims);
04120   delete[] dims;
04121 
04122   Executable_class->setAttributes(&attr[2], 6);
04123 
04124   delete attr[2];
04125   delete attr[3];
04126   delete attr[4];
04127   delete attr[5];
04128   delete attr[6];
04129   delete attr[7];
04130 
04131   eyedb::ClassPeer::setMType(Executable_class, eyedb::Class::System);
04132 
04133   return Executable_class;
04134 }
04135 
04136 eyedb::Object *Executable_construct_x(const eyedb::Class *cls, eyedb::Data idr)
04137 {
04138   return new Executable(cls, idr);
04139 }
04140 
04141 eyedb::Object *Executable_construct(const eyedb::Object *o, eyedb::Bool share)
04142 {
04143   return new Executable((const eyedb::Struct *)o, share);
04144 }
04145 
04146 static void Executable_init_p()
04147 {
04148   Executable_Class = Executable_make();
04149   constructors_x[class_ind] = Executable_construct_x;
04150   constructors[class_ind] = Executable_construct;
04151   hash->insert("executable", class_ind++);
04152 }
04153 
04154 static void Executable_init()
04155 {
04156   Executable_make(Executable_Class);
04157 
04158   Executable_agritems = Executable_Class->getAttributes();
04159   Executable_idr_objsz = Executable_Class->getIDRObjectSize(&Executable_idr_psize, 0);
04160 
04161   eyedb::ObjectPeer::setUnrealizable(Executable_Class, eyedb::True);
04162 }
04163 
04164 static eyedb::Status Executable_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
04165 {
04166   eyedb::AttributeComponent *comp;
04167   const eyedb::Dataspace *dataspace;
04168   eyedb::ClassComponent *clcomp;
04169   eyedb::Status status;
04170   int *impl_hints;
04171   comp = new eyedb::NotNullConstraint(db, cls, "executable.exname", eyedb::True);
04172   cls->add(comp->getInd(), comp);
04173 
04174   return eyedb::Success;
04175 }
04176 
04177 Executable::Executable(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
04178 {
04179   initialize(_db);
04180 }
04181 
04182 Executable::Executable(const eyedb::Class *_cls, eyedb::Data _idr)
04183 {
04184   setClass((eyedb::Class *)_cls);
04185 
04186   eyedb::Size idr_psize;
04187   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
04188   if (_idr)
04189     idr->setIDR(idr_tsize, _idr);
04190   else
04191     {
04192       idr->setIDR(idr_tsize);
04193       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04194     }
04195   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04196   eyedb::ClassPeer::newObjRealize(getClass(), this);
04197   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04198   userInitialize();
04199 }
04200 
04201 void Executable::initialize(eyedb::Database *_db)
04202 {
04203   setClass((_db ? _db->getSchema()->getClass("executable") : Executable_Class));
04204 
04205   eyedb::Size idr_psize;
04206   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
04207   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04208   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04209   eyedb::ClassPeer::newObjRealize(getClass(), this);
04210   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04211   userInitialize();
04212 }
04213 
04214 Executable::Executable(const Executable& x) : eyedb::Struct(x)
04215 {
04216   userCopy(x);
04217 }
04218 
04219 Executable& Executable::operator=(const Executable& x)
04220 {
04221   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
04222   userCopy(x);
04223   return *this;
04224 }
04225 
04226 Executable::Executable(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
04227 {
04228   setClass((db ? db->getSchema()->getClass("executable") : Executable_Class));
04229 
04230   eyedb::Size idr_psize;
04231   getClass()->getIDRObjectSize(&idr_psize);
04232   if (!share)
04233     {
04234       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04235       eyedb::ClassPeer::newObjRealize(getClass(), this);
04236     }
04237 
04238   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04239   userCopy(*x);
04240 }
04241 
04242 Executable::Executable(const Executable *x, eyedb::Bool share) : eyedb::Struct(x, share)
04243 {
04244   setClass((db ? db->getSchema()->getClass("executable") : Executable_Class));
04245 
04246   eyedb::Size idr_psize;
04247   getClass()->getIDRObjectSize(&idr_psize);
04248   if (!share)
04249     {
04250       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04251       eyedb::ClassPeer::newObjRealize(getClass(), this);
04252     }
04253 
04254   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04255   userCopy(*x);
04256 }
04257 
04258 eyedb::Status Executable::setExname(const std::string &_exname)
04259 {
04260   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04261   eyedb::Status status;
04262   eyedb::Size size;
04263   eyedb::Size len = _exname.size() + 1;
04264 
04265   status = getClass()->getAttributes()[2]->getSize(this, size);
04266   if (status)
04267     return status;
04268 
04269   if (size != len)
04270     status = getClass()->getAttributes()[2]->setSize(this, len);
04271   if (status)
04272     return status;
04273 
04274   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_exname.c_str(), len, 0);
04275   return status;
04276 
04277 }
04278 
04279 eyedb::Status Executable::setExname(unsigned int a0, char _exname)
04280 {
04281   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04282   eyedb::Status status;
04283   eyedb::Size from = a0;
04284 
04285   eyedb::Size size;
04286   status = getClass()->getAttributes()[2]->getSize(this, size);
04287   if (status)
04288     return status;
04289 
04290   if (size <= from)
04291     status = getClass()->getAttributes()[2]->setSize(this, from+1);
04292   if (status)
04293     return status;
04294 
04295   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_exname, 1, from);
04296   return status;
04297 }
04298 
04299 std::string Executable::getExname(eyedb::Bool *isnull, eyedb::Status *rs) const
04300 {
04301   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04302   eyedb::Data data;
04303   eyedb::Status s;
04304 
04305   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
04306   if (s) {if (rs) *rs = s; return 0;}
04307   if (!data) data = nulldata;
04308   return (const char *)data;
04309 }
04310 
04311 char Executable::getExname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
04312 {
04313   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04314   char __tmp = 0;
04315   eyedb::Status s;
04316   eyedb::Size from = a0;
04317 
04318   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
04319   if (s) {if (rs) *rs = s; return 0;}
04320   return __tmp;
04321 }
04322 
04323 eyedb::Status Executable::setLang(ExecutableLang _lang, eyedb::Bool _check_value)
04324 {
04325   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04326   eyedb::Status status;
04327   eyedblib::int32 __tmp = _lang;
04328 
04329   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
04330   return status;
04331 }
04332 
04333 ExecutableLang Executable::getLang(eyedb::Bool *isnull, eyedb::Status *rs) const
04334 {
04335   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04336   eyedblib::int32  __tmp = 0;
04337   eyedb::Status s;
04338 
04339   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
04340   if (s) {if (rs) *rs = s; return (ExecutableLang)0;}
04341   return (ExecutableLang)__tmp;
04342 }
04343 
04344 eyedb::Status Executable::setLoc(ExecutableLocalisation _loc, eyedb::Bool _check_value)
04345 {
04346   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04347   eyedb::Status status;
04348   eyedblib::int32 __tmp = _loc;
04349 
04350   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
04351   return status;
04352 }
04353 
04354 ExecutableLocalisation Executable::getLoc(eyedb::Bool *isnull, eyedb::Status *rs) const
04355 {
04356   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04357   eyedblib::int32  __tmp = 0;
04358   eyedb::Status s;
04359 
04360   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
04361   if (s) {if (rs) *rs = s; return (ExecutableLocalisation)0;}
04362   return (ExecutableLocalisation)__tmp;
04363 }
04364 
04365 eyedb::Status Executable::setSign(Signature*_sign)
04366 {
04367   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04368   eyedb::Status status;
04369 
04370   eyedb::Object *_osign = _sign;
04371 
04372   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_osign, 1, 0);
04373   return status;
04374 }
04375 
04376 const Signature*Executable::getSign(eyedb::Bool *isnull, eyedb::Status *rs) const 
04377 {
04378   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04379   eyedb::Object *__o = 0, *__go;
04380   eyedb::Status s;
04381 
04382   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
04383   if (s) {if (rs) *rs = s; return 0;}
04384 
04385   if (__o)
04386     {
04387      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04388        return (Signature *)__o;
04389      }
04390      __go = (Signature *)make_object(__o, eyedb::False);
04391      if (__go)
04392       {
04393        __o = __go;;
04394        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
04395        eyedb::ObjectPeer::decrRefCount(__o);
04396        if (s) {if (rs) *rs = s; return 0;}
04397       }
04398     }
04399   return (Signature*)__o;
04400 }
04401 
04402 Signature*Executable::getSign(eyedb::Bool *isnull, eyedb::Status *rs) 
04403 {
04404   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04405   eyedb::Object *__o = 0, *__go;
04406   eyedb::Status s;
04407 
04408   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
04409   if (s) {if (rs) *rs = s; return 0;}
04410 
04411   if (__o)
04412     {
04413      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04414        return (Signature *)__o;
04415      }
04416      __go = (Signature *)make_object(__o, eyedb::False);
04417      if (__go)
04418       {
04419        __o = __go;;
04420        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
04421        eyedb::ObjectPeer::decrRefCount(__o);
04422        if (s) {if (rs) *rs = s; return 0;}
04423       }
04424     }
04425   return (Signature*)__o;
04426 }
04427 
04428 eyedb::Status Executable::setIntname(const std::string &_intname)
04429 {
04430   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04431   eyedb::Status status;
04432   eyedb::Size size;
04433   eyedb::Size len = _intname.size() + 1;
04434 
04435   status = getClass()->getAttributes()[6]->getSize(this, size);
04436   if (status)
04437     return status;
04438 
04439   if (size != len)
04440     status = getClass()->getAttributes()[6]->setSize(this, len);
04441   if (status)
04442     return status;
04443 
04444   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)_intname.c_str(), len, 0);
04445   return status;
04446 
04447 }
04448 
04449 eyedb::Status Executable::setIntname(unsigned int a0, char _intname)
04450 {
04451   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04452   eyedb::Status status;
04453   eyedb::Size from = a0;
04454 
04455   eyedb::Size size;
04456   status = getClass()->getAttributes()[6]->getSize(this, size);
04457   if (status)
04458     return status;
04459 
04460   if (size <= from)
04461     status = getClass()->getAttributes()[6]->setSize(this, from+1);
04462   if (status)
04463     return status;
04464 
04465   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_intname, 1, from);
04466   return status;
04467 }
04468 
04469 std::string Executable::getIntname(eyedb::Bool *isnull, eyedb::Status *rs) const
04470 {
04471   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04472   eyedb::Data data;
04473   eyedb::Status s;
04474 
04475   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
04476   if (s) {if (rs) *rs = s; return 0;}
04477   if (!data) data = nulldata;
04478   return (const char *)data;
04479 }
04480 
04481 char Executable::getIntname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
04482 {
04483   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04484   char __tmp = 0;
04485   eyedb::Status s;
04486   eyedb::Size from = a0;
04487 
04488   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
04489   if (s) {if (rs) *rs = s; return 0;}
04490   return __tmp;
04491 }
04492 
04493 eyedb::Status Executable::setExtrefBody(const std::string &_extref_body)
04494 {
04495   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04496   eyedb::Status status;
04497   eyedb::Size size;
04498   eyedb::Size len = _extref_body.size() + 1;
04499 
04500   status = getClass()->getAttributes()[7]->getSize(this, size);
04501   if (status)
04502     return status;
04503 
04504   if (size != len)
04505     status = getClass()->getAttributes()[7]->setSize(this, len);
04506   if (status)
04507     return status;
04508 
04509   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)_extref_body.c_str(), len, 0);
04510   return status;
04511 
04512 }
04513 
04514 eyedb::Status Executable::setExtrefBody(unsigned int a0, char _extref_body)
04515 {
04516   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04517   eyedb::Status status;
04518   eyedb::Size from = a0;
04519 
04520   eyedb::Size size;
04521   status = getClass()->getAttributes()[7]->getSize(this, size);
04522   if (status)
04523     return status;
04524 
04525   if (size <= from)
04526     status = getClass()->getAttributes()[7]->setSize(this, from+1);
04527   if (status)
04528     return status;
04529 
04530   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)&_extref_body, 1, from);
04531   return status;
04532 }
04533 
04534 std::string Executable::getExtrefBody(eyedb::Bool *isnull, eyedb::Status *rs) const
04535 {
04536   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04537   eyedb::Data data;
04538   eyedb::Status s;
04539 
04540   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
04541   if (s) {if (rs) *rs = s; return 0;}
04542   if (!data) data = nulldata;
04543   return (const char *)data;
04544 }
04545 
04546 char Executable::getExtrefBody(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
04547 {
04548   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04549   char __tmp = 0;
04550   eyedb::Status s;
04551   eyedb::Size from = a0;
04552 
04553   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
04554   if (s) {if (rs) *rs = s; return 0;}
04555   return __tmp;
04556 }
04557 
04558 static const eyedb::Attribute **AgregatClassExecutable_agritems;
04559 static eyedb::Size AgregatClassExecutable_idr_objsz, AgregatClassExecutable_idr_psize;
04560 
04561 static eyedb::StructClass *AgregatClassExecutable_make(eyedb::StructClass *AgregatClassExecutable_class = 0, eyedb::Schema *m = 0)
04562 {
04563   if (!AgregatClassExecutable_class)
04564     return new eyedb::StructClass("agregat_class_executable", (m ? m->getClass("agregat_class_component") : AgregatClassComponent_Class));
04565   eyedb::Attribute *attr[5];
04566   int *dims;
04567 
04568   dims = 0;
04569   attr[4] = new eyedb::Attribute((m ? m->getClass("executable") : Executable_Class), "ex", eyedb::False, 0, dims);
04570 
04571   AgregatClassExecutable_class->setAttributes(&attr[4], 1);
04572 
04573   delete attr[4];
04574 
04575   eyedb::ClassPeer::setMType(AgregatClassExecutable_class, eyedb::Class::System);
04576 
04577   return AgregatClassExecutable_class;
04578 }
04579 
04580 eyedb::Object *AgregatClassExecutable_construct_x(const eyedb::Class *cls, eyedb::Data idr)
04581 {
04582   return new AgregatClassExecutable(cls, idr);
04583 }
04584 
04585 eyedb::Object *AgregatClassExecutable_construct(const eyedb::Object *o, eyedb::Bool share)
04586 {
04587   return new AgregatClassExecutable((const eyedb::Struct *)o, share);
04588 }
04589 
04590 static void AgregatClassExecutable_init_p()
04591 {
04592   AgregatClassExecutable_Class = AgregatClassExecutable_make();
04593   constructors_x[class_ind] = AgregatClassExecutable_construct_x;
04594   constructors[class_ind] = AgregatClassExecutable_construct;
04595   hash->insert("agregat_class_executable", class_ind++);
04596 }
04597 
04598 static void AgregatClassExecutable_init()
04599 {
04600   AgregatClassExecutable_make(AgregatClassExecutable_Class);
04601 
04602   AgregatClassExecutable_agritems = AgregatClassExecutable_Class->getAttributes();
04603   AgregatClassExecutable_idr_objsz = AgregatClassExecutable_Class->getIDRObjectSize(&AgregatClassExecutable_idr_psize, 0);
04604 
04605   eyedb::ObjectPeer::setUnrealizable(AgregatClassExecutable_Class, eyedb::True);
04606 }
04607 
04608 static eyedb::Status AgregatClassExecutable_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
04609 {
04610   eyedb::AttributeComponent *comp;
04611   const eyedb::Dataspace *dataspace;
04612   eyedb::ClassComponent *clcomp;
04613   eyedb::Status status;
04614   int *impl_hints;
04615   impl_hints = new int[8];
04616   impl_hints[0] = 0;
04617   impl_hints[1] = 0;
04618   impl_hints[2] = 0;
04619   impl_hints[3] = 0;
04620   impl_hints[4] = 0;
04621   impl_hints[5] = 0;
04622   impl_hints[6] = 0;
04623   impl_hints[7] = 0;
04624   dataspace = 0;;
04625   comp = new eyedb::HashIndex(db, cls, "agregat_class_executable.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
04626   delete [] impl_hints;
04627   cls->add(comp->getInd(), comp);
04628 
04629   impl_hints = new int[8];
04630   impl_hints[0] = 0;
04631   impl_hints[1] = 0;
04632   impl_hints[2] = 0;
04633   impl_hints[3] = 0;
04634   impl_hints[4] = 0;
04635   impl_hints[5] = 0;
04636   impl_hints[6] = 0;
04637   impl_hints[7] = 0;
04638   dataspace = 0;;
04639   comp = new eyedb::HashIndex(db, cls, "agregat_class_executable.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
04640   delete [] impl_hints;
04641   cls->add(comp->getInd(), comp);
04642 
04643   return eyedb::Success;
04644 }
04645 
04646 AgregatClassExecutable::AgregatClassExecutable(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AgregatClassComponent(_db, _dataspace, 1)
04647 {
04648   initialize(_db);
04649 }
04650 
04651 AgregatClassExecutable::AgregatClassExecutable(const eyedb::Class *_cls, eyedb::Data _idr): AgregatClassComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
04652 {
04653   setClass((eyedb::Class *)_cls);
04654 
04655   eyedb::Size idr_psize;
04656   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
04657   if (_idr)
04658     idr->setIDR(idr_tsize, _idr);
04659   else
04660     {
04661       idr->setIDR(idr_tsize);
04662       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04663     }
04664   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04665   eyedb::ClassPeer::newObjRealize(getClass(), this);
04666   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04667   userInitialize();
04668 }
04669 
04670 void AgregatClassExecutable::initialize(eyedb::Database *_db)
04671 {
04672   setClass((_db ? _db->getSchema()->getClass("agregat_class_executable") : AgregatClassExecutable_Class));
04673 
04674   eyedb::Size idr_psize;
04675   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
04676   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04677   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04678   eyedb::ClassPeer::newObjRealize(getClass(), this);
04679   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04680   userInitialize();
04681 }
04682 
04683 AgregatClassExecutable::AgregatClassExecutable(const AgregatClassExecutable& x) : AgregatClassComponent(x)
04684 {
04685   userCopy(x);
04686 }
04687 
04688 AgregatClassExecutable& AgregatClassExecutable::operator=(const AgregatClassExecutable& x)
04689 {
04690   *(AgregatClassComponent *)this = AgregatClassComponent::operator=((const AgregatClassComponent &)x);
04691   userCopy(x);
04692   return *this;
04693 }
04694 
04695 AgregatClassExecutable::AgregatClassExecutable(const eyedb::Struct *x, eyedb::Bool share) : AgregatClassComponent(x, share, 1)
04696 {
04697   setClass((db ? db->getSchema()->getClass("agregat_class_executable") : AgregatClassExecutable_Class));
04698 
04699   eyedb::Size idr_psize;
04700   getClass()->getIDRObjectSize(&idr_psize);
04701   if (!share)
04702     {
04703       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04704       eyedb::ClassPeer::newObjRealize(getClass(), this);
04705     }
04706 
04707   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04708   userCopy(*x);
04709 }
04710 
04711 AgregatClassExecutable::AgregatClassExecutable(const AgregatClassExecutable *x, eyedb::Bool share) : AgregatClassComponent(x, share, 1)
04712 {
04713   setClass((db ? db->getSchema()->getClass("agregat_class_executable") : AgregatClassExecutable_Class));
04714 
04715   eyedb::Size idr_psize;
04716   getClass()->getIDRObjectSize(&idr_psize);
04717   if (!share)
04718     {
04719       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04720       eyedb::ClassPeer::newObjRealize(getClass(), this);
04721     }
04722 
04723   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04724   userCopy(*x);
04725 }
04726 
04727 eyedb::Status AgregatClassExecutable::setEx(Executable*_ex)
04728 {
04729   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04730   eyedb::Status status;
04731 
04732   eyedb::Object *_oex = _ex;
04733 
04734   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_oex, 1, 0);
04735   return status;
04736 }
04737 
04738 const Executable*AgregatClassExecutable::getEx(eyedb::Bool *isnull, eyedb::Status *rs) const 
04739 {
04740   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04741   eyedb::Object *__o = 0, *__go;
04742   eyedb::Status s;
04743 
04744   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
04745   if (s) {if (rs) *rs = s; return 0;}
04746 
04747   if (__o)
04748     {
04749      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04750        return (Executable *)__o;
04751      }
04752      __go = (Executable *)make_object(__o, eyedb::False);
04753      if (__go)
04754       {
04755        __o = __go;;
04756        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
04757        eyedb::ObjectPeer::decrRefCount(__o);
04758        if (s) {if (rs) *rs = s; return 0;}
04759       }
04760     }
04761   return (Executable*)__o;
04762 }
04763 
04764 Executable*AgregatClassExecutable::getEx(eyedb::Bool *isnull, eyedb::Status *rs) 
04765 {
04766   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04767   eyedb::Object *__o = 0, *__go;
04768   eyedb::Status s;
04769 
04770   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
04771   if (s) {if (rs) *rs = s; return 0;}
04772 
04773   if (__o)
04774     {
04775      if (eyedb::ObjectPeer::isGRTObject(__o)) {
04776        return (Executable *)__o;
04777      }
04778      __go = (Executable *)make_object(__o, eyedb::False);
04779      if (__go)
04780       {
04781        __o = __go;;
04782        s = getClass()->getAttributes()[4]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
04783        eyedb::ObjectPeer::decrRefCount(__o);
04784        if (s) {if (rs) *rs = s; return 0;}
04785       }
04786     }
04787   return (Executable*)__o;
04788 }
04789 
04790 static const eyedb::Attribute **Method_agritems;
04791 static eyedb::Size Method_idr_objsz, Method_idr_psize;
04792 
04793 static eyedb::StructClass *Method_make(eyedb::StructClass *Method_class = 0, eyedb::Schema *m = 0)
04794 {
04795   if (!Method_class)
04796     return new eyedb::StructClass("method", (m ? m->getClass("agregat_class_executable") : AgregatClassExecutable_Class));
04797   eyedb::Attribute *attr[5];
04798 
04799   Method_class->setAttributes(&attr[5], 0);
04800 
04801 
04802   eyedb::ClassPeer::setMType(Method_class, eyedb::Class::System);
04803 
04804   return Method_class;
04805 }
04806 
04807 eyedb::Object *Method_construct_x(const eyedb::Class *cls, eyedb::Data idr)
04808 {
04809   return new Method(cls, idr);
04810 }
04811 
04812 eyedb::Object *Method_construct(const eyedb::Object *o, eyedb::Bool share)
04813 {
04814   return new Method((const eyedb::Struct *)o, share);
04815 }
04816 
04817 static void Method_init_p()
04818 {
04819   Method_Class = Method_make();
04820   constructors_x[class_ind] = Method_construct_x;
04821   constructors[class_ind] = Method_construct;
04822   hash->insert("method", class_ind++);
04823 }
04824 
04825 static void Method_init()
04826 {
04827   Method_make(Method_Class);
04828 
04829   Method_agritems = Method_Class->getAttributes();
04830   Method_idr_objsz = Method_Class->getIDRObjectSize(&Method_idr_psize, 0);
04831 
04832   eyedb::ObjectPeer::setUnrealizable(Method_Class, eyedb::True);
04833 }
04834 
04835 static eyedb::Status Method_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
04836 {
04837   eyedb::AttributeComponent *comp;
04838   const eyedb::Dataspace *dataspace;
04839   eyedb::ClassComponent *clcomp;
04840   eyedb::Status status;
04841   int *impl_hints;
04842   impl_hints = new int[8];
04843   impl_hints[0] = 0;
04844   impl_hints[1] = 0;
04845   impl_hints[2] = 0;
04846   impl_hints[3] = 0;
04847   impl_hints[4] = 0;
04848   impl_hints[5] = 0;
04849   impl_hints[6] = 0;
04850   impl_hints[7] = 0;
04851   dataspace = 0;;
04852   comp = new eyedb::HashIndex(db, cls, "method.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
04853   delete [] impl_hints;
04854   cls->add(comp->getInd(), comp);
04855 
04856   impl_hints = new int[8];
04857   impl_hints[0] = 0;
04858   impl_hints[1] = 0;
04859   impl_hints[2] = 0;
04860   impl_hints[3] = 0;
04861   impl_hints[4] = 0;
04862   impl_hints[5] = 0;
04863   impl_hints[6] = 0;
04864   impl_hints[7] = 0;
04865   dataspace = 0;;
04866   comp = new eyedb::HashIndex(db, cls, "method.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
04867   delete [] impl_hints;
04868   cls->add(comp->getInd(), comp);
04869 
04870   return eyedb::Success;
04871 }
04872 
04873 Method::Method(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AgregatClassExecutable(_db, _dataspace, 1)
04874 {
04875   initialize(_db);
04876 }
04877 
04878 Method::Method(const eyedb::Class *_cls, eyedb::Data _idr): AgregatClassExecutable((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
04879 {
04880   setClass((eyedb::Class *)_cls);
04881 
04882   eyedb::Size idr_psize;
04883   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
04884   if (_idr)
04885     idr->setIDR(idr_tsize, _idr);
04886   else
04887     {
04888       idr->setIDR(idr_tsize);
04889       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04890     }
04891   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04892   eyedb::ClassPeer::newObjRealize(getClass(), this);
04893   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04894   userInitialize();
04895 }
04896 
04897 void Method::initialize(eyedb::Database *_db)
04898 {
04899   setClass((_db ? _db->getSchema()->getClass("method") : Method_Class));
04900 
04901   eyedb::Size idr_psize;
04902   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
04903   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04904   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04905   eyedb::ClassPeer::newObjRealize(getClass(), this);
04906   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04907   userInitialize();
04908 }
04909 
04910 Method::Method(const Method& x) : AgregatClassExecutable(x)
04911 {
04912   userCopy(x);
04913 }
04914 
04915 Method& Method::operator=(const Method& x)
04916 {
04917   *(AgregatClassExecutable *)this = AgregatClassExecutable::operator=((const AgregatClassExecutable &)x);
04918   userCopy(x);
04919   return *this;
04920 }
04921 
04922 Method::Method(const eyedb::Struct *x, eyedb::Bool share) : AgregatClassExecutable(x, share, 1)
04923 {
04924   setClass((db ? db->getSchema()->getClass("method") : Method_Class));
04925 
04926   eyedb::Size idr_psize;
04927   getClass()->getIDRObjectSize(&idr_psize);
04928   if (!share)
04929     {
04930       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04931       eyedb::ClassPeer::newObjRealize(getClass(), this);
04932     }
04933 
04934   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04935   userCopy(*x);
04936 }
04937 
04938 Method::Method(const Method *x, eyedb::Bool share) : AgregatClassExecutable(x, share, 1)
04939 {
04940   setClass((db ? db->getSchema()->getClass("method") : Method_Class));
04941 
04942   eyedb::Size idr_psize;
04943   getClass()->getIDRObjectSize(&idr_psize);
04944   if (!share)
04945     {
04946       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04947       eyedb::ClassPeer::newObjRealize(getClass(), this);
04948     }
04949 
04950   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04951   userCopy(*x);
04952 }
04953 
04954 static const eyedb::Attribute **FEMethod_agritems;
04955 static eyedb::Size FEMethod_idr_objsz, FEMethod_idr_psize;
04956 
04957 static eyedb::StructClass *FEMethod_make(eyedb::StructClass *FEMethod_class = 0, eyedb::Schema *m = 0)
04958 {
04959   if (!FEMethod_class)
04960     return new eyedb::StructClass("fe_method", (m ? m->getClass("method") : Method_Class));
04961   eyedb::Attribute *attr[5];
04962 
04963   FEMethod_class->setAttributes(&attr[5], 0);
04964 
04965 
04966   eyedb::ClassPeer::setMType(FEMethod_class, eyedb::Class::System);
04967 
04968   return FEMethod_class;
04969 }
04970 
04971 eyedb::Object *FEMethod_construct_x(const eyedb::Class *cls, eyedb::Data idr)
04972 {
04973   return new FEMethod(cls, idr);
04974 }
04975 
04976 eyedb::Object *FEMethod_construct(const eyedb::Object *o, eyedb::Bool share)
04977 {
04978   return new FEMethod((const eyedb::Struct *)o, share);
04979 }
04980 
04981 static void FEMethod_init_p()
04982 {
04983   FEMethod_Class = FEMethod_make();
04984   constructors_x[class_ind] = FEMethod_construct_x;
04985   constructors[class_ind] = FEMethod_construct;
04986   hash->insert("fe_method", class_ind++);
04987 }
04988 
04989 static void FEMethod_init()
04990 {
04991   FEMethod_make(FEMethod_Class);
04992 
04993   FEMethod_agritems = FEMethod_Class->getAttributes();
04994   FEMethod_idr_objsz = FEMethod_Class->getIDRObjectSize(&FEMethod_idr_psize, 0);
04995 
04996   eyedb::ObjectPeer::setUnrealizable(FEMethod_Class, eyedb::True);
04997 }
04998 
04999 static eyedb::Status FEMethod_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05000 {
05001   eyedb::AttributeComponent *comp;
05002   const eyedb::Dataspace *dataspace;
05003   eyedb::ClassComponent *clcomp;
05004   eyedb::Status status;
05005   int *impl_hints;
05006   impl_hints = new int[8];
05007   impl_hints[0] = 0;
05008   impl_hints[1] = 0;
05009   impl_hints[2] = 0;
05010   impl_hints[3] = 0;
05011   impl_hints[4] = 0;
05012   impl_hints[5] = 0;
05013   impl_hints[6] = 0;
05014   impl_hints[7] = 0;
05015   dataspace = 0;;
05016   comp = new eyedb::HashIndex(db, cls, "fe_method.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05017   delete [] impl_hints;
05018   cls->add(comp->getInd(), comp);
05019 
05020   impl_hints = new int[8];
05021   impl_hints[0] = 0;
05022   impl_hints[1] = 0;
05023   impl_hints[2] = 0;
05024   impl_hints[3] = 0;
05025   impl_hints[4] = 0;
05026   impl_hints[5] = 0;
05027   impl_hints[6] = 0;
05028   impl_hints[7] = 0;
05029   dataspace = 0;;
05030   comp = new eyedb::HashIndex(db, cls, "fe_method.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05031   delete [] impl_hints;
05032   cls->add(comp->getInd(), comp);
05033 
05034   return eyedb::Success;
05035 }
05036 
05037 FEMethod::FEMethod(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : Method(_db, _dataspace, 1)
05038 {
05039   initialize(_db);
05040 }
05041 
05042 FEMethod::FEMethod(const eyedb::Class *_cls, eyedb::Data _idr): Method((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05043 {
05044   setClass((eyedb::Class *)_cls);
05045 
05046   eyedb::Size idr_psize;
05047   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05048   if (_idr)
05049     idr->setIDR(idr_tsize, _idr);
05050   else
05051     {
05052       idr->setIDR(idr_tsize);
05053       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05054     }
05055   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05056   eyedb::ClassPeer::newObjRealize(getClass(), this);
05057   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05058   userInitialize();
05059 }
05060 
05061 void FEMethod::initialize(eyedb::Database *_db)
05062 {
05063   setClass((_db ? _db->getSchema()->getClass("fe_method") : FEMethod_Class));
05064 
05065   eyedb::Size idr_psize;
05066   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05067   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05068   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05069   eyedb::ClassPeer::newObjRealize(getClass(), this);
05070   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05071   userInitialize();
05072 }
05073 
05074 FEMethod::FEMethod(const FEMethod& x) : Method(x)
05075 {
05076   userCopy(x);
05077 }
05078 
05079 FEMethod& FEMethod::operator=(const FEMethod& x)
05080 {
05081   *(Method *)this = Method::operator=((const Method &)x);
05082   userCopy(x);
05083   return *this;
05084 }
05085 
05086 FEMethod::FEMethod(const eyedb::Struct *x, eyedb::Bool share) : Method(x, share, 1)
05087 {
05088   setClass((db ? db->getSchema()->getClass("fe_method") : FEMethod_Class));
05089 
05090   eyedb::Size idr_psize;
05091   getClass()->getIDRObjectSize(&idr_psize);
05092   if (!share)
05093     {
05094       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05095       eyedb::ClassPeer::newObjRealize(getClass(), this);
05096     }
05097 
05098   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05099   userCopy(*x);
05100 }
05101 
05102 FEMethod::FEMethod(const FEMethod *x, eyedb::Bool share) : Method(x, share, 1)
05103 {
05104   setClass((db ? db->getSchema()->getClass("fe_method") : FEMethod_Class));
05105 
05106   eyedb::Size idr_psize;
05107   getClass()->getIDRObjectSize(&idr_psize);
05108   if (!share)
05109     {
05110       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05111       eyedb::ClassPeer::newObjRealize(getClass(), this);
05112     }
05113 
05114   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05115   userCopy(*x);
05116 }
05117 
05118 static const eyedb::Attribute **FEMethod_C_agritems;
05119 static eyedb::Size FEMethod_C_idr_objsz, FEMethod_C_idr_psize;
05120 
05121 static eyedb::StructClass *FEMethod_C_make(eyedb::StructClass *FEMethod_C_class = 0, eyedb::Schema *m = 0)
05122 {
05123   if (!FEMethod_C_class)
05124     return new eyedb::StructClass("fe_method_C", (m ? m->getClass("fe_method") : FEMethod_Class));
05125   eyedb::Attribute *attr[5];
05126 
05127   FEMethod_C_class->setAttributes(&attr[5], 0);
05128 
05129 
05130   eyedb::ClassPeer::setMType(FEMethod_C_class, eyedb::Class::System);
05131 
05132   return FEMethod_C_class;
05133 }
05134 
05135 eyedb::Object *FEMethod_C_construct_x(const eyedb::Class *cls, eyedb::Data idr)
05136 {
05137   return new FEMethod_C(cls, idr);
05138 }
05139 
05140 eyedb::Object *FEMethod_C_construct(const eyedb::Object *o, eyedb::Bool share)
05141 {
05142   return new FEMethod_C((const eyedb::Struct *)o, share);
05143 }
05144 
05145 static void FEMethod_C_init_p()
05146 {
05147   FEMethod_C_Class = FEMethod_C_make();
05148   constructors_x[class_ind] = FEMethod_C_construct_x;
05149   constructors[class_ind] = FEMethod_C_construct;
05150   hash->insert("fe_method_C", class_ind++);
05151 }
05152 
05153 static void FEMethod_C_init()
05154 {
05155   FEMethod_C_make(FEMethod_C_Class);
05156 
05157   FEMethod_C_agritems = FEMethod_C_Class->getAttributes();
05158   FEMethod_C_idr_objsz = FEMethod_C_Class->getIDRObjectSize(&FEMethod_C_idr_psize, 0);
05159 
05160   eyedb::ObjectPeer::setUnrealizable(FEMethod_C_Class, eyedb::True);
05161 }
05162 
05163 static eyedb::Status FEMethod_C_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05164 {
05165   eyedb::AttributeComponent *comp;
05166   const eyedb::Dataspace *dataspace;
05167   eyedb::ClassComponent *clcomp;
05168   eyedb::Status status;
05169   int *impl_hints;
05170   impl_hints = new int[8];
05171   impl_hints[0] = 0;
05172   impl_hints[1] = 0;
05173   impl_hints[2] = 0;
05174   impl_hints[3] = 0;
05175   impl_hints[4] = 0;
05176   impl_hints[5] = 0;
05177   impl_hints[6] = 0;
05178   impl_hints[7] = 0;
05179   dataspace = 0;;
05180   comp = new eyedb::HashIndex(db, cls, "fe_method_C.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05181   delete [] impl_hints;
05182   cls->add(comp->getInd(), comp);
05183 
05184   impl_hints = new int[8];
05185   impl_hints[0] = 0;
05186   impl_hints[1] = 0;
05187   impl_hints[2] = 0;
05188   impl_hints[3] = 0;
05189   impl_hints[4] = 0;
05190   impl_hints[5] = 0;
05191   impl_hints[6] = 0;
05192   impl_hints[7] = 0;
05193   dataspace = 0;;
05194   comp = new eyedb::HashIndex(db, cls, "fe_method_C.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05195   delete [] impl_hints;
05196   cls->add(comp->getInd(), comp);
05197 
05198   return eyedb::Success;
05199 }
05200 
05201 FEMethod_C::FEMethod_C(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : FEMethod(_db, _dataspace, 1)
05202 {
05203   initialize(_db);
05204 }
05205 
05206 FEMethod_C::FEMethod_C(const eyedb::Class *_cls, eyedb::Data _idr): FEMethod((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05207 {
05208   setClass((eyedb::Class *)_cls);
05209 
05210   eyedb::Size idr_psize;
05211   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05212   if (_idr)
05213     idr->setIDR(idr_tsize, _idr);
05214   else
05215     {
05216       idr->setIDR(idr_tsize);
05217       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05218     }
05219   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05220   eyedb::ClassPeer::newObjRealize(getClass(), this);
05221   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05222   userInitialize();
05223 }
05224 
05225 void FEMethod_C::initialize(eyedb::Database *_db)
05226 {
05227   setClass((_db ? _db->getSchema()->getClass("fe_method_C") : FEMethod_C_Class));
05228 
05229   eyedb::Size idr_psize;
05230   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05231   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05232   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05233   eyedb::ClassPeer::newObjRealize(getClass(), this);
05234   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05235   userInitialize();
05236 }
05237 
05238 FEMethod_C::FEMethod_C(const FEMethod_C& x) : FEMethod(x)
05239 {
05240   userCopy(x);
05241 }
05242 
05243 FEMethod_C& FEMethod_C::operator=(const FEMethod_C& x)
05244 {
05245   *(FEMethod *)this = FEMethod::operator=((const FEMethod &)x);
05246   userCopy(x);
05247   return *this;
05248 }
05249 
05250 FEMethod_C::FEMethod_C(const eyedb::Struct *x, eyedb::Bool share) : FEMethod(x, share, 1)
05251 {
05252   setClass((db ? db->getSchema()->getClass("fe_method_C") : FEMethod_C_Class));
05253 
05254   eyedb::Size idr_psize;
05255   getClass()->getIDRObjectSize(&idr_psize);
05256   if (!share)
05257     {
05258       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05259       eyedb::ClassPeer::newObjRealize(getClass(), this);
05260     }
05261 
05262   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05263   userCopy(*x);
05264 }
05265 
05266 FEMethod_C::FEMethod_C(const FEMethod_C *x, eyedb::Bool share) : FEMethod(x, share, 1)
05267 {
05268   setClass((db ? db->getSchema()->getClass("fe_method_C") : FEMethod_C_Class));
05269 
05270   eyedb::Size idr_psize;
05271   getClass()->getIDRObjectSize(&idr_psize);
05272   if (!share)
05273     {
05274       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05275       eyedb::ClassPeer::newObjRealize(getClass(), this);
05276     }
05277 
05278   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05279   userCopy(*x);
05280 }
05281 
05282 static const eyedb::Attribute **BEMethod_agritems;
05283 static eyedb::Size BEMethod_idr_objsz, BEMethod_idr_psize;
05284 
05285 static eyedb::StructClass *BEMethod_make(eyedb::StructClass *BEMethod_class = 0, eyedb::Schema *m = 0)
05286 {
05287   if (!BEMethod_class)
05288     return new eyedb::StructClass("be_method", (m ? m->getClass("method") : Method_Class));
05289   eyedb::Attribute *attr[5];
05290 
05291   BEMethod_class->setAttributes(&attr[5], 0);
05292 
05293 
05294   eyedb::ClassPeer::setMType(BEMethod_class, eyedb::Class::System);
05295 
05296   return BEMethod_class;
05297 }
05298 
05299 eyedb::Object *BEMethod_construct_x(const eyedb::Class *cls, eyedb::Data idr)
05300 {
05301   return new BEMethod(cls, idr);
05302 }
05303 
05304 eyedb::Object *BEMethod_construct(const eyedb::Object *o, eyedb::Bool share)
05305 {
05306   return new BEMethod((const eyedb::Struct *)o, share);
05307 }
05308 
05309 static void BEMethod_init_p()
05310 {
05311   BEMethod_Class = BEMethod_make();
05312   constructors_x[class_ind] = BEMethod_construct_x;
05313   constructors[class_ind] = BEMethod_construct;
05314   hash->insert("be_method", class_ind++);
05315 }
05316 
05317 static void BEMethod_init()
05318 {
05319   BEMethod_make(BEMethod_Class);
05320 
05321   BEMethod_agritems = BEMethod_Class->getAttributes();
05322   BEMethod_idr_objsz = BEMethod_Class->getIDRObjectSize(&BEMethod_idr_psize, 0);
05323 
05324   eyedb::ObjectPeer::setUnrealizable(BEMethod_Class, eyedb::True);
05325 }
05326 
05327 static eyedb::Status BEMethod_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05328 {
05329   eyedb::AttributeComponent *comp;
05330   const eyedb::Dataspace *dataspace;
05331   eyedb::ClassComponent *clcomp;
05332   eyedb::Status status;
05333   int *impl_hints;
05334   impl_hints = new int[8];
05335   impl_hints[0] = 0;
05336   impl_hints[1] = 0;
05337   impl_hints[2] = 0;
05338   impl_hints[3] = 0;
05339   impl_hints[4] = 0;
05340   impl_hints[5] = 0;
05341   impl_hints[6] = 0;
05342   impl_hints[7] = 0;
05343   dataspace = 0;;
05344   comp = new eyedb::HashIndex(db, cls, "be_method.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05345   delete [] impl_hints;
05346   cls->add(comp->getInd(), comp);
05347 
05348   impl_hints = new int[8];
05349   impl_hints[0] = 0;
05350   impl_hints[1] = 0;
05351   impl_hints[2] = 0;
05352   impl_hints[3] = 0;
05353   impl_hints[4] = 0;
05354   impl_hints[5] = 0;
05355   impl_hints[6] = 0;
05356   impl_hints[7] = 0;
05357   dataspace = 0;;
05358   comp = new eyedb::HashIndex(db, cls, "be_method.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05359   delete [] impl_hints;
05360   cls->add(comp->getInd(), comp);
05361 
05362   return eyedb::Success;
05363 }
05364 
05365 BEMethod::BEMethod(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : Method(_db, _dataspace, 1)
05366 {
05367   initialize(_db);
05368 }
05369 
05370 BEMethod::BEMethod(const eyedb::Class *_cls, eyedb::Data _idr): Method((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05371 {
05372   setClass((eyedb::Class *)_cls);
05373 
05374   eyedb::Size idr_psize;
05375   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05376   if (_idr)
05377     idr->setIDR(idr_tsize, _idr);
05378   else
05379     {
05380       idr->setIDR(idr_tsize);
05381       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05382     }
05383   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05384   eyedb::ClassPeer::newObjRealize(getClass(), this);
05385   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05386   userInitialize();
05387 }
05388 
05389 void BEMethod::initialize(eyedb::Database *_db)
05390 {
05391   setClass((_db ? _db->getSchema()->getClass("be_method") : BEMethod_Class));
05392 
05393   eyedb::Size idr_psize;
05394   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05395   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05396   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05397   eyedb::ClassPeer::newObjRealize(getClass(), this);
05398   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05399   userInitialize();
05400 }
05401 
05402 BEMethod::BEMethod(const BEMethod& x) : Method(x)
05403 {
05404   userCopy(x);
05405 }
05406 
05407 BEMethod& BEMethod::operator=(const BEMethod& x)
05408 {
05409   *(Method *)this = Method::operator=((const Method &)x);
05410   userCopy(x);
05411   return *this;
05412 }
05413 
05414 BEMethod::BEMethod(const eyedb::Struct *x, eyedb::Bool share) : Method(x, share, 1)
05415 {
05416   setClass((db ? db->getSchema()->getClass("be_method") : BEMethod_Class));
05417 
05418   eyedb::Size idr_psize;
05419   getClass()->getIDRObjectSize(&idr_psize);
05420   if (!share)
05421     {
05422       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05423       eyedb::ClassPeer::newObjRealize(getClass(), this);
05424     }
05425 
05426   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05427   userCopy(*x);
05428 }
05429 
05430 BEMethod::BEMethod(const BEMethod *x, eyedb::Bool share) : Method(x, share, 1)
05431 {
05432   setClass((db ? db->getSchema()->getClass("be_method") : BEMethod_Class));
05433 
05434   eyedb::Size idr_psize;
05435   getClass()->getIDRObjectSize(&idr_psize);
05436   if (!share)
05437     {
05438       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05439       eyedb::ClassPeer::newObjRealize(getClass(), this);
05440     }
05441 
05442   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05443   userCopy(*x);
05444 }
05445 
05446 static const eyedb::Attribute **BEMethod_C_agritems;
05447 static eyedb::Size BEMethod_C_idr_objsz, BEMethod_C_idr_psize;
05448 
05449 static eyedb::StructClass *BEMethod_C_make(eyedb::StructClass *BEMethod_C_class = 0, eyedb::Schema *m = 0)
05450 {
05451   if (!BEMethod_C_class)
05452     return new eyedb::StructClass("be_method_C", (m ? m->getClass("be_method") : BEMethod_Class));
05453   eyedb::Attribute *attr[5];
05454 
05455   BEMethod_C_class->setAttributes(&attr[5], 0);
05456 
05457 
05458   eyedb::ClassPeer::setMType(BEMethod_C_class, eyedb::Class::System);
05459 
05460   return BEMethod_C_class;
05461 }
05462 
05463 eyedb::Object *BEMethod_C_construct_x(const eyedb::Class *cls, eyedb::Data idr)
05464 {
05465   return new BEMethod_C(cls, idr);
05466 }
05467 
05468 eyedb::Object *BEMethod_C_construct(const eyedb::Object *o, eyedb::Bool share)
05469 {
05470   return new BEMethod_C((const eyedb::Struct *)o, share);
05471 }
05472 
05473 static void BEMethod_C_init_p()
05474 {
05475   BEMethod_C_Class = BEMethod_C_make();
05476   constructors_x[class_ind] = BEMethod_C_construct_x;
05477   constructors[class_ind] = BEMethod_C_construct;
05478   hash->insert("be_method_C", class_ind++);
05479 }
05480 
05481 static void BEMethod_C_init()
05482 {
05483   BEMethod_C_make(BEMethod_C_Class);
05484 
05485   BEMethod_C_agritems = BEMethod_C_Class->getAttributes();
05486   BEMethod_C_idr_objsz = BEMethod_C_Class->getIDRObjectSize(&BEMethod_C_idr_psize, 0);
05487 
05488   eyedb::ObjectPeer::setUnrealizable(BEMethod_C_Class, eyedb::True);
05489 }
05490 
05491 static eyedb::Status BEMethod_C_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05492 {
05493   eyedb::AttributeComponent *comp;
05494   const eyedb::Dataspace *dataspace;
05495   eyedb::ClassComponent *clcomp;
05496   eyedb::Status status;
05497   int *impl_hints;
05498   impl_hints = new int[8];
05499   impl_hints[0] = 0;
05500   impl_hints[1] = 0;
05501   impl_hints[2] = 0;
05502   impl_hints[3] = 0;
05503   impl_hints[4] = 0;
05504   impl_hints[5] = 0;
05505   impl_hints[6] = 0;
05506   impl_hints[7] = 0;
05507   dataspace = 0;;
05508   comp = new eyedb::HashIndex(db, cls, "be_method_C.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05509   delete [] impl_hints;
05510   cls->add(comp->getInd(), comp);
05511 
05512   impl_hints = new int[8];
05513   impl_hints[0] = 0;
05514   impl_hints[1] = 0;
05515   impl_hints[2] = 0;
05516   impl_hints[3] = 0;
05517   impl_hints[4] = 0;
05518   impl_hints[5] = 0;
05519   impl_hints[6] = 0;
05520   impl_hints[7] = 0;
05521   dataspace = 0;;
05522   comp = new eyedb::HashIndex(db, cls, "be_method_C.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05523   delete [] impl_hints;
05524   cls->add(comp->getInd(), comp);
05525 
05526   return eyedb::Success;
05527 }
05528 
05529 BEMethod_C::BEMethod_C(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : BEMethod(_db, _dataspace, 1)
05530 {
05531   initialize(_db);
05532 }
05533 
05534 BEMethod_C::BEMethod_C(const eyedb::Class *_cls, eyedb::Data _idr): BEMethod((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05535 {
05536   setClass((eyedb::Class *)_cls);
05537 
05538   eyedb::Size idr_psize;
05539   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05540   if (_idr)
05541     idr->setIDR(idr_tsize, _idr);
05542   else
05543     {
05544       idr->setIDR(idr_tsize);
05545       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05546     }
05547   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05548   eyedb::ClassPeer::newObjRealize(getClass(), this);
05549   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05550   userInitialize();
05551 }
05552 
05553 void BEMethod_C::initialize(eyedb::Database *_db)
05554 {
05555   setClass((_db ? _db->getSchema()->getClass("be_method_C") : BEMethod_C_Class));
05556 
05557   eyedb::Size idr_psize;
05558   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05559   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05560   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05561   eyedb::ClassPeer::newObjRealize(getClass(), this);
05562   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05563   userInitialize();
05564 }
05565 
05566 BEMethod_C::BEMethod_C(const BEMethod_C& x) : BEMethod(x)
05567 {
05568   userCopy(x);
05569 }
05570 
05571 BEMethod_C& BEMethod_C::operator=(const BEMethod_C& x)
05572 {
05573   *(BEMethod *)this = BEMethod::operator=((const BEMethod &)x);
05574   userCopy(x);
05575   return *this;
05576 }
05577 
05578 BEMethod_C::BEMethod_C(const eyedb::Struct *x, eyedb::Bool share) : BEMethod(x, share, 1)
05579 {
05580   setClass((db ? db->getSchema()->getClass("be_method_C") : BEMethod_C_Class));
05581 
05582   eyedb::Size idr_psize;
05583   getClass()->getIDRObjectSize(&idr_psize);
05584   if (!share)
05585     {
05586       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05587       eyedb::ClassPeer::newObjRealize(getClass(), this);
05588     }
05589 
05590   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05591   userCopy(*x);
05592 }
05593 
05594 BEMethod_C::BEMethod_C(const BEMethod_C *x, eyedb::Bool share) : BEMethod(x, share, 1)
05595 {
05596   setClass((db ? db->getSchema()->getClass("be_method_C") : BEMethod_C_Class));
05597 
05598   eyedb::Size idr_psize;
05599   getClass()->getIDRObjectSize(&idr_psize);
05600   if (!share)
05601     {
05602       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05603       eyedb::ClassPeer::newObjRealize(getClass(), this);
05604     }
05605 
05606   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05607   userCopy(*x);
05608 }
05609 
05610 static const eyedb::Attribute **BEMethod_OQL_agritems;
05611 static eyedb::Size BEMethod_OQL_idr_objsz, BEMethod_OQL_idr_psize;
05612 
05613 static eyedb::StructClass *BEMethod_OQL_make(eyedb::StructClass *BEMethod_OQL_class = 0, eyedb::Schema *m = 0)
05614 {
05615   if (!BEMethod_OQL_class)
05616     return new eyedb::StructClass("be_method_OQL", (m ? m->getClass("be_method") : BEMethod_Class));
05617   eyedb::Attribute *attr[5];
05618 
05619   BEMethod_OQL_class->setAttributes(&attr[5], 0);
05620 
05621 
05622   eyedb::ClassPeer::setMType(BEMethod_OQL_class, eyedb::Class::System);
05623 
05624   return BEMethod_OQL_class;
05625 }
05626 
05627 eyedb::Object *BEMethod_OQL_construct_x(const eyedb::Class *cls, eyedb::Data idr)
05628 {
05629   return new BEMethod_OQL(cls, idr);
05630 }
05631 
05632 eyedb::Object *BEMethod_OQL_construct(const eyedb::Object *o, eyedb::Bool share)
05633 {
05634   return new BEMethod_OQL((const eyedb::Struct *)o, share);
05635 }
05636 
05637 static void BEMethod_OQL_init_p()
05638 {
05639   BEMethod_OQL_Class = BEMethod_OQL_make();
05640   constructors_x[class_ind] = BEMethod_OQL_construct_x;
05641   constructors[class_ind] = BEMethod_OQL_construct;
05642   hash->insert("be_method_OQL", class_ind++);
05643 }
05644 
05645 static void BEMethod_OQL_init()
05646 {
05647   BEMethod_OQL_make(BEMethod_OQL_Class);
05648 
05649   BEMethod_OQL_agritems = BEMethod_OQL_Class->getAttributes();
05650   BEMethod_OQL_idr_objsz = BEMethod_OQL_Class->getIDRObjectSize(&BEMethod_OQL_idr_psize, 0);
05651 
05652   eyedb::ObjectPeer::setUnrealizable(BEMethod_OQL_Class, eyedb::True);
05653 }
05654 
05655 static eyedb::Status BEMethod_OQL_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05656 {
05657   eyedb::AttributeComponent *comp;
05658   const eyedb::Dataspace *dataspace;
05659   eyedb::ClassComponent *clcomp;
05660   eyedb::Status status;
05661   int *impl_hints;
05662   impl_hints = new int[8];
05663   impl_hints[0] = 0;
05664   impl_hints[1] = 0;
05665   impl_hints[2] = 0;
05666   impl_hints[3] = 0;
05667   impl_hints[4] = 0;
05668   impl_hints[5] = 0;
05669   impl_hints[6] = 0;
05670   impl_hints[7] = 0;
05671   dataspace = 0;;
05672   comp = new eyedb::HashIndex(db, cls, "be_method_OQL.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05673   delete [] impl_hints;
05674   cls->add(comp->getInd(), comp);
05675 
05676   impl_hints = new int[8];
05677   impl_hints[0] = 0;
05678   impl_hints[1] = 0;
05679   impl_hints[2] = 0;
05680   impl_hints[3] = 0;
05681   impl_hints[4] = 0;
05682   impl_hints[5] = 0;
05683   impl_hints[6] = 0;
05684   impl_hints[7] = 0;
05685   dataspace = 0;;
05686   comp = new eyedb::HashIndex(db, cls, "be_method_OQL.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05687   delete [] impl_hints;
05688   cls->add(comp->getInd(), comp);
05689 
05690   return eyedb::Success;
05691 }
05692 
05693 BEMethod_OQL::BEMethod_OQL(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : BEMethod(_db, _dataspace, 1)
05694 {
05695   initialize(_db);
05696 }
05697 
05698 BEMethod_OQL::BEMethod_OQL(const eyedb::Class *_cls, eyedb::Data _idr): BEMethod((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05699 {
05700   setClass((eyedb::Class *)_cls);
05701 
05702   eyedb::Size idr_psize;
05703   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05704   if (_idr)
05705     idr->setIDR(idr_tsize, _idr);
05706   else
05707     {
05708       idr->setIDR(idr_tsize);
05709       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05710     }
05711   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05712   eyedb::ClassPeer::newObjRealize(getClass(), this);
05713   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05714   userInitialize();
05715 }
05716 
05717 void BEMethod_OQL::initialize(eyedb::Database *_db)
05718 {
05719   setClass((_db ? _db->getSchema()->getClass("be_method_OQL") : BEMethod_OQL_Class));
05720 
05721   eyedb::Size idr_psize;
05722   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05723   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05724   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05725   eyedb::ClassPeer::newObjRealize(getClass(), this);
05726   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05727   userInitialize();
05728 }
05729 
05730 BEMethod_OQL::BEMethod_OQL(const BEMethod_OQL& x) : BEMethod(x)
05731 {
05732   userCopy(x);
05733 }
05734 
05735 BEMethod_OQL& BEMethod_OQL::operator=(const BEMethod_OQL& x)
05736 {
05737   *(BEMethod *)this = BEMethod::operator=((const BEMethod &)x);
05738   userCopy(x);
05739   return *this;
05740 }
05741 
05742 BEMethod_OQL::BEMethod_OQL(const eyedb::Struct *x, eyedb::Bool share) : BEMethod(x, share, 1)
05743 {
05744   setClass((db ? db->getSchema()->getClass("be_method_OQL") : BEMethod_OQL_Class));
05745 
05746   eyedb::Size idr_psize;
05747   getClass()->getIDRObjectSize(&idr_psize);
05748   if (!share)
05749     {
05750       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05751       eyedb::ClassPeer::newObjRealize(getClass(), this);
05752     }
05753 
05754   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05755   userCopy(*x);
05756 }
05757 
05758 BEMethod_OQL::BEMethod_OQL(const BEMethod_OQL *x, eyedb::Bool share) : BEMethod(x, share, 1)
05759 {
05760   setClass((db ? db->getSchema()->getClass("be_method_OQL") : BEMethod_OQL_Class));
05761 
05762   eyedb::Size idr_psize;
05763   getClass()->getIDRObjectSize(&idr_psize);
05764   if (!share)
05765     {
05766       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05767       eyedb::ClassPeer::newObjRealize(getClass(), this);
05768     }
05769 
05770   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05771   userCopy(*x);
05772 }
05773 
05774 static const eyedb::Attribute **Trigger_agritems;
05775 static eyedb::Size Trigger_idr_objsz, Trigger_idr_psize;
05776 
05777 static eyedb::StructClass *Trigger_make(eyedb::StructClass *Trigger_class = 0, eyedb::Schema *m = 0)
05778 {
05779   if (!Trigger_class)
05780     return new eyedb::StructClass("trigger", (m ? m->getClass("agregat_class_executable") : AgregatClassExecutable_Class));
05781   eyedb::Attribute *attr[8];
05782   int *dims;
05783 
05784   dims = 0;
05785   attr[5] = new eyedb::Attribute((m ? m->getClass("trigger_type") : TriggerType_Class), "type", eyedb::False, 0, dims);
05786 
05787   dims = 0;
05788   attr[6] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "light", eyedb::False, 0, dims);
05789 
05790   dims = new int[1];
05791   dims[0] = 16;
05792   attr[7] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "suffix", eyedb::False, 1, dims);
05793   delete[] dims;
05794 
05795   Trigger_class->setAttributes(&attr[5], 3);
05796 
05797   delete attr[5];
05798   delete attr[6];
05799   delete attr[7];
05800 
05801   eyedb::ClassPeer::setMType(Trigger_class, eyedb::Class::System);
05802 
05803   return Trigger_class;
05804 }
05805 
05806 eyedb::Object *Trigger_construct_x(const eyedb::Class *cls, eyedb::Data idr)
05807 {
05808   return new Trigger(cls, idr);
05809 }
05810 
05811 eyedb::Object *Trigger_construct(const eyedb::Object *o, eyedb::Bool share)
05812 {
05813   return new Trigger((const eyedb::Struct *)o, share);
05814 }
05815 
05816 static void Trigger_init_p()
05817 {
05818   Trigger_Class = Trigger_make();
05819   constructors_x[class_ind] = Trigger_construct_x;
05820   constructors[class_ind] = Trigger_construct;
05821   hash->insert("trigger", class_ind++);
05822 }
05823 
05824 static void Trigger_init()
05825 {
05826   Trigger_make(Trigger_Class);
05827 
05828   Trigger_agritems = Trigger_Class->getAttributes();
05829   Trigger_idr_objsz = Trigger_Class->getIDRObjectSize(&Trigger_idr_psize, 0);
05830 
05831   eyedb::ObjectPeer::setUnrealizable(Trigger_Class, eyedb::True);
05832 }
05833 
05834 static eyedb::Status Trigger_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
05835 {
05836   eyedb::AttributeComponent *comp;
05837   const eyedb::Dataspace *dataspace;
05838   eyedb::ClassComponent *clcomp;
05839   eyedb::Status status;
05840   int *impl_hints;
05841   impl_hints = new int[8];
05842   impl_hints[0] = 0;
05843   impl_hints[1] = 0;
05844   impl_hints[2] = 0;
05845   impl_hints[3] = 0;
05846   impl_hints[4] = 0;
05847   impl_hints[5] = 0;
05848   impl_hints[6] = 0;
05849   impl_hints[7] = 0;
05850   dataspace = 0;;
05851   comp = new eyedb::HashIndex(db, cls, "trigger.ex.exname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05852   delete [] impl_hints;
05853   cls->add(comp->getInd(), comp);
05854 
05855   impl_hints = new int[8];
05856   impl_hints[0] = 0;
05857   impl_hints[1] = 0;
05858   impl_hints[2] = 0;
05859   impl_hints[3] = 0;
05860   impl_hints[4] = 0;
05861   impl_hints[5] = 0;
05862   impl_hints[6] = 0;
05863   impl_hints[7] = 0;
05864   dataspace = 0;;
05865   comp = new eyedb::HashIndex(db, cls, "trigger.ex.intname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
05866   delete [] impl_hints;
05867   cls->add(comp->getInd(), comp);
05868 
05869   return eyedb::Success;
05870 }
05871 
05872 Trigger::Trigger(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AgregatClassExecutable(_db, _dataspace, 1)
05873 {
05874   initialize(_db);
05875 }
05876 
05877 Trigger::Trigger(const eyedb::Class *_cls, eyedb::Data _idr): AgregatClassExecutable((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
05878 {
05879   setClass((eyedb::Class *)_cls);
05880 
05881   eyedb::Size idr_psize;
05882   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
05883   if (_idr)
05884     idr->setIDR(idr_tsize, _idr);
05885   else
05886     {
05887       idr->setIDR(idr_tsize);
05888       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05889     }
05890   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05891   eyedb::ClassPeer::newObjRealize(getClass(), this);
05892   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05893   userInitialize();
05894 }
05895 
05896 void Trigger::initialize(eyedb::Database *_db)
05897 {
05898   setClass((_db ? _db->getSchema()->getClass("trigger") : Trigger_Class));
05899 
05900   eyedb::Size idr_psize;
05901   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
05902   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
05903   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05904   eyedb::ClassPeer::newObjRealize(getClass(), this);
05905   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05906   userInitialize();
05907 }
05908 
05909 Trigger::Trigger(const Trigger& x) : AgregatClassExecutable(x)
05910 {
05911   userCopy(x);
05912 }
05913 
05914 Trigger& Trigger::operator=(const Trigger& x)
05915 {
05916   *(AgregatClassExecutable *)this = AgregatClassExecutable::operator=((const AgregatClassExecutable &)x);
05917   userCopy(x);
05918   return *this;
05919 }
05920 
05921 Trigger::Trigger(const eyedb::Struct *x, eyedb::Bool share) : AgregatClassExecutable(x, share, 1)
05922 {
05923   setClass((db ? db->getSchema()->getClass("trigger") : Trigger_Class));
05924 
05925   eyedb::Size idr_psize;
05926   getClass()->getIDRObjectSize(&idr_psize);
05927   if (!share)
05928     {
05929       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05930       eyedb::ClassPeer::newObjRealize(getClass(), this);
05931     }
05932 
05933   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05934   userCopy(*x);
05935 }
05936 
05937 Trigger::Trigger(const Trigger *x, eyedb::Bool share) : AgregatClassExecutable(x, share, 1)
05938 {
05939   setClass((db ? db->getSchema()->getClass("trigger") : Trigger_Class));
05940 
05941   eyedb::Size idr_psize;
05942   getClass()->getIDRObjectSize(&idr_psize);
05943   if (!share)
05944     {
05945       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
05946       eyedb::ClassPeer::newObjRealize(getClass(), this);
05947     }
05948 
05949   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
05950   userCopy(*x);
05951 }
05952 
05953 eyedb::Status Trigger::setType(TriggerType _type, eyedb::Bool _check_value)
05954 {
05955   eyedb::gbxAutoGarbSuspender _gbxsusp_;
05956   eyedb::Status status;
05957   eyedblib::int32 __tmp = _type;
05958 
05959   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
05960   return status;
05961 }
05962 
05963 TriggerType Trigger::getType(eyedb::Bool *isnull, eyedb::Status *rs) const
05964 {
05965   eyedb::gbxAutoGarbSuspender _gbxsusp_;
05966   eyedblib::int32  __tmp = 0;
05967   eyedb::Status s;
05968 
05969   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
05970   if (s) {if (rs) *rs = s; return (TriggerType)0;}
05971   return (TriggerType)__tmp;
05972 }
05973 
05974 eyedb::Status Trigger::setLight(eyedblib::int32 _light)
05975 {
05976   eyedb::gbxAutoGarbSuspender _gbxsusp_;
05977   eyedb::Status status;
05978 
05979   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_light, 1, 0);
05980   return status;
05981 }
05982 
05983 eyedblib::int32 Trigger::getLight(eyedb::Bool *isnull, eyedb::Status *rs) const
05984 {
05985   eyedb::gbxAutoGarbSuspender _gbxsusp_;
05986   eyedblib::int32 __tmp = 0;
05987   eyedb::Status s;
05988 
05989   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
05990   if (s) {if (rs) *rs = s; return 0;}
05991   return __tmp;
05992 }
05993 
05994 eyedb::Status Trigger::setSuffix(const std::string &_suffix)
05995 {
05996   eyedb::gbxAutoGarbSuspender _gbxsusp_;
05997   eyedb::Status status;
05998   unsigned char data[16];
05999   eyedb::Size len = _suffix.size();
06000   if (len >= 16)
06001     return eyedb::Exception::make(eyedb::IDB_ERROR, "string `%s' [%d] too long for attribute Trigger::suffix, maximum is 16\n", _suffix.c_str(), len);
06002   memset(data, 0, 16);
06003   strncpy((char *)data, _suffix.c_str(), min(15, len));
06004   status = getClass()->getAttributes()[7]->setValue(this, data, 16, 0);
06005   return status;
06006 
06007 }
06008 
06009 eyedb::Status Trigger::setSuffix(unsigned int a0, char _suffix)
06010 {
06011   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06012   eyedb::Status status;
06013   eyedb::Size from = a0;
06014 
06015   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)&_suffix, 1, from);
06016   return status;
06017 }
06018 
06019 std::string Trigger::getSuffix(eyedb::Bool *isnull, eyedb::Status *rs) const
06020 {
06021   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06022   eyedb::Data data;
06023   eyedb::Status s;
06024 
06025   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
06026   if (s) {if (rs) *rs = s; return 0;}
06027   return (const char *)data;
06028 }
06029 
06030 char Trigger::getSuffix(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
06031 {
06032   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06033   char __tmp = 0;
06034   eyedb::Status s;
06035   eyedb::Size from = a0;
06036 
06037   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
06038   if (s) {if (rs) *rs = s; return 0;}
06039   return __tmp;
06040 }
06041 
06042 static const eyedb::Attribute **UniqueConstraint_agritems;
06043 static eyedb::Size UniqueConstraint_idr_objsz, UniqueConstraint_idr_psize;
06044 
06045 static eyedb::StructClass *UniqueConstraint_make(eyedb::StructClass *UniqueConstraint_class = 0, eyedb::Schema *m = 0)
06046 {
06047   if (!UniqueConstraint_class)
06048     return new eyedb::StructClass("unique_constraint", (m ? m->getClass("attribute_component") : AttributeComponent_Class));
06049   eyedb::Attribute *attr[6];
06050 
06051   UniqueConstraint_class->setAttributes(&attr[6], 0);
06052 
06053 
06054   eyedb::ClassPeer::setMType(UniqueConstraint_class, eyedb::Class::System);
06055 
06056   return UniqueConstraint_class;
06057 }
06058 
06059 eyedb::Object *UniqueConstraint_construct_x(const eyedb::Class *cls, eyedb::Data idr)
06060 {
06061   return new UniqueConstraint(cls, idr);
06062 }
06063 
06064 eyedb::Object *UniqueConstraint_construct(const eyedb::Object *o, eyedb::Bool share)
06065 {
06066   return new UniqueConstraint((const eyedb::Struct *)o, share);
06067 }
06068 
06069 static void UniqueConstraint_init_p()
06070 {
06071   UniqueConstraint_Class = UniqueConstraint_make();
06072   constructors_x[class_ind] = UniqueConstraint_construct_x;
06073   constructors[class_ind] = UniqueConstraint_construct;
06074   hash->insert("unique_constraint", class_ind++);
06075 }
06076 
06077 static void UniqueConstraint_init()
06078 {
06079   UniqueConstraint_make(UniqueConstraint_Class);
06080 
06081   UniqueConstraint_agritems = UniqueConstraint_Class->getAttributes();
06082   UniqueConstraint_idr_objsz = UniqueConstraint_Class->getIDRObjectSize(&UniqueConstraint_idr_psize, 0);
06083 
06084   eyedb::ObjectPeer::setUnrealizable(UniqueConstraint_Class, eyedb::True);
06085 }
06086 
06087 static eyedb::Status UniqueConstraint_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
06088 {
06089   return eyedb::Success;
06090 }
06091 
06092 UniqueConstraint::UniqueConstraint(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AttributeComponent(_db, _dataspace, 1)
06093 {
06094   initialize(_db);
06095 }
06096 
06097 UniqueConstraint::UniqueConstraint(const eyedb::Class *_cls, eyedb::Data _idr): AttributeComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
06098 {
06099   setClass((eyedb::Class *)_cls);
06100 
06101   eyedb::Size idr_psize;
06102   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
06103   if (_idr)
06104     idr->setIDR(idr_tsize, _idr);
06105   else
06106     {
06107       idr->setIDR(idr_tsize);
06108       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06109     }
06110   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06111   eyedb::ClassPeer::newObjRealize(getClass(), this);
06112   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06113   userInitialize();
06114 }
06115 
06116 void UniqueConstraint::initialize(eyedb::Database *_db)
06117 {
06118   setClass((_db ? _db->getSchema()->getClass("unique_constraint") : UniqueConstraint_Class));
06119 
06120   eyedb::Size idr_psize;
06121   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
06122   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06123   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06124   eyedb::ClassPeer::newObjRealize(getClass(), this);
06125   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06126   userInitialize();
06127 }
06128 
06129 UniqueConstraint::UniqueConstraint(const UniqueConstraint& x) : AttributeComponent(x)
06130 {
06131   userCopy(x);
06132 }
06133 
06134 UniqueConstraint& UniqueConstraint::operator=(const UniqueConstraint& x)
06135 {
06136   *(AttributeComponent *)this = AttributeComponent::operator=((const AttributeComponent &)x);
06137   userCopy(x);
06138   return *this;
06139 }
06140 
06141 UniqueConstraint::UniqueConstraint(const eyedb::Struct *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06142 {
06143   setClass((db ? db->getSchema()->getClass("unique_constraint") : UniqueConstraint_Class));
06144 
06145   eyedb::Size idr_psize;
06146   getClass()->getIDRObjectSize(&idr_psize);
06147   if (!share)
06148     {
06149       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06150       eyedb::ClassPeer::newObjRealize(getClass(), this);
06151     }
06152 
06153   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06154   userCopy(*x);
06155 }
06156 
06157 UniqueConstraint::UniqueConstraint(const UniqueConstraint *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06158 {
06159   setClass((db ? db->getSchema()->getClass("unique_constraint") : UniqueConstraint_Class));
06160 
06161   eyedb::Size idr_psize;
06162   getClass()->getIDRObjectSize(&idr_psize);
06163   if (!share)
06164     {
06165       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06166       eyedb::ClassPeer::newObjRealize(getClass(), this);
06167     }
06168 
06169   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06170   userCopy(*x);
06171 }
06172 
06173 static const eyedb::Attribute **NotNullConstraint_agritems;
06174 static eyedb::Size NotNullConstraint_idr_objsz, NotNullConstraint_idr_psize;
06175 
06176 static eyedb::StructClass *NotNullConstraint_make(eyedb::StructClass *NotNullConstraint_class = 0, eyedb::Schema *m = 0)
06177 {
06178   if (!NotNullConstraint_class)
06179     return new eyedb::StructClass("notnull_constraint", (m ? m->getClass("attribute_component") : AttributeComponent_Class));
06180   eyedb::Attribute *attr[6];
06181 
06182   NotNullConstraint_class->setAttributes(&attr[6], 0);
06183 
06184 
06185   eyedb::ClassPeer::setMType(NotNullConstraint_class, eyedb::Class::System);
06186 
06187   return NotNullConstraint_class;
06188 }
06189 
06190 eyedb::Object *NotNullConstraint_construct_x(const eyedb::Class *cls, eyedb::Data idr)
06191 {
06192   return new NotNullConstraint(cls, idr);
06193 }
06194 
06195 eyedb::Object *NotNullConstraint_construct(const eyedb::Object *o, eyedb::Bool share)
06196 {
06197   return new NotNullConstraint((const eyedb::Struct *)o, share);
06198 }
06199 
06200 static void NotNullConstraint_init_p()
06201 {
06202   NotNullConstraint_Class = NotNullConstraint_make();
06203   constructors_x[class_ind] = NotNullConstraint_construct_x;
06204   constructors[class_ind] = NotNullConstraint_construct;
06205   hash->insert("notnull_constraint", class_ind++);
06206 }
06207 
06208 static void NotNullConstraint_init()
06209 {
06210   NotNullConstraint_make(NotNullConstraint_Class);
06211 
06212   NotNullConstraint_agritems = NotNullConstraint_Class->getAttributes();
06213   NotNullConstraint_idr_objsz = NotNullConstraint_Class->getIDRObjectSize(&NotNullConstraint_idr_psize, 0);
06214 
06215   eyedb::ObjectPeer::setUnrealizable(NotNullConstraint_Class, eyedb::True);
06216 }
06217 
06218 static eyedb::Status NotNullConstraint_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
06219 {
06220   return eyedb::Success;
06221 }
06222 
06223 NotNullConstraint::NotNullConstraint(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AttributeComponent(_db, _dataspace, 1)
06224 {
06225   initialize(_db);
06226 }
06227 
06228 NotNullConstraint::NotNullConstraint(const eyedb::Class *_cls, eyedb::Data _idr): AttributeComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
06229 {
06230   setClass((eyedb::Class *)_cls);
06231 
06232   eyedb::Size idr_psize;
06233   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
06234   if (_idr)
06235     idr->setIDR(idr_tsize, _idr);
06236   else
06237     {
06238       idr->setIDR(idr_tsize);
06239       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06240     }
06241   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06242   eyedb::ClassPeer::newObjRealize(getClass(), this);
06243   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06244   userInitialize();
06245 }
06246 
06247 void NotNullConstraint::initialize(eyedb::Database *_db)
06248 {
06249   setClass((_db ? _db->getSchema()->getClass("notnull_constraint") : NotNullConstraint_Class));
06250 
06251   eyedb::Size idr_psize;
06252   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
06253   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06254   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06255   eyedb::ClassPeer::newObjRealize(getClass(), this);
06256   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06257   userInitialize();
06258 }
06259 
06260 NotNullConstraint::NotNullConstraint(const NotNullConstraint& x) : AttributeComponent(x)
06261 {
06262   userCopy(x);
06263 }
06264 
06265 NotNullConstraint& NotNullConstraint::operator=(const NotNullConstraint& x)
06266 {
06267   *(AttributeComponent *)this = AttributeComponent::operator=((const AttributeComponent &)x);
06268   userCopy(x);
06269   return *this;
06270 }
06271 
06272 NotNullConstraint::NotNullConstraint(const eyedb::Struct *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06273 {
06274   setClass((db ? db->getSchema()->getClass("notnull_constraint") : NotNullConstraint_Class));
06275 
06276   eyedb::Size idr_psize;
06277   getClass()->getIDRObjectSize(&idr_psize);
06278   if (!share)
06279     {
06280       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06281       eyedb::ClassPeer::newObjRealize(getClass(), this);
06282     }
06283 
06284   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06285   userCopy(*x);
06286 }
06287 
06288 NotNullConstraint::NotNullConstraint(const NotNullConstraint *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06289 {
06290   setClass((db ? db->getSchema()->getClass("notnull_constraint") : NotNullConstraint_Class));
06291 
06292   eyedb::Size idr_psize;
06293   getClass()->getIDRObjectSize(&idr_psize);
06294   if (!share)
06295     {
06296       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06297       eyedb::ClassPeer::newObjRealize(getClass(), this);
06298     }
06299 
06300   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06301   userCopy(*x);
06302 }
06303 
06304 static const eyedb::Attribute **CardinalityDescription_agritems;
06305 static eyedb::Size CardinalityDescription_idr_objsz, CardinalityDescription_idr_psize;
06306 
06307 static eyedb::StructClass *CardinalityDescription_make(eyedb::StructClass *CardinalityDescription_class = 0, eyedb::Schema *m = 0)
06308 {
06309   if (!CardinalityDescription_class)
06310     return new eyedb::StructClass("cardinality_description", (m ? m->getClass("struct") : eyedb::Struct_Class));
06311   eyedb::Attribute *attr[6];
06312   int *dims;
06313 
06314   dims = 0;
06315   attr[2] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "bottom", eyedb::False, 0, dims);
06316 
06317   dims = 0;
06318   attr[3] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "bottom_excl", eyedb::False, 0, dims);
06319 
06320   dims = 0;
06321   attr[4] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "top", eyedb::False, 0, dims);
06322 
06323   dims = 0;
06324   attr[5] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "top_excl", eyedb::False, 0, dims);
06325 
06326   CardinalityDescription_class->setAttributes(&attr[2], 4);
06327 
06328   delete attr[2];
06329   delete attr[3];
06330   delete attr[4];
06331   delete attr[5];
06332 
06333   eyedb::ClassPeer::setMType(CardinalityDescription_class, eyedb::Class::System);
06334 
06335   return CardinalityDescription_class;
06336 }
06337 
06338 eyedb::Object *CardinalityDescription_construct_x(const eyedb::Class *cls, eyedb::Data idr)
06339 {
06340   return new CardinalityDescription(cls, idr);
06341 }
06342 
06343 eyedb::Object *CardinalityDescription_construct(const eyedb::Object *o, eyedb::Bool share)
06344 {
06345   return new CardinalityDescription((const eyedb::Struct *)o, share);
06346 }
06347 
06348 static void CardinalityDescription_init_p()
06349 {
06350   CardinalityDescription_Class = CardinalityDescription_make();
06351   constructors_x[class_ind] = CardinalityDescription_construct_x;
06352   constructors[class_ind] = CardinalityDescription_construct;
06353   hash->insert("cardinality_description", class_ind++);
06354 }
06355 
06356 static void CardinalityDescription_init()
06357 {
06358   CardinalityDescription_make(CardinalityDescription_Class);
06359 
06360   CardinalityDescription_agritems = CardinalityDescription_Class->getAttributes();
06361   CardinalityDescription_idr_objsz = CardinalityDescription_Class->getIDRObjectSize(&CardinalityDescription_idr_psize, 0);
06362 
06363   eyedb::ObjectPeer::setUnrealizable(CardinalityDescription_Class, eyedb::True);
06364 }
06365 
06366 static eyedb::Status CardinalityDescription_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
06367 {
06368   return eyedb::Success;
06369 }
06370 
06371 CardinalityDescription::CardinalityDescription(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
06372 {
06373   initialize(_db);
06374 }
06375 
06376 CardinalityDescription::CardinalityDescription(const eyedb::Class *_cls, eyedb::Data _idr)
06377 {
06378   setClass((eyedb::Class *)_cls);
06379 
06380   eyedb::Size idr_psize;
06381   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
06382   if (_idr)
06383     idr->setIDR(idr_tsize, _idr);
06384   else
06385     {
06386       idr->setIDR(idr_tsize);
06387       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06388     }
06389   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06390   eyedb::ClassPeer::newObjRealize(getClass(), this);
06391   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06392   userInitialize();
06393 }
06394 
06395 void CardinalityDescription::initialize(eyedb::Database *_db)
06396 {
06397   setClass((_db ? _db->getSchema()->getClass("cardinality_description") : CardinalityDescription_Class));
06398 
06399   eyedb::Size idr_psize;
06400   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
06401   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06402   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06403   eyedb::ClassPeer::newObjRealize(getClass(), this);
06404   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06405   userInitialize();
06406 }
06407 
06408 CardinalityDescription::CardinalityDescription(const CardinalityDescription& x) : eyedb::Struct(x)
06409 {
06410   userCopy(x);
06411 }
06412 
06413 CardinalityDescription& CardinalityDescription::operator=(const CardinalityDescription& x)
06414 {
06415   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
06416   userCopy(x);
06417   return *this;
06418 }
06419 
06420 CardinalityDescription::CardinalityDescription(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
06421 {
06422   setClass((db ? db->getSchema()->getClass("cardinality_description") : CardinalityDescription_Class));
06423 
06424   eyedb::Size idr_psize;
06425   getClass()->getIDRObjectSize(&idr_psize);
06426   if (!share)
06427     {
06428       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06429       eyedb::ClassPeer::newObjRealize(getClass(), this);
06430     }
06431 
06432   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06433   userCopy(*x);
06434 }
06435 
06436 CardinalityDescription::CardinalityDescription(const CardinalityDescription *x, eyedb::Bool share) : eyedb::Struct(x, share)
06437 {
06438   setClass((db ? db->getSchema()->getClass("cardinality_description") : CardinalityDescription_Class));
06439 
06440   eyedb::Size idr_psize;
06441   getClass()->getIDRObjectSize(&idr_psize);
06442   if (!share)
06443     {
06444       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06445       eyedb::ClassPeer::newObjRealize(getClass(), this);
06446     }
06447 
06448   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06449   userCopy(*x);
06450 }
06451 
06452 eyedb::Status CardinalityDescription::setBottom(eyedblib::int32 _bottom)
06453 {
06454   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06455   eyedb::Status status;
06456 
06457   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_bottom, 1, 0);
06458   return status;
06459 }
06460 
06461 eyedblib::int32 CardinalityDescription::getBottom(eyedb::Bool *isnull, eyedb::Status *rs) const
06462 {
06463   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06464   eyedblib::int32 __tmp = 0;
06465   eyedb::Status s;
06466 
06467   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
06468   if (s) {if (rs) *rs = s; return 0;}
06469   return __tmp;
06470 }
06471 
06472 eyedb::Status CardinalityDescription::setBottomExcl(eyedblib::int32 _bottom_excl)
06473 {
06474   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06475   eyedb::Status status;
06476 
06477   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_bottom_excl, 1, 0);
06478   return status;
06479 }
06480 
06481 eyedblib::int32 CardinalityDescription::getBottomExcl(eyedb::Bool *isnull, eyedb::Status *rs) const
06482 {
06483   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06484   eyedblib::int32 __tmp = 0;
06485   eyedb::Status s;
06486 
06487   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
06488   if (s) {if (rs) *rs = s; return 0;}
06489   return __tmp;
06490 }
06491 
06492 eyedb::Status CardinalityDescription::setTop(eyedblib::int32 _top)
06493 {
06494   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06495   eyedb::Status status;
06496 
06497   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_top, 1, 0);
06498   return status;
06499 }
06500 
06501 eyedblib::int32 CardinalityDescription::getTop(eyedb::Bool *isnull, eyedb::Status *rs) const
06502 {
06503   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06504   eyedblib::int32 __tmp = 0;
06505   eyedb::Status s;
06506 
06507   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
06508   if (s) {if (rs) *rs = s; return 0;}
06509   return __tmp;
06510 }
06511 
06512 eyedb::Status CardinalityDescription::setTopExcl(eyedblib::int32 _top_excl)
06513 {
06514   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06515   eyedb::Status status;
06516 
06517   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_top_excl, 1, 0);
06518   return status;
06519 }
06520 
06521 eyedblib::int32 CardinalityDescription::getTopExcl(eyedb::Bool *isnull, eyedb::Status *rs) const
06522 {
06523   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06524   eyedblib::int32 __tmp = 0;
06525   eyedb::Status s;
06526 
06527   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
06528   if (s) {if (rs) *rs = s; return 0;}
06529   return __tmp;
06530 }
06531 
06532 static const eyedb::Attribute **CardinalityConstraint_agritems;
06533 static eyedb::Size CardinalityConstraint_idr_objsz, CardinalityConstraint_idr_psize;
06534 
06535 static eyedb::StructClass *CardinalityConstraint_make(eyedb::StructClass *CardinalityConstraint_class = 0, eyedb::Schema *m = 0)
06536 {
06537   if (!CardinalityConstraint_class)
06538     return new eyedb::StructClass("cardinality_constraint", (m ? m->getClass("agregat_class_component") : AgregatClassComponent_Class));
06539   eyedb::Attribute *attr[6];
06540   int *dims;
06541 
06542   dims = new int[1];
06543   dims[0] = -1;
06544   attr[4] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "attrname", eyedb::False, 1, dims);
06545   delete[] dims;
06546 
06547   dims = 0;
06548   attr[5] = new eyedb::Attribute((m ? m->getClass("cardinality_description") : CardinalityDescription_Class), "card_desc", eyedb::False, 0, dims);
06549 
06550   CardinalityConstraint_class->setAttributes(&attr[4], 2);
06551 
06552   delete attr[4];
06553   delete attr[5];
06554 
06555   eyedb::ClassPeer::setMType(CardinalityConstraint_class, eyedb::Class::System);
06556 
06557   return CardinalityConstraint_class;
06558 }
06559 
06560 eyedb::Object *CardinalityConstraint_construct_x(const eyedb::Class *cls, eyedb::Data idr)
06561 {
06562   return new CardinalityConstraint(cls, idr);
06563 }
06564 
06565 eyedb::Object *CardinalityConstraint_construct(const eyedb::Object *o, eyedb::Bool share)
06566 {
06567   return new CardinalityConstraint((const eyedb::Struct *)o, share);
06568 }
06569 
06570 static void CardinalityConstraint_init_p()
06571 {
06572   CardinalityConstraint_Class = CardinalityConstraint_make();
06573   constructors_x[class_ind] = CardinalityConstraint_construct_x;
06574   constructors[class_ind] = CardinalityConstraint_construct;
06575   hash->insert("cardinality_constraint", class_ind++);
06576 }
06577 
06578 static void CardinalityConstraint_init()
06579 {
06580   CardinalityConstraint_make(CardinalityConstraint_Class);
06581 
06582   CardinalityConstraint_agritems = CardinalityConstraint_Class->getAttributes();
06583   CardinalityConstraint_idr_objsz = CardinalityConstraint_Class->getIDRObjectSize(&CardinalityConstraint_idr_psize, 0);
06584 
06585   eyedb::ObjectPeer::setUnrealizable(CardinalityConstraint_Class, eyedb::True);
06586 }
06587 
06588 static eyedb::Status CardinalityConstraint_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
06589 {
06590   return eyedb::Success;
06591 }
06592 
06593 CardinalityConstraint::CardinalityConstraint(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AgregatClassComponent(_db, _dataspace, 1)
06594 {
06595   initialize(_db);
06596 }
06597 
06598 CardinalityConstraint::CardinalityConstraint(const eyedb::Class *_cls, eyedb::Data _idr): AgregatClassComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
06599 {
06600   setClass((eyedb::Class *)_cls);
06601 
06602   eyedb::Size idr_psize;
06603   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
06604   if (_idr)
06605     idr->setIDR(idr_tsize, _idr);
06606   else
06607     {
06608       idr->setIDR(idr_tsize);
06609       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06610     }
06611   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06612   eyedb::ClassPeer::newObjRealize(getClass(), this);
06613   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06614   userInitialize();
06615 }
06616 
06617 void CardinalityConstraint::initialize(eyedb::Database *_db)
06618 {
06619   setClass((_db ? _db->getSchema()->getClass("cardinality_constraint") : CardinalityConstraint_Class));
06620 
06621   eyedb::Size idr_psize;
06622   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
06623   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06624   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06625   eyedb::ClassPeer::newObjRealize(getClass(), this);
06626   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06627   userInitialize();
06628 }
06629 
06630 CardinalityConstraint::CardinalityConstraint(const CardinalityConstraint& x) : AgregatClassComponent(x)
06631 {
06632   userCopy(x);
06633 }
06634 
06635 CardinalityConstraint& CardinalityConstraint::operator=(const CardinalityConstraint& x)
06636 {
06637   *(AgregatClassComponent *)this = AgregatClassComponent::operator=((const AgregatClassComponent &)x);
06638   userCopy(x);
06639   return *this;
06640 }
06641 
06642 CardinalityConstraint::CardinalityConstraint(const eyedb::Struct *x, eyedb::Bool share) : AgregatClassComponent(x, share, 1)
06643 {
06644   setClass((db ? db->getSchema()->getClass("cardinality_constraint") : CardinalityConstraint_Class));
06645 
06646   eyedb::Size idr_psize;
06647   getClass()->getIDRObjectSize(&idr_psize);
06648   if (!share)
06649     {
06650       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06651       eyedb::ClassPeer::newObjRealize(getClass(), this);
06652     }
06653 
06654   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06655   userCopy(*x);
06656 }
06657 
06658 CardinalityConstraint::CardinalityConstraint(const CardinalityConstraint *x, eyedb::Bool share) : AgregatClassComponent(x, share, 1)
06659 {
06660   setClass((db ? db->getSchema()->getClass("cardinality_constraint") : CardinalityConstraint_Class));
06661 
06662   eyedb::Size idr_psize;
06663   getClass()->getIDRObjectSize(&idr_psize);
06664   if (!share)
06665     {
06666       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06667       eyedb::ClassPeer::newObjRealize(getClass(), this);
06668     }
06669 
06670   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06671   userCopy(*x);
06672 }
06673 
06674 eyedb::Status CardinalityConstraint::setAttrname(const std::string &_attrname)
06675 {
06676   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06677   eyedb::Status status;
06678   eyedb::Size size;
06679   eyedb::Size len = _attrname.size() + 1;
06680 
06681   status = getClass()->getAttributes()[4]->getSize(this, size);
06682   if (status)
06683     return status;
06684 
06685   if (size != len)
06686     status = getClass()->getAttributes()[4]->setSize(this, len);
06687   if (status)
06688     return status;
06689 
06690   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)_attrname.c_str(), len, 0);
06691   return status;
06692 
06693 }
06694 
06695 eyedb::Status CardinalityConstraint::setAttrname(unsigned int a0, char _attrname)
06696 {
06697   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06698   eyedb::Status status;
06699   eyedb::Size from = a0;
06700 
06701   eyedb::Size size;
06702   status = getClass()->getAttributes()[4]->getSize(this, size);
06703   if (status)
06704     return status;
06705 
06706   if (size <= from)
06707     status = getClass()->getAttributes()[4]->setSize(this, from+1);
06708   if (status)
06709     return status;
06710 
06711   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_attrname, 1, from);
06712   return status;
06713 }
06714 
06715 std::string CardinalityConstraint::getAttrname(eyedb::Bool *isnull, eyedb::Status *rs) const
06716 {
06717   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06718   eyedb::Data data;
06719   eyedb::Status s;
06720 
06721   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
06722   if (s) {if (rs) *rs = s; return 0;}
06723   if (!data) data = nulldata;
06724   return (const char *)data;
06725 }
06726 
06727 char CardinalityConstraint::getAttrname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
06728 {
06729   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06730   char __tmp = 0;
06731   eyedb::Status s;
06732   eyedb::Size from = a0;
06733 
06734   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
06735   if (s) {if (rs) *rs = s; return 0;}
06736   return __tmp;
06737 }
06738 
06739 eyedb::Status CardinalityConstraint::setCardDesc(CardinalityDescription*_card_desc)
06740 {
06741   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06742   eyedb::Status status;
06743 
06744   eyedb::Object *_ocard_desc = _card_desc;
06745 
06746   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_ocard_desc, 1, 0);
06747   return status;
06748 }
06749 
06750 const CardinalityDescription*CardinalityConstraint::getCardDesc(eyedb::Bool *isnull, eyedb::Status *rs) const 
06751 {
06752   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06753   eyedb::Object *__o = 0, *__go;
06754   eyedb::Status s;
06755 
06756   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
06757   if (s) {if (rs) *rs = s; return 0;}
06758 
06759   if (__o)
06760     {
06761      if (eyedb::ObjectPeer::isGRTObject(__o)) {
06762        return (CardinalityDescription *)__o;
06763      }
06764      __go = (CardinalityDescription *)make_object(__o, eyedb::False);
06765      if (__go)
06766       {
06767        __o = __go;;
06768        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
06769        eyedb::ObjectPeer::decrRefCount(__o);
06770        if (s) {if (rs) *rs = s; return 0;}
06771       }
06772     }
06773   return (CardinalityDescription*)__o;
06774 }
06775 
06776 CardinalityDescription*CardinalityConstraint::getCardDesc(eyedb::Bool *isnull, eyedb::Status *rs) 
06777 {
06778   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06779   eyedb::Object *__o = 0, *__go;
06780   eyedb::Status s;
06781 
06782   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
06783   if (s) {if (rs) *rs = s; return 0;}
06784 
06785   if (__o)
06786     {
06787      if (eyedb::ObjectPeer::isGRTObject(__o)) {
06788        return (CardinalityDescription *)__o;
06789      }
06790      __go = (CardinalityDescription *)make_object(__o, eyedb::False);
06791      if (__go)
06792       {
06793        __o = __go;;
06794        s = getClass()->getAttributes()[5]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
06795        eyedb::ObjectPeer::decrRefCount(__o);
06796        if (s) {if (rs) *rs = s; return 0;}
06797       }
06798     }
06799   return (CardinalityDescription*)__o;
06800 }
06801 
06802 static const eyedb::Attribute **CardinalityConstraint_Test_agritems;
06803 static eyedb::Size CardinalityConstraint_Test_idr_objsz, CardinalityConstraint_Test_idr_psize;
06804 
06805 static eyedb::StructClass *CardinalityConstraint_Test_make(eyedb::StructClass *CardinalityConstraint_Test_class = 0, eyedb::Schema *m = 0)
06806 {
06807   if (!CardinalityConstraint_Test_class)
06808     return new eyedb::StructClass("cardinality_constraint_test", (m ? m->getClass("attribute_component") : AttributeComponent_Class));
06809   eyedb::Attribute *attr[7];
06810   int *dims;
06811 
06812   dims = 0;
06813   attr[6] = new eyedb::Attribute((m ? m->getClass("cardinality_description") : CardinalityDescription_Class), "card_desc", eyedb::False, 0, dims);
06814 
06815   CardinalityConstraint_Test_class->setAttributes(&attr[6], 1);
06816 
06817   delete attr[6];
06818 
06819   eyedb::ClassPeer::setMType(CardinalityConstraint_Test_class, eyedb::Class::System);
06820 
06821   return CardinalityConstraint_Test_class;
06822 }
06823 
06824 eyedb::Object *CardinalityConstraint_Test_construct_x(const eyedb::Class *cls, eyedb::Data idr)
06825 {
06826   return new CardinalityConstraint_Test(cls, idr);
06827 }
06828 
06829 eyedb::Object *CardinalityConstraint_Test_construct(const eyedb::Object *o, eyedb::Bool share)
06830 {
06831   return new CardinalityConstraint_Test((const eyedb::Struct *)o, share);
06832 }
06833 
06834 static void CardinalityConstraint_Test_init_p()
06835 {
06836   CardinalityConstraint_Test_Class = CardinalityConstraint_Test_make();
06837   constructors_x[class_ind] = CardinalityConstraint_Test_construct_x;
06838   constructors[class_ind] = CardinalityConstraint_Test_construct;
06839   hash->insert("cardinality_constraint_test", class_ind++);
06840 }
06841 
06842 static void CardinalityConstraint_Test_init()
06843 {
06844   CardinalityConstraint_Test_make(CardinalityConstraint_Test_Class);
06845 
06846   CardinalityConstraint_Test_agritems = CardinalityConstraint_Test_Class->getAttributes();
06847   CardinalityConstraint_Test_idr_objsz = CardinalityConstraint_Test_Class->getIDRObjectSize(&CardinalityConstraint_Test_idr_psize, 0);
06848 
06849   eyedb::ObjectPeer::setUnrealizable(CardinalityConstraint_Test_Class, eyedb::True);
06850 }
06851 
06852 static eyedb::Status CardinalityConstraint_Test_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
06853 {
06854   return eyedb::Success;
06855 }
06856 
06857 CardinalityConstraint_Test::CardinalityConstraint_Test(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : AttributeComponent(_db, _dataspace, 1)
06858 {
06859   initialize(_db);
06860 }
06861 
06862 CardinalityConstraint_Test::CardinalityConstraint_Test(const eyedb::Class *_cls, eyedb::Data _idr): AttributeComponent((eyedb::Database *)0, (const eyedb::Dataspace *)0, 1)
06863 {
06864   setClass((eyedb::Class *)_cls);
06865 
06866   eyedb::Size idr_psize;
06867   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
06868   if (_idr)
06869     idr->setIDR(idr_tsize, _idr);
06870   else
06871     {
06872       idr->setIDR(idr_tsize);
06873       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06874     }
06875   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06876   eyedb::ClassPeer::newObjRealize(getClass(), this);
06877   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06878   userInitialize();
06879 }
06880 
06881 void CardinalityConstraint_Test::initialize(eyedb::Database *_db)
06882 {
06883   setClass((_db ? _db->getSchema()->getClass("cardinality_constraint_test") : CardinalityConstraint_Test_Class));
06884 
06885   eyedb::Size idr_psize;
06886   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
06887   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
06888   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06889   eyedb::ClassPeer::newObjRealize(getClass(), this);
06890   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06891   userInitialize();
06892 }
06893 
06894 CardinalityConstraint_Test::CardinalityConstraint_Test(const CardinalityConstraint_Test& x) : AttributeComponent(x)
06895 {
06896   userCopy(x);
06897 }
06898 
06899 CardinalityConstraint_Test& CardinalityConstraint_Test::operator=(const CardinalityConstraint_Test& x)
06900 {
06901   *(AttributeComponent *)this = AttributeComponent::operator=((const AttributeComponent &)x);
06902   userCopy(x);
06903   return *this;
06904 }
06905 
06906 CardinalityConstraint_Test::CardinalityConstraint_Test(const eyedb::Struct *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06907 {
06908   setClass((db ? db->getSchema()->getClass("cardinality_constraint_test") : CardinalityConstraint_Test_Class));
06909 
06910   eyedb::Size idr_psize;
06911   getClass()->getIDRObjectSize(&idr_psize);
06912   if (!share)
06913     {
06914       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06915       eyedb::ClassPeer::newObjRealize(getClass(), this);
06916     }
06917 
06918   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06919   userCopy(*x);
06920 }
06921 
06922 CardinalityConstraint_Test::CardinalityConstraint_Test(const CardinalityConstraint_Test *x, eyedb::Bool share) : AttributeComponent(x, share, 1)
06923 {
06924   setClass((db ? db->getSchema()->getClass("cardinality_constraint_test") : CardinalityConstraint_Test_Class));
06925 
06926   eyedb::Size idr_psize;
06927   getClass()->getIDRObjectSize(&idr_psize);
06928   if (!share)
06929     {
06930       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
06931       eyedb::ClassPeer::newObjRealize(getClass(), this);
06932     }
06933 
06934   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
06935   userCopy(*x);
06936 }
06937 
06938 eyedb::Status CardinalityConstraint_Test::setCardDesc(CardinalityDescription*_card_desc)
06939 {
06940   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06941   eyedb::Status status;
06942 
06943   eyedb::Object *_ocard_desc = _card_desc;
06944 
06945   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_ocard_desc, 1, 0);
06946   return status;
06947 }
06948 
06949 const CardinalityDescription*CardinalityConstraint_Test::getCardDesc(eyedb::Bool *isnull, eyedb::Status *rs) const 
06950 {
06951   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06952   eyedb::Object *__o = 0, *__go;
06953   eyedb::Status s;
06954 
06955   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
06956   if (s) {if (rs) *rs = s; return 0;}
06957 
06958   if (__o)
06959     {
06960      if (eyedb::ObjectPeer::isGRTObject(__o)) {
06961        return (CardinalityDescription *)__o;
06962      }
06963      __go = (CardinalityDescription *)make_object(__o, eyedb::False);
06964      if (__go)
06965       {
06966        __o = __go;;
06967        s = getClass()->getAttributes()[6]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
06968        eyedb::ObjectPeer::decrRefCount(__o);
06969        if (s) {if (rs) *rs = s; return 0;}
06970       }
06971     }
06972   return (CardinalityDescription*)__o;
06973 }
06974 
06975 CardinalityDescription*CardinalityConstraint_Test::getCardDesc(eyedb::Bool *isnull, eyedb::Status *rs) 
06976 {
06977   eyedb::gbxAutoGarbSuspender _gbxsusp_;
06978   eyedb::Object *__o = 0, *__go;
06979   eyedb::Status s;
06980 
06981   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
06982   if (s) {if (rs) *rs = s; return 0;}
06983 
06984   if (__o)
06985     {
06986      if (eyedb::ObjectPeer::isGRTObject(__o)) {
06987        return (CardinalityDescription *)__o;
06988      }
06989      __go = (CardinalityDescription *)make_object(__o, eyedb::False);
06990      if (__go)
06991       {
06992        __o = __go;;
06993        s = getClass()->getAttributes()[6]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
06994        eyedb::ObjectPeer::decrRefCount(__o);
06995        if (s) {if (rs) *rs = s; return 0;}
06996       }
06997     }
06998   return (CardinalityDescription*)__o;
06999 }
07000 
07001 static const eyedb::Attribute **ProtectionUser_agritems;
07002 static eyedb::Size ProtectionUser_idr_objsz, ProtectionUser_idr_psize;
07003 
07004 static eyedb::StructClass *ProtectionUser_make(eyedb::StructClass *ProtectionUser_class = 0, eyedb::Schema *m = 0)
07005 {
07006   if (!ProtectionUser_class)
07007     return new eyedb::StructClass("protection_user", (m ? m->getClass("struct") : eyedb::Struct_Class));
07008   eyedb::Attribute *attr[4];
07009   int *dims;
07010 
07011   dims = 0;
07012   attr[2] = new eyedb::Attribute((m ? m->getClass("object") : eyedb::Object_Class), "user", eyedb::True, 0, dims);
07013 
07014   dims = 0;
07015   attr[3] = new eyedb::Attribute((m ? m->getClass("protection_mode") : ProtectionMode_Class), "mode", eyedb::False, 0, dims);
07016 
07017   ProtectionUser_class->setAttributes(&attr[2], 2);
07018 
07019   delete attr[2];
07020   delete attr[3];
07021 
07022   eyedb::ClassPeer::setMType(ProtectionUser_class, eyedb::Class::System);
07023 
07024   return ProtectionUser_class;
07025 }
07026 
07027 eyedb::Object *ProtectionUser_construct_x(const eyedb::Class *cls, eyedb::Data idr)
07028 {
07029   return new ProtectionUser(cls, idr);
07030 }
07031 
07032 eyedb::Object *ProtectionUser_construct(const eyedb::Object *o, eyedb::Bool share)
07033 {
07034   return new ProtectionUser((const eyedb::Struct *)o, share);
07035 }
07036 
07037 static void ProtectionUser_init_p()
07038 {
07039   ProtectionUser_Class = ProtectionUser_make();
07040   constructors_x[class_ind] = ProtectionUser_construct_x;
07041   constructors[class_ind] = ProtectionUser_construct;
07042   hash->insert("protection_user", class_ind++);
07043 }
07044 
07045 static void ProtectionUser_init()
07046 {
07047   ProtectionUser_make(ProtectionUser_Class);
07048 
07049   ProtectionUser_agritems = ProtectionUser_Class->getAttributes();
07050   ProtectionUser_idr_objsz = ProtectionUser_Class->getIDRObjectSize(&ProtectionUser_idr_psize, 0);
07051 
07052   eyedb::ObjectPeer::setUnrealizable(ProtectionUser_Class, eyedb::True);
07053 }
07054 
07055 static eyedb::Status ProtectionUser_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
07056 {
07057   return eyedb::Success;
07058 }
07059 
07060 ProtectionUser::ProtectionUser(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
07061 {
07062   initialize(_db);
07063 }
07064 
07065 ProtectionUser::ProtectionUser(const eyedb::Class *_cls, eyedb::Data _idr)
07066 {
07067   setClass((eyedb::Class *)_cls);
07068 
07069   eyedb::Size idr_psize;
07070   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
07071   if (_idr)
07072     idr->setIDR(idr_tsize, _idr);
07073   else
07074     {
07075       idr->setIDR(idr_tsize);
07076       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07077     }
07078   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07079   eyedb::ClassPeer::newObjRealize(getClass(), this);
07080   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07081   userInitialize();
07082 }
07083 
07084 void ProtectionUser::initialize(eyedb::Database *_db)
07085 {
07086   setClass((_db ? _db->getSchema()->getClass("protection_user") : ProtectionUser_Class));
07087 
07088   eyedb::Size idr_psize;
07089   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
07090   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07091   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07092   eyedb::ClassPeer::newObjRealize(getClass(), this);
07093   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07094   userInitialize();
07095 }
07096 
07097 ProtectionUser::ProtectionUser(const ProtectionUser& x) : eyedb::Struct(x)
07098 {
07099   userCopy(x);
07100 }
07101 
07102 ProtectionUser& ProtectionUser::operator=(const ProtectionUser& x)
07103 {
07104   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
07105   userCopy(x);
07106   return *this;
07107 }
07108 
07109 ProtectionUser::ProtectionUser(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
07110 {
07111   setClass((db ? db->getSchema()->getClass("protection_user") : ProtectionUser_Class));
07112 
07113   eyedb::Size idr_psize;
07114   getClass()->getIDRObjectSize(&idr_psize);
07115   if (!share)
07116     {
07117       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07118       eyedb::ClassPeer::newObjRealize(getClass(), this);
07119     }
07120 
07121   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07122   userCopy(*x);
07123 }
07124 
07125 ProtectionUser::ProtectionUser(const ProtectionUser *x, eyedb::Bool share) : eyedb::Struct(x, share)
07126 {
07127   setClass((db ? db->getSchema()->getClass("protection_user") : ProtectionUser_Class));
07128 
07129   eyedb::Size idr_psize;
07130   getClass()->getIDRObjectSize(&idr_psize);
07131   if (!share)
07132     {
07133       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07134       eyedb::ClassPeer::newObjRealize(getClass(), this);
07135     }
07136 
07137   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07138   userCopy(*x);
07139 }
07140 
07141 eyedb::Status ProtectionUser::setUser(eyedb::Object*_user)
07142 {
07143   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07144   eyedb::Status status;
07145 
07146   eyedb::Object *_ouser = _user;
07147 
07148   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_ouser, 1, 0);
07149   return status;
07150 }
07151 
07152 const eyedb::Object*ProtectionUser::getUser(eyedb::Bool *isnull, eyedb::Status *rs) const 
07153 {
07154   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07155   eyedb::Object *__o = 0, *__go;
07156   eyedb::Status s;
07157 
07158   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
07159   if (s) {if (rs) *rs = s; return 0;}
07160 
07161   if (__o)
07162     {
07163      if (eyedb::ObjectPeer::isGRTObject(__o)) {
07164        return (eyedb::Object *)__o;
07165      }
07166      __go = (eyedb::Object *)make_object(__o, eyedb::False);
07167      if (__go)
07168       {
07169        __o = __go;
07170        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
07171        eyedb::ObjectPeer::decrRefCount(__o);
07172        if (s) {if (rs) *rs = s; return 0;}
07173       }
07174      return (eyedb::Object*)__o;
07175     }
07176 
07177   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
07178   if (!__o && db)
07179     {
07180       eyedb::Oid toid;
07181       s = getClass()->getAttributes()[2]->getOid(this, &toid, 1, 0);
07182       if (s) {if (rs) *rs = s; return 0;}
07183       if (toid.isValid())
07184         {
07185           s = db->loadObject(&toid, &__o);
07186           if (s) {if (rs) *rs = s; return 0;}
07187           if (!eyedb::ObjectPeer::isGRTObject(__o))
07188            {
07189              __go = (eyedb::Object *)make_object(__o, eyedb::False);
07190              if (__go) __o = __go;
07191            }
07192         }
07193     }
07194 
07195   if (__o && wasnull)
07196     {
07197      s = getClass()->getAttributes()[2]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
07198      if (s) {if (rs) *rs = s; return 0;}
07199      __o->release();
07200     }
07201   return (eyedb::Object*)__o;
07202 }
07203 
07204 eyedb::Object*ProtectionUser::getUser(eyedb::Bool *isnull, eyedb::Status *rs) 
07205 {
07206   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07207   eyedb::Object *__o = 0, *__go;
07208   eyedb::Status s;
07209 
07210   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
07211   if (s) {if (rs) *rs = s; return 0;}
07212 
07213   if (__o)
07214     {
07215      if (eyedb::ObjectPeer::isGRTObject(__o)) {
07216        return (eyedb::Object *)__o;
07217      }
07218      __go = (eyedb::Object *)make_object(__o, eyedb::False);
07219      if (__go)
07220       {
07221        __o = __go;
07222        s = getClass()->getAttributes()[2]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
07223        eyedb::ObjectPeer::decrRefCount(__o);
07224        if (s) {if (rs) *rs = s; return 0;}
07225       }
07226      return (eyedb::Object*)__o;
07227     }
07228 
07229   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
07230   if (!__o && db)
07231     {
07232       eyedb::Oid toid;
07233       s = getClass()->getAttributes()[2]->getOid(this, &toid, 1, 0);
07234       if (s) {if (rs) *rs = s; return 0;}
07235       if (toid.isValid())
07236         {
07237           s = db->loadObject(&toid, &__o);
07238           if (s) {if (rs) *rs = s; return 0;}
07239           if (!eyedb::ObjectPeer::isGRTObject(__o))
07240            {
07241              __go = (eyedb::Object *)make_object(__o, eyedb::False);
07242              if (__go) __o = __go;
07243            }
07244         }
07245     }
07246 
07247   if (__o && wasnull)
07248     {
07249      s = getClass()->getAttributes()[2]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
07250      if (s) {if (rs) *rs = s; return 0;}
07251      __o->release();
07252     }
07253   return (eyedb::Object*)__o;
07254 }
07255 
07256 eyedb::Status ProtectionUser::setUserOid(const eyedb::Oid &_oid)
07257 {
07258   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07259   eyedb::Status status;
07260 
07261   status = getClass()->getAttributes()[2]->setOid(this, &_oid, 1, 0, oid_check);
07262   return status;
07263 }
07264 
07265 eyedb::Oid ProtectionUser::getUserOid(eyedb::Status *rs) const
07266 {
07267   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07268   eyedb::Oid __tmp;
07269   eyedb::Status s;
07270 
07271   s = getClass()->getAttributes()[2]->getOid(this, &__tmp, 1, 0);
07272   if (s) {if (rs) *rs = s; return nulloid;}
07273 
07274   return __tmp;
07275 }
07276 
07277 eyedb::Status ProtectionUser::setMode(ProtectionMode _mode, eyedb::Bool _check_value)
07278 {
07279   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07280   eyedb::Status status;
07281   eyedblib::int32 __tmp = _mode;
07282 
07283   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
07284   return status;
07285 }
07286 
07287 ProtectionMode ProtectionUser::getMode(eyedb::Bool *isnull, eyedb::Status *rs) const
07288 {
07289   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07290   eyedblib::int32  __tmp = 0;
07291   eyedb::Status s;
07292 
07293   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
07294   if (s) {if (rs) *rs = s; return (ProtectionMode)0;}
07295   return (ProtectionMode)__tmp;
07296 }
07297 
07298 static const eyedb::Attribute **Protection_agritems;
07299 static eyedb::Size Protection_idr_objsz, Protection_idr_psize;
07300 
07301 static eyedb::StructClass *Protection_make(eyedb::StructClass *Protection_class = 0, eyedb::Schema *m = 0)
07302 {
07303   if (!Protection_class)
07304     return new eyedb::StructClass("protection", (m ? m->getClass("struct") : eyedb::Struct_Class));
07305   eyedb::Attribute *attr[5];
07306   int *dims;
07307 
07308   dims = new int[1];
07309   dims[0] = -1;
07310   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "name", eyedb::False, 1, dims);
07311   delete[] dims;
07312 
07313   dims = new int[1];
07314   dims[0] = -1;
07315   attr[3] = new eyedb::Attribute((m ? m->getClass("protection_user") : ProtectionUser_Class), "pusers", eyedb::False, 1, dims);
07316   delete[] dims;
07317 
07318   dims = 0;
07319   attr[4] = new eyedb::Attribute((m ? m->getClass("oid") : eyedb::OidP_Class), "poid", eyedb::False, 0, dims);
07320 
07321   Protection_class->setAttributes(&attr[2], 3);
07322 
07323   delete attr[2];
07324   delete attr[3];
07325   delete attr[4];
07326 
07327   eyedb::ClassPeer::setMType(Protection_class, eyedb::Class::System);
07328 
07329   return Protection_class;
07330 }
07331 
07332 eyedb::Object *Protection_construct_x(const eyedb::Class *cls, eyedb::Data idr)
07333 {
07334   return new Protection(cls, idr);
07335 }
07336 
07337 eyedb::Object *Protection_construct(const eyedb::Object *o, eyedb::Bool share)
07338 {
07339   return new Protection((const eyedb::Struct *)o, share);
07340 }
07341 
07342 static void Protection_init_p()
07343 {
07344   Protection_Class = Protection_make();
07345   constructors_x[class_ind] = Protection_construct_x;
07346   constructors[class_ind] = Protection_construct;
07347   hash->insert("protection", class_ind++);
07348 }
07349 
07350 static void Protection_init()
07351 {
07352   Protection_make(Protection_Class);
07353 
07354   Protection_agritems = Protection_Class->getAttributes();
07355   Protection_idr_objsz = Protection_Class->getIDRObjectSize(&Protection_idr_psize, 0);
07356 
07357   eyedb::ObjectPeer::setUnrealizable(Protection_Class, eyedb::True);
07358 }
07359 
07360 static eyedb::Status Protection_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
07361 {
07362   return eyedb::Success;
07363 }
07364 
07365 Protection::Protection(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
07366 {
07367   initialize(_db);
07368 }
07369 
07370 Protection::Protection(const eyedb::Class *_cls, eyedb::Data _idr)
07371 {
07372   setClass((eyedb::Class *)_cls);
07373 
07374   eyedb::Size idr_psize;
07375   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
07376   if (_idr)
07377     idr->setIDR(idr_tsize, _idr);
07378   else
07379     {
07380       idr->setIDR(idr_tsize);
07381       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07382     }
07383   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07384   eyedb::ClassPeer::newObjRealize(getClass(), this);
07385   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07386   userInitialize();
07387 }
07388 
07389 void Protection::initialize(eyedb::Database *_db)
07390 {
07391   setClass((_db ? _db->getSchema()->getClass("protection") : Protection_Class));
07392 
07393   eyedb::Size idr_psize;
07394   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
07395   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07396   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07397   eyedb::ClassPeer::newObjRealize(getClass(), this);
07398   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07399   userInitialize();
07400 }
07401 
07402 Protection::Protection(const Protection& x) : eyedb::Struct(x)
07403 {
07404   userCopy(x);
07405 }
07406 
07407 Protection& Protection::operator=(const Protection& x)
07408 {
07409   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
07410   userCopy(x);
07411   return *this;
07412 }
07413 
07414 Protection::Protection(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
07415 {
07416   setClass((db ? db->getSchema()->getClass("protection") : Protection_Class));
07417 
07418   eyedb::Size idr_psize;
07419   getClass()->getIDRObjectSize(&idr_psize);
07420   if (!share)
07421     {
07422       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07423       eyedb::ClassPeer::newObjRealize(getClass(), this);
07424     }
07425 
07426   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07427   userCopy(*x);
07428 }
07429 
07430 Protection::Protection(const Protection *x, eyedb::Bool share) : eyedb::Struct(x, share)
07431 {
07432   setClass((db ? db->getSchema()->getClass("protection") : Protection_Class));
07433 
07434   eyedb::Size idr_psize;
07435   getClass()->getIDRObjectSize(&idr_psize);
07436   if (!share)
07437     {
07438       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07439       eyedb::ClassPeer::newObjRealize(getClass(), this);
07440     }
07441 
07442   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07443   userCopy(*x);
07444 }
07445 
07446 eyedb::Status Protection::setName(const std::string &_name)
07447 {
07448   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07449   eyedb::Status status;
07450   eyedb::Size size;
07451   eyedb::Size len = _name.size() + 1;
07452 
07453   status = getClass()->getAttributes()[2]->getSize(this, size);
07454   if (status)
07455     return status;
07456 
07457   if (size != len)
07458     status = getClass()->getAttributes()[2]->setSize(this, len);
07459   if (status)
07460     return status;
07461 
07462   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_name.c_str(), len, 0);
07463   return status;
07464 
07465 }
07466 
07467 eyedb::Status Protection::setName(unsigned int a0, char _name)
07468 {
07469   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07470   eyedb::Status status;
07471   eyedb::Size from = a0;
07472 
07473   eyedb::Size size;
07474   status = getClass()->getAttributes()[2]->getSize(this, size);
07475   if (status)
07476     return status;
07477 
07478   if (size <= from)
07479     status = getClass()->getAttributes()[2]->setSize(this, from+1);
07480   if (status)
07481     return status;
07482 
07483   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_name, 1, from);
07484   return status;
07485 }
07486 
07487 std::string Protection::getName(eyedb::Bool *isnull, eyedb::Status *rs) const
07488 {
07489   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07490   eyedb::Data data;
07491   eyedb::Status s;
07492 
07493   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
07494   if (s) {if (rs) *rs = s; return 0;}
07495   if (!data) data = nulldata;
07496   return (const char *)data;
07497 }
07498 
07499 char Protection::getName(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
07500 {
07501   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07502   char __tmp = 0;
07503   eyedb::Status s;
07504   eyedb::Size from = a0;
07505 
07506   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
07507   if (s) {if (rs) *rs = s; return 0;}
07508   return __tmp;
07509 }
07510 
07511 eyedb::Status Protection::setPusers(unsigned int a0, ProtectionUser*_pusers)
07512 {
07513   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07514   eyedb::Status status;
07515   eyedb::Size from = a0;
07516 
07517   eyedb::Size size;
07518   status = getClass()->getAttributes()[3]->getSize(this, size);
07519   if (status)
07520     return status;
07521 
07522   if (size <= from)
07523     status = getClass()->getAttributes()[3]->setSize(this, from+1);
07524   if (status)
07525     return status;
07526 
07527   eyedb::Object *_opusers = _pusers;
07528 
07529   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_opusers, 1, from);
07530   return status;
07531 }
07532 
07533 eyedb::Status Protection::setPusersCount(unsigned int a0)
07534 {
07535   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07536   eyedb::Status status;
07537   eyedb::Size from = a0;
07538   status = getClass()->getAttributes()[3]->setSize(this, from);
07539   return status;
07540 }
07541 
07542 const ProtectionUser*Protection::getPusers(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const 
07543 {
07544   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07545   eyedb::Object *__o = 0, *__go;
07546   eyedb::Status s;
07547   eyedb::Size from = a0;
07548 
07549   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__o, 1, from, isnull);
07550   if (s) {if (rs) *rs = s; return 0;}
07551 
07552   if (__o)
07553     {
07554      if (eyedb::ObjectPeer::isGRTObject(__o)) {
07555        return (ProtectionUser *)__o;
07556      }
07557      __go = (ProtectionUser *)make_object(__o, eyedb::False);
07558      if (__go)
07559       {
07560        __o = __go;;
07561        s = getClass()->getAttributes()[3]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, from);
07562        eyedb::ObjectPeer::decrRefCount(__o);
07563        if (s) {if (rs) *rs = s; return 0;}
07564       }
07565     }
07566   return (ProtectionUser*)__o;
07567 }
07568 
07569 ProtectionUser*Protection::getPusers(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) 
07570 {
07571   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07572   eyedb::Object *__o = 0, *__go;
07573   eyedb::Status s;
07574   eyedb::Size from = a0;
07575 
07576   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__o, 1, from, isnull);
07577   if (s) {if (rs) *rs = s; return 0;}
07578 
07579   if (__o)
07580     {
07581      if (eyedb::ObjectPeer::isGRTObject(__o)) {
07582        return (ProtectionUser *)__o;
07583      }
07584      __go = (ProtectionUser *)make_object(__o, eyedb::False);
07585      if (__go)
07586       {
07587        __o = __go;;
07588        s = getClass()->getAttributes()[3]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, from);
07589        eyedb::ObjectPeer::decrRefCount(__o);
07590        if (s) {if (rs) *rs = s; return 0;}
07591       }
07592     }
07593   return (ProtectionUser*)__o;
07594 }
07595 
07596 unsigned int Protection::getPusersCount(eyedb::Status *rs) const
07597 {
07598   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07599   eyedb::Size size;
07600   eyedb::Status s;
07601   s = getClass()->getAttributes()[3]->getSize(this, size);
07602   if (s) {if (rs) *rs = s; return 0;}
07603   return (int)size;
07604 }
07605 
07606 eyedb::Status Protection::setPoid(eyedb::Oid _poid)
07607 {
07608   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07609   eyedb::Status status;
07610 
07611   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_poid, 1, 0);
07612   return status;
07613 }
07614 
07615 eyedb::Oid Protection::getPoid(eyedb::Bool *isnull, eyedb::Status *rs) const
07616 {
07617   eyedb::gbxAutoGarbSuspender _gbxsusp_;
07618   eyedb::Oid __tmp;
07619   eyedb::Status s;
07620 
07621   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
07622   if (s) {if (rs) *rs = s; return nulloid;}
07623 
07624   return __tmp;
07625 }
07626 
07627 static const eyedb::Attribute **UnreadableObject_agritems;
07628 static eyedb::Size UnreadableObject_idr_objsz, UnreadableObject_idr_psize;
07629 
07630 static eyedb::StructClass *UnreadableObject_make(eyedb::StructClass *UnreadableObject_class = 0, eyedb::Schema *m = 0)
07631 {
07632   if (!UnreadableObject_class)
07633     return new eyedb::StructClass("unreadable_object", (m ? m->getClass("struct") : eyedb::Struct_Class));
07634   eyedb::Attribute *attr[2];
07635 
07636   UnreadableObject_class->setAttributes(&attr[2], 0);
07637 
07638 
07639   eyedb::ClassPeer::setMType(UnreadableObject_class, eyedb::Class::System);
07640 
07641   return UnreadableObject_class;
07642 }
07643 
07644 eyedb::Object *UnreadableObject_construct_x(const eyedb::Class *cls, eyedb::Data idr)
07645 {
07646   return new UnreadableObject(cls, idr);
07647 }
07648 
07649 eyedb::Object *UnreadableObject_construct(const eyedb::Object *o, eyedb::Bool share)
07650 {
07651   return new UnreadableObject((const eyedb::Struct *)o, share);
07652 }
07653 
07654 static void UnreadableObject_init_p()
07655 {
07656   UnreadableObject_Class = UnreadableObject_make();
07657   constructors_x[class_ind] = UnreadableObject_construct_x;
07658   constructors[class_ind] = UnreadableObject_construct;
07659   hash->insert("unreadable_object", class_ind++);
07660 }
07661 
07662 static void UnreadableObject_init()
07663 {
07664   UnreadableObject_make(UnreadableObject_Class);
07665 
07666   UnreadableObject_agritems = UnreadableObject_Class->getAttributes();
07667   UnreadableObject_idr_objsz = UnreadableObject_Class->getIDRObjectSize(&UnreadableObject_idr_psize, 0);
07668 
07669   eyedb::ObjectPeer::setUnrealizable(UnreadableObject_Class, eyedb::True);
07670 }
07671 
07672 static eyedb::Status UnreadableObject_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
07673 {
07674   return eyedb::Success;
07675 }
07676 
07677 UnreadableObject::UnreadableObject(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
07678 {
07679   initialize(_db);
07680 }
07681 
07682 UnreadableObject::UnreadableObject(const eyedb::Class *_cls, eyedb::Data _idr)
07683 {
07684   setClass((eyedb::Class *)_cls);
07685 
07686   eyedb::Size idr_psize;
07687   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
07688   if (_idr)
07689     idr->setIDR(idr_tsize, _idr);
07690   else
07691     {
07692       idr->setIDR(idr_tsize);
07693       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07694     }
07695   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07696   eyedb::ClassPeer::newObjRealize(getClass(), this);
07697   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07698   userInitialize();
07699 }
07700 
07701 void UnreadableObject::initialize(eyedb::Database *_db)
07702 {
07703   setClass((_db ? _db->getSchema()->getClass("unreadable_object") : UnreadableObject_Class));
07704 
07705   eyedb::Size idr_psize;
07706   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
07707   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07708   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07709   eyedb::ClassPeer::newObjRealize(getClass(), this);
07710   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07711   userInitialize();
07712 }
07713 
07714 UnreadableObject::UnreadableObject(const UnreadableObject& x) : eyedb::Struct(x)
07715 {
07716   userCopy(x);
07717 }
07718 
07719 UnreadableObject& UnreadableObject::operator=(const UnreadableObject& x)
07720 {
07721   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
07722   userCopy(x);
07723   return *this;
07724 }
07725 
07726 UnreadableObject::UnreadableObject(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
07727 {
07728   setClass((db ? db->getSchema()->getClass("unreadable_object") : UnreadableObject_Class));
07729 
07730   eyedb::Size idr_psize;
07731   getClass()->getIDRObjectSize(&idr_psize);
07732   if (!share)
07733     {
07734       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07735       eyedb::ClassPeer::newObjRealize(getClass(), this);
07736     }
07737 
07738   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07739   userCopy(*x);
07740 }
07741 
07742 UnreadableObject::UnreadableObject(const UnreadableObject *x, eyedb::Bool share) : eyedb::Struct(x, share)
07743 {
07744   setClass((db ? db->getSchema()->getClass("unreadable_object") : UnreadableObject_Class));
07745 
07746   eyedb::Size idr_psize;
07747   getClass()->getIDRObjectSize(&idr_psize);
07748   if (!share)
07749     {
07750       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07751       eyedb::ClassPeer::newObjRealize(getClass(), this);
07752     }
07753 
07754   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07755   userCopy(*x);
07756 }
07757 
07758 static const eyedb::Attribute **ClassConversion_agritems;
07759 static eyedb::Size ClassConversion_idr_objsz, ClassConversion_idr_psize;
07760 
07761 static eyedb::StructClass *ClassConversion_make(eyedb::StructClass *ClassConversion_class = 0, eyedb::Schema *m = 0)
07762 {
07763   if (!ClassConversion_class)
07764     return new eyedb::StructClass("class_conversion", (m ? m->getClass("struct") : eyedb::Struct_Class));
07765   eyedb::Attribute *attr[19];
07766   int *dims;
07767 
07768   dims = 0;
07769   attr[2] = new eyedb::Attribute((m ? m->getClass("class_update_type") : ClassUpdateType_Class), "updtype", eyedb::False, 0, dims);
07770 
07771   dims = 0;
07772   attr[3] = new eyedb::Attribute((m ? m->getClass("attribute_convert_type") : AttributeConvertType_Class), "cnvtype", eyedb::False, 0, dims);
07773 
07774   dims = new int[1];
07775   dims[0] = -1;
07776   attr[4] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "clsname", eyedb::False, 1, dims);
07777   delete[] dims;
07778 
07779   dims = new int[1];
07780   dims[0] = -1;
07781   attr[5] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "attrname", eyedb::False, 1, dims);
07782   delete[] dims;
07783 
07784   dims = 0;
07785   attr[6] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "attrnum", eyedb::False, 0, dims);
07786 
07787   dims = 0;
07788   attr[7] = new eyedb::Attribute((m ? m->getClass("oid") : eyedb::OidP_Class), "oid_o", eyedb::False, 0, dims);
07789 
07790   dims = 0;
07791   attr[8] = new eyedb::Attribute((m ? m->getClass("oid") : eyedb::OidP_Class), "oid_n", eyedb::False, 0, dims);
07792 
07793   dims = 0;
07794   attr[9] = new eyedb::Attribute((m ? m->getClass("oid") : eyedb::OidP_Class), "roid_o", eyedb::False, 0, dims);
07795 
07796   dims = 0;
07797   attr[10] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "sync", eyedb::False, 0, dims);
07798 
07799   dims = 0;
07800   attr[11] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "with_check", eyedb::False, 0, dims);
07801 
07802   dims = 0;
07803   attr[12] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "src_dim", eyedb::False, 0, dims);
07804 
07805   dims = 0;
07806   attr[13] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "dest_dim", eyedb::False, 0, dims);
07807 
07808   dims = 0;
07809   attr[14] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "offset_o", eyedb::False, 0, dims);
07810 
07811   dims = 0;
07812   attr[15] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "offset_n", eyedb::False, 0, dims);
07813 
07814   dims = 0;
07815   attr[16] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "size_o", eyedb::False, 0, dims);
07816 
07817   dims = 0;
07818   attr[17] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "size_n", eyedb::False, 0, dims);
07819 
07820   dims = 0;
07821   attr[18] = new eyedb::Attribute((m ? m->getClass("be_method_C") : BEMethod_C_Class), "cnv_mth", eyedb::True, 0, dims);
07822 
07823   ClassConversion_class->setAttributes(&attr[2], 17);
07824 
07825   delete attr[2];
07826   delete attr[3];
07827   delete attr[4];
07828   delete attr[5];
07829   delete attr[6];
07830   delete attr[7];
07831   delete attr[8];
07832   delete attr[9];
07833   delete attr[10];
07834   delete attr[11];
07835   delete attr[12];
07836   delete attr[13];
07837   delete attr[14];
07838   delete attr[15];
07839   delete attr[16];
07840   delete attr[17];
07841   delete attr[18];
07842 
07843   eyedb::ClassPeer::setMType(ClassConversion_class, eyedb::Class::System);
07844 
07845   return ClassConversion_class;
07846 }
07847 
07848 eyedb::Object *ClassConversion_construct_x(const eyedb::Class *cls, eyedb::Data idr)
07849 {
07850   return new ClassConversion(cls, idr);
07851 }
07852 
07853 eyedb::Object *ClassConversion_construct(const eyedb::Object *o, eyedb::Bool share)
07854 {
07855   return new ClassConversion((const eyedb::Struct *)o, share);
07856 }
07857 
07858 static void ClassConversion_init_p()
07859 {
07860   ClassConversion_Class = ClassConversion_make();
07861   constructors_x[class_ind] = ClassConversion_construct_x;
07862   constructors[class_ind] = ClassConversion_construct;
07863   hash->insert("class_conversion", class_ind++);
07864 }
07865 
07866 static void ClassConversion_init()
07867 {
07868   ClassConversion_make(ClassConversion_Class);
07869 
07870   ClassConversion_agritems = ClassConversion_Class->getAttributes();
07871   ClassConversion_idr_objsz = ClassConversion_Class->getIDRObjectSize(&ClassConversion_idr_psize, 0);
07872 
07873   eyedb::ObjectPeer::setUnrealizable(ClassConversion_Class, eyedb::True);
07874 }
07875 
07876 static eyedb::Status ClassConversion_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
07877 {
07878   eyedb::AttributeComponent *comp;
07879   const eyedb::Dataspace *dataspace;
07880   eyedb::ClassComponent *clcomp;
07881   eyedb::Status status;
07882   int *impl_hints;
07883   impl_hints = new int[8];
07884   impl_hints[0] = 0;
07885   impl_hints[1] = 0;
07886   impl_hints[2] = 0;
07887   impl_hints[3] = 0;
07888   impl_hints[4] = 0;
07889   impl_hints[5] = 0;
07890   impl_hints[6] = 0;
07891   impl_hints[7] = 0;
07892   dataspace = 0;;
07893   comp = new eyedb::HashIndex(db, cls, "class_conversion.clsname", eyedb::False, eyedb::True, dataspace, 0, 0, impl_hints, 8);
07894   delete [] impl_hints;
07895   cls->add(comp->getInd(), comp);
07896 
07897   impl_hints = new int[8];
07898   impl_hints[0] = 0;
07899   impl_hints[1] = 0;
07900   impl_hints[2] = 0;
07901   impl_hints[3] = 0;
07902   impl_hints[4] = 0;
07903   impl_hints[5] = 0;
07904   impl_hints[6] = 0;
07905   impl_hints[7] = 0;
07906   dataspace = 0;;
07907   comp = new eyedb::BTreeIndex(db, cls, "class_conversion.oid_o", eyedb::False, eyedb::False, dataspace, 0, impl_hints, 8);
07908   delete [] impl_hints;
07909   cls->add(comp->getInd(), comp);
07910 
07911   impl_hints = new int[8];
07912   impl_hints[0] = 0;
07913   impl_hints[1] = 0;
07914   impl_hints[2] = 0;
07915   impl_hints[3] = 0;
07916   impl_hints[4] = 0;
07917   impl_hints[5] = 0;
07918   impl_hints[6] = 0;
07919   impl_hints[7] = 0;
07920   dataspace = 0;;
07921   comp = new eyedb::BTreeIndex(db, cls, "class_conversion.oid_n", eyedb::False, eyedb::False, dataspace, 0, impl_hints, 8);
07922   delete [] impl_hints;
07923   cls->add(comp->getInd(), comp);
07924 
07925   return eyedb::Success;
07926 }
07927 
07928 ClassConversion::ClassConversion(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
07929 {
07930   initialize(_db);
07931 }
07932 
07933 ClassConversion::ClassConversion(const eyedb::Class *_cls, eyedb::Data _idr)
07934 {
07935   setClass((eyedb::Class *)_cls);
07936 
07937   eyedb::Size idr_psize;
07938   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
07939   if (_idr)
07940     idr->setIDR(idr_tsize, _idr);
07941   else
07942     {
07943       idr->setIDR(idr_tsize);
07944       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07945     }
07946   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07947   eyedb::ClassPeer::newObjRealize(getClass(), this);
07948   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07949   userInitialize();
07950 }
07951 
07952 void ClassConversion::initialize(eyedb::Database *_db)
07953 {
07954   setClass((_db ? _db->getSchema()->getClass("class_conversion") : ClassConversion_Class));
07955 
07956   eyedb::Size idr_psize;
07957   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
07958   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
07959   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07960   eyedb::ClassPeer::newObjRealize(getClass(), this);
07961   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07962   userInitialize();
07963 }
07964 
07965 ClassConversion::ClassConversion(const ClassConversion& x) : eyedb::Struct(x)
07966 {
07967   userCopy(x);
07968 }
07969 
07970 ClassConversion& ClassConversion::operator=(const ClassConversion& x)
07971 {
07972   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
07973   userCopy(x);
07974   return *this;
07975 }
07976 
07977 ClassConversion::ClassConversion(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
07978 {
07979   setClass((db ? db->getSchema()->getClass("class_conversion") : ClassConversion_Class));
07980 
07981   eyedb::Size idr_psize;
07982   getClass()->getIDRObjectSize(&idr_psize);
07983   if (!share)
07984     {
07985       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
07986       eyedb::ClassPeer::newObjRealize(getClass(), this);
07987     }
07988 
07989   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
07990   userCopy(*x);
07991 }
07992 
07993 ClassConversion::ClassConversion(const ClassConversion *x, eyedb::Bool share) : eyedb::Struct(x, share)
07994 {
07995   setClass((db ? db->getSchema()->getClass("class_conversion") : ClassConversion_Class));
07996 
07997   eyedb::Size idr_psize;
07998   getClass()->getIDRObjectSize(&idr_psize);
07999   if (!share)
08000     {
08001       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
08002       eyedb::ClassPeer::newObjRealize(getClass(), this);
08003     }
08004 
08005   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
08006   userCopy(*x);
08007 }
08008 
08009 eyedb::Status ClassConversion::setUpdtype(ClassUpdateType _updtype, eyedb::Bool _check_value)
08010 {
08011   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08012   eyedb::Status status;
08013   eyedblib::int32 __tmp = _updtype;
08014 
08015   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
08016   return status;
08017 }
08018 
08019 ClassUpdateType ClassConversion::getUpdtype(eyedb::Bool *isnull, eyedb::Status *rs) const
08020 {
08021   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08022   eyedblib::int32  __tmp = 0;
08023   eyedb::Status s;
08024 
08025   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08026   if (s) {if (rs) *rs = s; return (ClassUpdateType)0;}
08027   return (ClassUpdateType)__tmp;
08028 }
08029 
08030 eyedb::Status ClassConversion::setCnvtype(AttributeConvertType _cnvtype, eyedb::Bool _check_value)
08031 {
08032   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08033   eyedb::Status status;
08034   eyedblib::int32 __tmp = _cnvtype;
08035 
08036   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
08037   return status;
08038 }
08039 
08040 AttributeConvertType ClassConversion::getCnvtype(eyedb::Bool *isnull, eyedb::Status *rs) const
08041 {
08042   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08043   eyedblib::int32  __tmp = 0;
08044   eyedb::Status s;
08045 
08046   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08047   if (s) {if (rs) *rs = s; return (AttributeConvertType)0;}
08048   return (AttributeConvertType)__tmp;
08049 }
08050 
08051 eyedb::Status ClassConversion::setClsname(const std::string &_clsname)
08052 {
08053   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08054   eyedb::Status status;
08055   eyedb::Size size;
08056   eyedb::Size len = _clsname.size() + 1;
08057 
08058   status = getClass()->getAttributes()[4]->getSize(this, size);
08059   if (status)
08060     return status;
08061 
08062   if (size != len)
08063     status = getClass()->getAttributes()[4]->setSize(this, len);
08064   if (status)
08065     return status;
08066 
08067   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)_clsname.c_str(), len, 0);
08068   return status;
08069 
08070 }
08071 
08072 eyedb::Status ClassConversion::setClsname(unsigned int a0, char _clsname)
08073 {
08074   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08075   eyedb::Status status;
08076   eyedb::Size from = a0;
08077 
08078   eyedb::Size size;
08079   status = getClass()->getAttributes()[4]->getSize(this, size);
08080   if (status)
08081     return status;
08082 
08083   if (size <= from)
08084     status = getClass()->getAttributes()[4]->setSize(this, from+1);
08085   if (status)
08086     return status;
08087 
08088   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_clsname, 1, from);
08089   return status;
08090 }
08091 
08092 std::string ClassConversion::getClsname(eyedb::Bool *isnull, eyedb::Status *rs) const
08093 {
08094   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08095   eyedb::Data data;
08096   eyedb::Status s;
08097 
08098   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
08099   if (s) {if (rs) *rs = s; return 0;}
08100   if (!data) data = nulldata;
08101   return (const char *)data;
08102 }
08103 
08104 char ClassConversion::getClsname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
08105 {
08106   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08107   char __tmp = 0;
08108   eyedb::Status s;
08109   eyedb::Size from = a0;
08110 
08111   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
08112   if (s) {if (rs) *rs = s; return 0;}
08113   return __tmp;
08114 }
08115 
08116 eyedb::Status ClassConversion::setAttrname(const std::string &_attrname)
08117 {
08118   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08119   eyedb::Status status;
08120   eyedb::Size size;
08121   eyedb::Size len = _attrname.size() + 1;
08122 
08123   status = getClass()->getAttributes()[5]->getSize(this, size);
08124   if (status)
08125     return status;
08126 
08127   if (size != len)
08128     status = getClass()->getAttributes()[5]->setSize(this, len);
08129   if (status)
08130     return status;
08131 
08132   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)_attrname.c_str(), len, 0);
08133   return status;
08134 
08135 }
08136 
08137 eyedb::Status ClassConversion::setAttrname(unsigned int a0, char _attrname)
08138 {
08139   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08140   eyedb::Status status;
08141   eyedb::Size from = a0;
08142 
08143   eyedb::Size size;
08144   status = getClass()->getAttributes()[5]->getSize(this, size);
08145   if (status)
08146     return status;
08147 
08148   if (size <= from)
08149     status = getClass()->getAttributes()[5]->setSize(this, from+1);
08150   if (status)
08151     return status;
08152 
08153   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_attrname, 1, from);
08154   return status;
08155 }
08156 
08157 std::string ClassConversion::getAttrname(eyedb::Bool *isnull, eyedb::Status *rs) const
08158 {
08159   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08160   eyedb::Data data;
08161   eyedb::Status s;
08162 
08163   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
08164   if (s) {if (rs) *rs = s; return 0;}
08165   if (!data) data = nulldata;
08166   return (const char *)data;
08167 }
08168 
08169 char ClassConversion::getAttrname(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
08170 {
08171   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08172   char __tmp = 0;
08173   eyedb::Status s;
08174   eyedb::Size from = a0;
08175 
08176   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
08177   if (s) {if (rs) *rs = s; return 0;}
08178   return __tmp;
08179 }
08180 
08181 eyedb::Status ClassConversion::setAttrnum(eyedblib::int32 _attrnum)
08182 {
08183   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08184   eyedb::Status status;
08185 
08186   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_attrnum, 1, 0);
08187   return status;
08188 }
08189 
08190 eyedblib::int32 ClassConversion::getAttrnum(eyedb::Bool *isnull, eyedb::Status *rs) const
08191 {
08192   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08193   eyedblib::int32 __tmp = 0;
08194   eyedb::Status s;
08195 
08196   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08197   if (s) {if (rs) *rs = s; return 0;}
08198   return __tmp;
08199 }
08200 
08201 eyedb::Status ClassConversion::setOidO(eyedb::Oid _oid_o)
08202 {
08203   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08204   eyedb::Status status;
08205 
08206   status = getClass()->getAttributes()[7]->setValue(this, (eyedb::Data)&_oid_o, 1, 0);
08207   return status;
08208 }
08209 
08210 eyedb::Oid ClassConversion::getOidO(eyedb::Bool *isnull, eyedb::Status *rs) const
08211 {
08212   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08213   eyedb::Oid __tmp;
08214   eyedb::Status s;
08215 
08216   s = getClass()->getAttributes()[7]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08217   if (s) {if (rs) *rs = s; return nulloid;}
08218 
08219   return __tmp;
08220 }
08221 
08222 eyedb::Status ClassConversion::setOidN(eyedb::Oid _oid_n)
08223 {
08224   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08225   eyedb::Status status;
08226 
08227   status = getClass()->getAttributes()[8]->setValue(this, (eyedb::Data)&_oid_n, 1, 0);
08228   return status;
08229 }
08230 
08231 eyedb::Oid ClassConversion::getOidN(eyedb::Bool *isnull, eyedb::Status *rs) const
08232 {
08233   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08234   eyedb::Oid __tmp;
08235   eyedb::Status s;
08236 
08237   s = getClass()->getAttributes()[8]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08238   if (s) {if (rs) *rs = s; return nulloid;}
08239 
08240   return __tmp;
08241 }
08242 
08243 eyedb::Status ClassConversion::setRoidO(eyedb::Oid _roid_o)
08244 {
08245   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08246   eyedb::Status status;
08247 
08248   status = getClass()->getAttributes()[9]->setValue(this, (eyedb::Data)&_roid_o, 1, 0);
08249   return status;
08250 }
08251 
08252 eyedb::Oid ClassConversion::getRoidO(eyedb::Bool *isnull, eyedb::Status *rs) const
08253 {
08254   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08255   eyedb::Oid __tmp;
08256   eyedb::Status s;
08257 
08258   s = getClass()->getAttributes()[9]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08259   if (s) {if (rs) *rs = s; return nulloid;}
08260 
08261   return __tmp;
08262 }
08263 
08264 eyedb::Status ClassConversion::setSync(eyedblib::int32 _sync)
08265 {
08266   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08267   eyedb::Status status;
08268 
08269   status = getClass()->getAttributes()[10]->setValue(this, (eyedb::Data)&_sync, 1, 0);
08270   return status;
08271 }
08272 
08273 eyedblib::int32 ClassConversion::getSync(eyedb::Bool *isnull, eyedb::Status *rs) const
08274 {
08275   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08276   eyedblib::int32 __tmp = 0;
08277   eyedb::Status s;
08278 
08279   s = getClass()->getAttributes()[10]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08280   if (s) {if (rs) *rs = s; return 0;}
08281   return __tmp;
08282 }
08283 
08284 eyedb::Status ClassConversion::setWithCheck(eyedblib::int32 _with_check)
08285 {
08286   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08287   eyedb::Status status;
08288 
08289   status = getClass()->getAttributes()[11]->setValue(this, (eyedb::Data)&_with_check, 1, 0);
08290   return status;
08291 }
08292 
08293 eyedblib::int32 ClassConversion::getWithCheck(eyedb::Bool *isnull, eyedb::Status *rs) const
08294 {
08295   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08296   eyedblib::int32 __tmp = 0;
08297   eyedb::Status s;
08298 
08299   s = getClass()->getAttributes()[11]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08300   if (s) {if (rs) *rs = s; return 0;}
08301   return __tmp;
08302 }
08303 
08304 eyedb::Status ClassConversion::setSrcDim(eyedblib::int32 _src_dim)
08305 {
08306   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08307   eyedb::Status status;
08308 
08309   status = getClass()->getAttributes()[12]->setValue(this, (eyedb::Data)&_src_dim, 1, 0);
08310   return status;
08311 }
08312 
08313 eyedblib::int32 ClassConversion::getSrcDim(eyedb::Bool *isnull, eyedb::Status *rs) const
08314 {
08315   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08316   eyedblib::int32 __tmp = 0;
08317   eyedb::Status s;
08318 
08319   s = getClass()->getAttributes()[12]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08320   if (s) {if (rs) *rs = s; return 0;}
08321   return __tmp;
08322 }
08323 
08324 eyedb::Status ClassConversion::setDestDim(eyedblib::int32 _dest_dim)
08325 {
08326   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08327   eyedb::Status status;
08328 
08329   status = getClass()->getAttributes()[13]->setValue(this, (eyedb::Data)&_dest_dim, 1, 0);
08330   return status;
08331 }
08332 
08333 eyedblib::int32 ClassConversion::getDestDim(eyedb::Bool *isnull, eyedb::Status *rs) const
08334 {
08335   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08336   eyedblib::int32 __tmp = 0;
08337   eyedb::Status s;
08338 
08339   s = getClass()->getAttributes()[13]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08340   if (s) {if (rs) *rs = s; return 0;}
08341   return __tmp;
08342 }
08343 
08344 eyedb::Status ClassConversion::setOffsetO(eyedblib::int32 _offset_o)
08345 {
08346   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08347   eyedb::Status status;
08348 
08349   status = getClass()->getAttributes()[14]->setValue(this, (eyedb::Data)&_offset_o, 1, 0);
08350   return status;
08351 }
08352 
08353 eyedblib::int32 ClassConversion::getOffsetO(eyedb::Bool *isnull, eyedb::Status *rs) const
08354 {
08355   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08356   eyedblib::int32 __tmp = 0;
08357   eyedb::Status s;
08358 
08359   s = getClass()->getAttributes()[14]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08360   if (s) {if (rs) *rs = s; return 0;}
08361   return __tmp;
08362 }
08363 
08364 eyedb::Status ClassConversion::setOffsetN(eyedblib::int32 _offset_n)
08365 {
08366   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08367   eyedb::Status status;
08368 
08369   status = getClass()->getAttributes()[15]->setValue(this, (eyedb::Data)&_offset_n, 1, 0);
08370   return status;
08371 }
08372 
08373 eyedblib::int32 ClassConversion::getOffsetN(eyedb::Bool *isnull, eyedb::Status *rs) const
08374 {
08375   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08376   eyedblib::int32 __tmp = 0;
08377   eyedb::Status s;
08378 
08379   s = getClass()->getAttributes()[15]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08380   if (s) {if (rs) *rs = s; return 0;}
08381   return __tmp;
08382 }
08383 
08384 eyedb::Status ClassConversion::setSizeO(eyedblib::int32 _size_o)
08385 {
08386   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08387   eyedb::Status status;
08388 
08389   status = getClass()->getAttributes()[16]->setValue(this, (eyedb::Data)&_size_o, 1, 0);
08390   return status;
08391 }
08392 
08393 eyedblib::int32 ClassConversion::getSizeO(eyedb::Bool *isnull, eyedb::Status *rs) const
08394 {
08395   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08396   eyedblib::int32 __tmp = 0;
08397   eyedb::Status s;
08398 
08399   s = getClass()->getAttributes()[16]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08400   if (s) {if (rs) *rs = s; return 0;}
08401   return __tmp;
08402 }
08403 
08404 eyedb::Status ClassConversion::setSizeN(eyedblib::int32 _size_n)
08405 {
08406   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08407   eyedb::Status status;
08408 
08409   status = getClass()->getAttributes()[17]->setValue(this, (eyedb::Data)&_size_n, 1, 0);
08410   return status;
08411 }
08412 
08413 eyedblib::int32 ClassConversion::getSizeN(eyedb::Bool *isnull, eyedb::Status *rs) const
08414 {
08415   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08416   eyedblib::int32 __tmp = 0;
08417   eyedb::Status s;
08418 
08419   s = getClass()->getAttributes()[17]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
08420   if (s) {if (rs) *rs = s; return 0;}
08421   return __tmp;
08422 }
08423 
08424 eyedb::Status ClassConversion::setCnvMth(BEMethod_C*_cnv_mth)
08425 {
08426   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08427   eyedb::Status status;
08428 
08429   eyedb::Object *_ocnv_mth = _cnv_mth;
08430 
08431   status = getClass()->getAttributes()[18]->setValue(this, (eyedb::Data)&_ocnv_mth, 1, 0);
08432   return status;
08433 }
08434 
08435 const BEMethod_C*ClassConversion::getCnvMth(eyedb::Bool *isnull, eyedb::Status *rs) const 
08436 {
08437   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08438   eyedb::Object *__o = 0, *__go;
08439   eyedb::Status s;
08440 
08441   s = getClass()->getAttributes()[18]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
08442   if (s) {if (rs) *rs = s; return 0;}
08443 
08444   if (__o)
08445     {
08446      if (eyedb::ObjectPeer::isGRTObject(__o)) {
08447        return (BEMethod_C *)__o;
08448      }
08449      __go = (BEMethod_C *)make_object(__o, eyedb::False);
08450      if (__go)
08451       {
08452        __o = __go;
08453        s = getClass()->getAttributes()[18]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
08454        eyedb::ObjectPeer::decrRefCount(__o);
08455        if (s) {if (rs) *rs = s; return 0;}
08456       }
08457      return (BEMethod_C*)__o;
08458     }
08459 
08460   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
08461   if (!__o && db)
08462     {
08463       eyedb::Oid toid;
08464       s = getClass()->getAttributes()[18]->getOid(this, &toid, 1, 0);
08465       if (s) {if (rs) *rs = s; return 0;}
08466       if (toid.isValid())
08467         {
08468           s = db->loadObject(&toid, &__o);
08469           if (s) {if (rs) *rs = s; return 0;}
08470           if (!eyedb::ObjectPeer::isGRTObject(__o))
08471            {
08472              __go = (BEMethod_C *)make_object(__o, eyedb::False);
08473              if (__go) __o = __go;
08474            }
08475         }
08476     }
08477 
08478   if (__o && wasnull)
08479     {
08480      s = getClass()->getAttributes()[18]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
08481      if (s) {if (rs) *rs = s; return 0;}
08482      __o->release();
08483     }
08484   return (BEMethod_C*)__o;
08485 }
08486 
08487 BEMethod_C*ClassConversion::getCnvMth(eyedb::Bool *isnull, eyedb::Status *rs) 
08488 {
08489   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08490   eyedb::Object *__o = 0, *__go;
08491   eyedb::Status s;
08492 
08493   s = getClass()->getAttributes()[18]->getValue(this, (eyedb::Data *)&__o, 1, 0, isnull);
08494   if (s) {if (rs) *rs = s; return 0;}
08495 
08496   if (__o)
08497     {
08498      if (eyedb::ObjectPeer::isGRTObject(__o)) {
08499        return (BEMethod_C *)__o;
08500      }
08501      __go = (BEMethod_C *)make_object(__o, eyedb::False);
08502      if (__go)
08503       {
08504        __o = __go;
08505        s = getClass()->getAttributes()[18]->setValue((Agregat *)this, (eyedb::Data)&__o, 1, 0);
08506        eyedb::ObjectPeer::decrRefCount(__o);
08507        if (s) {if (rs) *rs = s; return 0;}
08508       }
08509      return (BEMethod_C*)__o;
08510     }
08511 
08512   eyedb::Bool wasnull = (!__o ? eyedb::True : eyedb::False);
08513   if (!__o && db)
08514     {
08515       eyedb::Oid toid;
08516       s = getClass()->getAttributes()[18]->getOid(this, &toid, 1, 0);
08517       if (s) {if (rs) *rs = s; return 0;}
08518       if (toid.isValid())
08519         {
08520           s = db->loadObject(&toid, &__o);
08521           if (s) {if (rs) *rs = s; return 0;}
08522           if (!eyedb::ObjectPeer::isGRTObject(__o))
08523            {
08524              __go = (BEMethod_C *)make_object(__o, eyedb::False);
08525              if (__go) __o = __go;
08526            }
08527         }
08528     }
08529 
08530   if (__o && wasnull)
08531     {
08532      s = getClass()->getAttributes()[18]->setValue((eyedb::Agregat *)this, (eyedb::Data)&__o, 1, 0);
08533      if (s) {if (rs) *rs = s; return 0;}
08534      __o->release();
08535     }
08536   return (BEMethod_C*)__o;
08537 }
08538 
08539 eyedb::Status ClassConversion::setCnvMthOid(const eyedb::Oid &_oid)
08540 {
08541   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08542   eyedb::Status status;
08543 
08544   status = getClass()->getAttributes()[18]->setOid(this, &_oid, 1, 0, oid_check);
08545   return status;
08546 }
08547 
08548 eyedb::Oid ClassConversion::getCnvMthOid(eyedb::Status *rs) const
08549 {
08550   eyedb::gbxAutoGarbSuspender _gbxsusp_;
08551   eyedb::Oid __tmp;
08552   eyedb::Status s;
08553 
08554   s = getClass()->getAttributes()[18]->getOid(this, &__tmp, 1, 0);
08555   if (s) {if (rs) *rs = s; return nulloid;}
08556 
08557   return __tmp;
08558 }
08559 
08560 static eyedb::CollSetClass *set_class_AttributeComponent_ref_make(eyedb::CollSetClass *cls = 0, eyedb::Schema *m = 0)
08561 {
08562   if (!cls)
08563     {
08564       cls = new eyedb::CollSetClass((m ? m->getClass("attribute_component") : AttributeComponent_Class), eyedb::True);
08565       eyedb::ClassPeer::setMType(cls, eyedb::Class::System);
08566     }
08567   return cls;
08568 }
08569 
08570 static void set_class_AttributeComponent_ref_init_p()
08571 {
08572   set_class_AttributeComponent_ref_Class = set_class_AttributeComponent_ref_make();
08573 }
08574 
08575 static const char not_exit_msg[] = "class does not exist";
08576 static const char differ_msg[] = "class differs in database and in runtime environment";
08577 
08578 void sysclsInit(void)
08579 {
08580   if (hash) return;
08581 
08582   hash = new eyedb::GenHashTable(0, 105);
08583 
08584   IndexType_init_p();
08585   ExecutableLang_init_p();
08586   ArgType_Type_init_p();
08587   ExecutableLocalisation_init_p();
08588   ExecutableType_init_p();
08589   TriggerType_init_p();
08590   ProtectionMode_init_p();
08591   ClassUpdateType_init_p();
08592   AttributeConvertType_init_p();
08593   AttributeComponent_init_p();
08594   AttributeComponentSet_init_p();
08595   ClassComponent_init_p();
08596   AgregatClassComponent_init_p();
08597   ClassVariable_init_p();
08598   Index_init_p();
08599   HashIndex_init_p();
08600   BTreeIndex_init_p();
08601   CollAttrImpl_init_p();
08602   ArgType_init_p();
08603   Signature_init_p();
08604   Executable_init_p();
08605   AgregatClassExecutable_init_p();
08606   Method_init_p();
08607   FEMethod_init_p();
08608   FEMethod_C_init_p();
08609   BEMethod_init_p();
08610   BEMethod_C_init_p();
08611   BEMethod_OQL_init_p();
08612   Trigger_init_p();
08613   UniqueConstraint_init_p();
08614   NotNullConstraint_init_p();
08615   CardinalityDescription_init_p();
08616   CardinalityConstraint_init_p();
08617   CardinalityConstraint_Test_init_p();
08618   ProtectionUser_init_p();
08619   Protection_init_p();
08620   UnreadableObject_init_p();
08621   ClassConversion_init_p();
08622   set_class_AttributeComponent_ref_init_p();
08623   IndexType_init();
08624   ExecutableLang_init();
08625   ArgType_Type_init();
08626   ExecutableLocalisation_init();
08627   ExecutableType_init();
08628   TriggerType_init();
08629   ProtectionMode_init();
08630   ClassUpdateType_init();
08631   AttributeConvertType_init();
08632   AttributeComponent_init();
08633   AttributeComponentSet_init();
08634   ClassComponent_init();
08635   AgregatClassComponent_init();
08636   ClassVariable_init();
08637   Index_init();
08638   HashIndex_init();
08639   BTreeIndex_init();
08640   CollAttrImpl_init();
08641   ArgType_init();
08642   Signature_init();
08643   Executable_init();
08644   AgregatClassExecutable_init();
08645   Method_init();
08646   FEMethod_init();
08647   FEMethod_C_init();
08648   BEMethod_init();
08649   BEMethod_C_init();
08650   BEMethod_OQL_init();
08651   Trigger_init();
08652   UniqueConstraint_init();
08653   NotNullConstraint_init();
08654   CardinalityDescription_init();
08655   CardinalityConstraint_init();
08656   CardinalityConstraint_Test_init();
08657   ProtectionUser_init();
08658   Protection_init();
08659   UnreadableObject_init();
08660   ClassConversion_init();
08661 }
08662 
08663 void sysclsRelease(void)
08664 {
08665   if (!hash) return;
08666 
08667   delete hash;
08668   hash = 0;
08669 
08670   IndexType_Class->release();
08671   ExecutableLang_Class->release();
08672   ArgType_Type_Class->release();
08673   ExecutableLocalisation_Class->release();
08674   ExecutableType_Class->release();
08675   TriggerType_Class->release();
08676   ProtectionMode_Class->release();
08677   ClassUpdateType_Class->release();
08678   AttributeConvertType_Class->release();
08679   AttributeComponent_Class->release();
08680   AttributeComponentSet_Class->release();
08681   ClassComponent_Class->release();
08682   AgregatClassComponent_Class->release();
08683   ClassVariable_Class->release();
08684   Index_Class->release();
08685   HashIndex_Class->release();
08686   BTreeIndex_Class->release();
08687   CollAttrImpl_Class->release();
08688   ArgType_Class->release();
08689   Signature_Class->release();
08690   Executable_Class->release();
08691   AgregatClassExecutable_Class->release();
08692   Method_Class->release();
08693   FEMethod_Class->release();
08694   FEMethod_C_Class->release();
08695   BEMethod_Class->release();
08696   BEMethod_C_Class->release();
08697   BEMethod_OQL_Class->release();
08698   Trigger_Class->release();
08699   UniqueConstraint_Class->release();
08700   NotNullConstraint_Class->release();
08701   CardinalityDescription_Class->release();
08702   CardinalityConstraint_Class->release();
08703   CardinalityConstraint_Test_Class->release();
08704   ProtectionUser_Class->release();
08705   Protection_Class->release();
08706   UnreadableObject_Class->release();
08707   ClassConversion_Class->release();
08708   set_class_AttributeComponent_ref_Class->release();
08709 }
08710 
08711 static eyedb::Status
08712 sysclsSchemaUpdate(eyedb::Schema *m, eyedb::Database *db)
08713 {
08714   m->setName("eyedb");
08715   eyedb::Status status;
08716   eyedb::EnumClass *IndexType_class = IndexType_make(0, m);
08717   if (!m->getClass("index_type"))
08718     {
08719       status = m->addClass(IndexType_class);
08720       if (status)
08721         return status;
08722     }
08723   eyedb::EnumClass *ExecutableLang_class = ExecutableLang_make(0, m);
08724   if (!m->getClass("executable_lang"))
08725     {
08726       status = m->addClass(ExecutableLang_class);
08727       if (status)
08728         return status;
08729     }
08730   eyedb::EnumClass *ArgType_Type_class = ArgType_Type_make(0, m);
08731   if (!m->getClass("argtype_type"))
08732     {
08733       status = m->addClass(ArgType_Type_class);
08734       if (status)
08735         return status;
08736     }
08737   eyedb::EnumClass *ExecutableLocalisation_class = ExecutableLocalisation_make(0, m);
08738   if (!m->getClass("executable_localisation"))
08739     {
08740       status = m->addClass(ExecutableLocalisation_class);
08741       if (status)
08742         return status;
08743     }
08744   eyedb::EnumClass *ExecutableType_class = ExecutableType_make(0, m);
08745   if (!m->getClass("executable_type"))
08746     {
08747       status = m->addClass(ExecutableType_class);
08748       if (status)
08749         return status;
08750     }
08751   eyedb::EnumClass *TriggerType_class = TriggerType_make(0, m);
08752   if (!m->getClass("trigger_type"))
08753     {
08754       status = m->addClass(TriggerType_class);
08755       if (status)
08756         return status;
08757     }
08758   eyedb::EnumClass *ProtectionMode_class = ProtectionMode_make(0, m);
08759   if (!m->getClass("protection_mode"))
08760     {
08761       status = m->addClass(ProtectionMode_class);
08762       if (status)
08763         return status;
08764     }
08765   eyedb::EnumClass *ClassUpdateType_class = ClassUpdateType_make(0, m);
08766   if (!m->getClass("class_update_type"))
08767     {
08768       status = m->addClass(ClassUpdateType_class);
08769       if (status)
08770         return status;
08771     }
08772   eyedb::EnumClass *AttributeConvertType_class = AttributeConvertType_make(0, m);
08773   if (!m->getClass("attribute_convert_type"))
08774     {
08775       status = m->addClass(AttributeConvertType_class);
08776       if (status)
08777         return status;
08778     }
08779   eyedb::StructClass *AttributeComponent_class = AttributeComponent_make(0, m);
08780   if (!m->getClass("attribute_component"))
08781     {
08782       status = m->addClass(AttributeComponent_class);
08783       if (status)
08784         return status;
08785     }
08786   eyedb::StructClass *AttributeComponentSet_class = AttributeComponentSet_make(0, m);
08787   if (!m->getClass("attribute_component_set"))
08788     {
08789       status = m->addClass(AttributeComponentSet_class);
08790       if (status)
08791         return status;
08792     }
08793   eyedb::StructClass *ClassComponent_class = ClassComponent_make(0, m);
08794   if (!m->getClass("class_component"))
08795     {
08796       status = m->addClass(ClassComponent_class);
08797       if (status)
08798         return status;
08799     }
08800   eyedb::StructClass *AgregatClassComponent_class = AgregatClassComponent_make(0, m);
08801   if (!m->getClass("agregat_class_component"))
08802     {
08803       status = m->addClass(AgregatClassComponent_class);
08804       if (status)
08805         return status;
08806     }
08807   eyedb::StructClass *ClassVariable_class = ClassVariable_make(0, m);
08808   if (!m->getClass("class_variable"))
08809     {
08810       status = m->addClass(ClassVariable_class);
08811       if (status)
08812         return status;
08813     }
08814   eyedb::StructClass *Index_class = Index_make(0, m);
08815   if (!m->getClass("index"))
08816     {
08817       status = m->addClass(Index_class);
08818       if (status)
08819         return status;
08820     }
08821   eyedb::StructClass *HashIndex_class = HashIndex_make(0, m);
08822   if (!m->getClass("hashindex"))
08823     {
08824       status = m->addClass(HashIndex_class);
08825       if (status)
08826         return status;
08827     }
08828   eyedb::StructClass *BTreeIndex_class = BTreeIndex_make(0, m);
08829   if (!m->getClass("btreeindex"))
08830     {
08831       status = m->addClass(BTreeIndex_class);
08832       if (status)
08833         return status;
08834     }
08835   eyedb::StructClass *CollAttrImpl_class = CollAttrImpl_make(0, m);
08836   if (!m->getClass("collection_attribute_implementation"))
08837     {
08838       status = m->addClass(CollAttrImpl_class);
08839       if (status)
08840         return status;
08841     }
08842   eyedb::StructClass *ArgType_class = ArgType_make(0, m);
08843   if (!m->getClass("argtype"))
08844     {
08845       status = m->addClass(ArgType_class);
08846       if (status)
08847         return status;
08848     }
08849   eyedb::StructClass *Signature_class = Signature_make(0, m);
08850   if (!m->getClass("signature"))
08851     {
08852       status = m->addClass(Signature_class);
08853       if (status)
08854         return status;
08855     }
08856   eyedb::StructClass *Executable_class = Executable_make(0, m);
08857   if (!m->getClass("executable"))
08858     {
08859       status = m->addClass(Executable_class);
08860       if (status)
08861         return status;
08862     }
08863   eyedb::StructClass *AgregatClassExecutable_class = AgregatClassExecutable_make(0, m);
08864   if (!m->getClass("agregat_class_executable"))
08865     {
08866       status = m->addClass(AgregatClassExecutable_class);
08867       if (status)
08868         return status;
08869     }
08870   eyedb::StructClass *Method_class = Method_make(0, m);
08871   if (!m->getClass("method"))
08872     {
08873       status = m->addClass(Method_class);
08874       if (status)
08875         return status;
08876     }
08877   eyedb::StructClass *FEMethod_class = FEMethod_make(0, m);
08878   if (!m->getClass("fe_method"))
08879     {
08880       status = m->addClass(FEMethod_class);
08881       if (status)
08882         return status;
08883     }
08884   eyedb::StructClass *FEMethod_C_class = FEMethod_C_make(0, m);
08885   if (!m->getClass("fe_method_C"))
08886     {
08887       status = m->addClass(FEMethod_C_class);
08888       if (status)
08889         return status;
08890     }
08891   eyedb::StructClass *BEMethod_class = BEMethod_make(0, m);
08892   if (!m->getClass("be_method"))
08893     {
08894       status = m->addClass(BEMethod_class);
08895       if (status)
08896         return status;
08897     }
08898   eyedb::StructClass *BEMethod_C_class = BEMethod_C_make(0, m);
08899   if (!m->getClass("be_method_C"))
08900     {
08901       status = m->addClass(BEMethod_C_class);
08902       if (status)
08903         return status;
08904     }
08905   eyedb::StructClass *BEMethod_OQL_class = BEMethod_OQL_make(0, m);
08906   if (!m->getClass("be_method_OQL"))
08907     {
08908       status = m->addClass(BEMethod_OQL_class);
08909       if (status)
08910         return status;
08911     }
08912   eyedb::StructClass *Trigger_class = Trigger_make(0, m);
08913   if (!m->getClass("trigger"))
08914     {
08915       status = m->addClass(Trigger_class);
08916       if (status)
08917         return status;
08918     }
08919   eyedb::StructClass *UniqueConstraint_class = UniqueConstraint_make(0, m);
08920   if (!m->getClass("unique_constraint"))
08921     {
08922       status = m->addClass(UniqueConstraint_class);
08923       if (status)
08924         return status;
08925     }
08926   eyedb::StructClass *NotNullConstraint_class = NotNullConstraint_make(0, m);
08927   if (!m->getClass("notnull_constraint"))
08928     {
08929       status = m->addClass(NotNullConstraint_class);
08930       if (status)
08931         return status;
08932     }
08933   eyedb::StructClass *CardinalityDescription_class = CardinalityDescription_make(0, m);
08934   if (!m->getClass("cardinality_description"))
08935     {
08936       status = m->addClass(CardinalityDescription_class);
08937       if (status)
08938         return status;
08939     }
08940   eyedb::StructClass *CardinalityConstraint_class = CardinalityConstraint_make(0, m);
08941   if (!m->getClass("cardinality_constraint"))
08942     {
08943       status = m->addClass(CardinalityConstraint_class);
08944       if (status)
08945         return status;
08946     }
08947   eyedb::StructClass *CardinalityConstraint_Test_class = CardinalityConstraint_Test_make(0, m);
08948   if (!m->getClass("cardinality_constraint_test"))
08949     {
08950       status = m->addClass(CardinalityConstraint_Test_class);
08951       if (status)
08952         return status;
08953     }
08954   eyedb::StructClass *ProtectionUser_class = ProtectionUser_make(0, m);
08955   if (!m->getClass("protection_user"))
08956     {
08957       status = m->addClass(ProtectionUser_class);
08958       if (status)
08959         return status;
08960     }
08961   eyedb::StructClass *Protection_class = Protection_make(0, m);
08962   if (!m->getClass("protection"))
08963     {
08964       status = m->addClass(Protection_class);
08965       if (status)
08966         return status;
08967     }
08968   eyedb::StructClass *UnreadableObject_class = UnreadableObject_make(0, m);
08969   if (!m->getClass("unreadable_object"))
08970     {
08971       status = m->addClass(UnreadableObject_class);
08972       if (status)
08973         return status;
08974     }
08975   eyedb::StructClass *ClassConversion_class = ClassConversion_make(0, m);
08976   if (!m->getClass("class_conversion"))
08977     {
08978       status = m->addClass(ClassConversion_class);
08979       if (status)
08980         return status;
08981     }
08982   eyedb::CollSetClass *set_class_AttributeComponent_ref_class = set_class_AttributeComponent_ref_make(0, m);
08983   if (!m->getClass("set<attribute_component*>"))
08984     {
08985       status = m->addClass(set_class_AttributeComponent_ref_class);
08986       if (status)
08987         return status;
08988     }
08989 
08990   IndexType_make(IndexType_class, m);
08991   ExecutableLang_make(ExecutableLang_class, m);
08992   ArgType_Type_make(ArgType_Type_class, m);
08993   ExecutableLocalisation_make(ExecutableLocalisation_class, m);
08994   ExecutableType_make(ExecutableType_class, m);
08995   TriggerType_make(TriggerType_class, m);
08996   ProtectionMode_make(ProtectionMode_class, m);
08997   ClassUpdateType_make(ClassUpdateType_class, m);
08998   AttributeConvertType_make(AttributeConvertType_class, m);
08999   AttributeComponent_make(AttributeComponent_class, m);
09000   AttributeComponentSet_make(AttributeComponentSet_class, m);
09001   ClassComponent_make(ClassComponent_class, m);
09002   AgregatClassComponent_make(AgregatClassComponent_class, m);
09003   ClassVariable_make(ClassVariable_class, m);
09004   Index_make(Index_class, m);
09005   HashIndex_make(HashIndex_class, m);
09006   BTreeIndex_make(BTreeIndex_class, m);
09007   CollAttrImpl_make(CollAttrImpl_class, m);
09008   ArgType_make(ArgType_class, m);
09009   Signature_make(Signature_class, m);
09010   Executable_make(Executable_class, m);
09011   AgregatClassExecutable_make(AgregatClassExecutable_class, m);
09012   Method_make(Method_class, m);
09013   FEMethod_make(FEMethod_class, m);
09014   FEMethod_C_make(FEMethod_C_class, m);
09015   BEMethod_make(BEMethod_class, m);
09016   BEMethod_C_make(BEMethod_C_class, m);
09017   BEMethod_OQL_make(BEMethod_OQL_class, m);
09018   Trigger_make(Trigger_class, m);
09019   UniqueConstraint_make(UniqueConstraint_class, m);
09020   NotNullConstraint_make(NotNullConstraint_class, m);
09021   CardinalityDescription_make(CardinalityDescription_class, m);
09022   CardinalityConstraint_make(CardinalityConstraint_class, m);
09023   CardinalityConstraint_Test_make(CardinalityConstraint_Test_class, m);
09024   ProtectionUser_make(ProtectionUser_class, m);
09025   Protection_make(Protection_class, m);
09026   UnreadableObject_make(UnreadableObject_class, m);
09027   ClassConversion_make(ClassConversion_class, m);
09028 
09029   if (!db) return eyedb::Success;
09030 
09031   if (!IndexType_class->compare(m->getClass("index_type")))
09032     return eyedb::Exception::make(eyedb::IDB_ERROR, "'IndexType' %s", differ_msg);
09033   if (!ExecutableLang_class->compare(m->getClass("executable_lang")))
09034     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ExecutableLang' %s", differ_msg);
09035   if (!ArgType_Type_class->compare(m->getClass("argtype_type")))
09036     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ArgType_Type' %s", differ_msg);
09037   if (!ExecutableLocalisation_class->compare(m->getClass("executable_localisation")))
09038     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ExecutableLocalisation' %s", differ_msg);
09039   if (!ExecutableType_class->compare(m->getClass("executable_type")))
09040     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ExecutableType' %s", differ_msg);
09041   if (!TriggerType_class->compare(m->getClass("trigger_type")))
09042     return eyedb::Exception::make(eyedb::IDB_ERROR, "'TriggerType' %s", differ_msg);
09043   if (!ProtectionMode_class->compare(m->getClass("protection_mode")))
09044     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ProtectionMode' %s", differ_msg);
09045   if (!ClassUpdateType_class->compare(m->getClass("class_update_type")))
09046     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ClassUpdateType' %s", differ_msg);
09047   if (!AttributeConvertType_class->compare(m->getClass("attribute_convert_type")))
09048     return eyedb::Exception::make(eyedb::IDB_ERROR, "'AttributeConvertType' %s", differ_msg);
09049   if (!AttributeComponent_class->compare(m->getClass("attribute_component")))
09050     return eyedb::Exception::make(eyedb::IDB_ERROR, "'AttributeComponent' %s", differ_msg);
09051   if (!AttributeComponentSet_class->compare(m->getClass("attribute_component_set")))
09052     return eyedb::Exception::make(eyedb::IDB_ERROR, "'AttributeComponentSet' %s", differ_msg);
09053   if (!ClassComponent_class->compare(m->getClass("class_component")))
09054     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ClassComponent' %s", differ_msg);
09055   if (!AgregatClassComponent_class->compare(m->getClass("agregat_class_component")))
09056     return eyedb::Exception::make(eyedb::IDB_ERROR, "'AgregatClassComponent' %s", differ_msg);
09057   if (!ClassVariable_class->compare(m->getClass("class_variable")))
09058     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ClassVariable' %s", differ_msg);
09059   if (!Index_class->compare(m->getClass("index")))
09060     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Index' %s", differ_msg);
09061   if (!HashIndex_class->compare(m->getClass("hashindex")))
09062     return eyedb::Exception::make(eyedb::IDB_ERROR, "'HashIndex' %s", differ_msg);
09063   if (!BTreeIndex_class->compare(m->getClass("btreeindex")))
09064     return eyedb::Exception::make(eyedb::IDB_ERROR, "'BTreeIndex' %s", differ_msg);
09065   if (!CollAttrImpl_class->compare(m->getClass("collection_attribute_implementation")))
09066     return eyedb::Exception::make(eyedb::IDB_ERROR, "'CollAttrImpl' %s", differ_msg);
09067   if (!ArgType_class->compare(m->getClass("argtype")))
09068     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ArgType' %s", differ_msg);
09069   if (!Signature_class->compare(m->getClass("signature")))
09070     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Signature' %s", differ_msg);
09071   if (!Executable_class->compare(m->getClass("executable")))
09072     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Executable' %s", differ_msg);
09073   if (!AgregatClassExecutable_class->compare(m->getClass("agregat_class_executable")))
09074     return eyedb::Exception::make(eyedb::IDB_ERROR, "'AgregatClassExecutable' %s", differ_msg);
09075   if (!Method_class->compare(m->getClass("method")))
09076     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Method' %s", differ_msg);
09077   if (!FEMethod_class->compare(m->getClass("fe_method")))
09078     return eyedb::Exception::make(eyedb::IDB_ERROR, "'FEMethod' %s", differ_msg);
09079   if (!FEMethod_C_class->compare(m->getClass("fe_method_C")))
09080     return eyedb::Exception::make(eyedb::IDB_ERROR, "'FEMethod_C' %s", differ_msg);
09081   if (!BEMethod_class->compare(m->getClass("be_method")))
09082     return eyedb::Exception::make(eyedb::IDB_ERROR, "'BEMethod' %s", differ_msg);
09083   if (!BEMethod_C_class->compare(m->getClass("be_method_C")))
09084     return eyedb::Exception::make(eyedb::IDB_ERROR, "'BEMethod_C' %s", differ_msg);
09085   if (!BEMethod_OQL_class->compare(m->getClass("be_method_OQL")))
09086     return eyedb::Exception::make(eyedb::IDB_ERROR, "'BEMethod_OQL' %s", differ_msg);
09087   if (!Trigger_class->compare(m->getClass("trigger")))
09088     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Trigger' %s", differ_msg);
09089   if (!UniqueConstraint_class->compare(m->getClass("unique_constraint")))
09090     return eyedb::Exception::make(eyedb::IDB_ERROR, "'UniqueConstraint' %s", differ_msg);
09091   if (!NotNullConstraint_class->compare(m->getClass("notnull_constraint")))
09092     return eyedb::Exception::make(eyedb::IDB_ERROR, "'NotNullConstraint' %s", differ_msg);
09093   if (!CardinalityDescription_class->compare(m->getClass("cardinality_description")))
09094     return eyedb::Exception::make(eyedb::IDB_ERROR, "'CardinalityDescription' %s", differ_msg);
09095   if (!CardinalityConstraint_class->compare(m->getClass("cardinality_constraint")))
09096     return eyedb::Exception::make(eyedb::IDB_ERROR, "'CardinalityConstraint' %s", differ_msg);
09097   if (!CardinalityConstraint_Test_class->compare(m->getClass("cardinality_constraint_test")))
09098     return eyedb::Exception::make(eyedb::IDB_ERROR, "'CardinalityConstraint_Test' %s", differ_msg);
09099   if (!ProtectionUser_class->compare(m->getClass("protection_user")))
09100     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ProtectionUser' %s", differ_msg);
09101   if (!Protection_class->compare(m->getClass("protection")))
09102     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Protection' %s", differ_msg);
09103   if (!UnreadableObject_class->compare(m->getClass("unreadable_object")))
09104     return eyedb::Exception::make(eyedb::IDB_ERROR, "'UnreadableObject' %s", differ_msg);
09105   if (!ClassConversion_class->compare(m->getClass("class_conversion")))
09106     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ClassConversion' %s", differ_msg);
09107 
09108   db->transactionBegin();
09109 
09110   if ((status = AttributeComponent_attrcomp_realize(db, m->getClass("attribute_component")))) return status;
09111 
09112   if ((status = AttributeComponentSet_attrcomp_realize(db, m->getClass("attribute_component_set")))) return status;
09113 
09114   if ((status = ClassComponent_attrcomp_realize(db, m->getClass("class_component")))) return status;
09115 
09116   if ((status = AgregatClassComponent_attrcomp_realize(db, m->getClass("agregat_class_component")))) return status;
09117 
09118   if ((status = ClassVariable_attrcomp_realize(db, m->getClass("class_variable")))) return status;
09119 
09120   if ((status = Index_attrcomp_realize(db, m->getClass("index")))) return status;
09121 
09122   if ((status = HashIndex_attrcomp_realize(db, m->getClass("hashindex")))) return status;
09123 
09124   if ((status = BTreeIndex_attrcomp_realize(db, m->getClass("btreeindex")))) return status;
09125 
09126   if ((status = CollAttrImpl_attrcomp_realize(db, m->getClass("collection_attribute_implementation")))) return status;
09127 
09128   if ((status = ArgType_attrcomp_realize(db, m->getClass("argtype")))) return status;
09129 
09130   if ((status = Signature_attrcomp_realize(db, m->getClass("signature")))) return status;
09131 
09132   if ((status = Executable_attrcomp_realize(db, m->getClass("executable")))) return status;
09133 
09134   if ((status = AgregatClassExecutable_attrcomp_realize(db, m->getClass("agregat_class_executable")))) return status;
09135 
09136   if ((status = Method_attrcomp_realize(db, m->getClass("method")))) return status;
09137 
09138   if ((status = FEMethod_attrcomp_realize(db, m->getClass("fe_method")))) return status;
09139 
09140   if ((status = FEMethod_C_attrcomp_realize(db, m->getClass("fe_method_C")))) return status;
09141 
09142   if ((status = BEMethod_attrcomp_realize(db, m->getClass("be_method")))) return status;
09143 
09144   if ((status = BEMethod_C_attrcomp_realize(db, m->getClass("be_method_C")))) return status;
09145 
09146   if ((status = BEMethod_OQL_attrcomp_realize(db, m->getClass("be_method_OQL")))) return status;
09147 
09148   if ((status = Trigger_attrcomp_realize(db, m->getClass("trigger")))) return status;
09149 
09150   if ((status = UniqueConstraint_attrcomp_realize(db, m->getClass("unique_constraint")))) return status;
09151 
09152   if ((status = NotNullConstraint_attrcomp_realize(db, m->getClass("notnull_constraint")))) return status;
09153 
09154   if ((status = CardinalityDescription_attrcomp_realize(db, m->getClass("cardinality_description")))) return status;
09155 
09156   if ((status = CardinalityConstraint_attrcomp_realize(db, m->getClass("cardinality_constraint")))) return status;
09157 
09158   if ((status = CardinalityConstraint_Test_attrcomp_realize(db, m->getClass("cardinality_constraint_test")))) return status;
09159 
09160   if ((status = ProtectionUser_attrcomp_realize(db, m->getClass("protection_user")))) return status;
09161 
09162   if ((status = Protection_attrcomp_realize(db, m->getClass("protection")))) return status;
09163 
09164   if ((status = UnreadableObject_attrcomp_realize(db, m->getClass("unreadable_object")))) return status;
09165 
09166   if ((status = ClassConversion_attrcomp_realize(db, m->getClass("class_conversion")))) return status;
09167   status = m->realize();
09168   if (status) return status;
09169   db->transactionCommit();
09170   return eyedb::Success;
09171 }
09172 
09173 eyedb::Status sysclsSchemaUpdate(eyedb::Database *db)
09174 {
09175   return sysclsSchemaUpdate(db->getSchema(), db);
09176 }
09177 
09178 eyedb::Status sysclsSchemaUpdate(eyedb::Schema *m)
09179 {
09180   return sysclsSchemaUpdate(m, NULL);
09181 }
09182 
09183 eyedb::Object *sysclsMakeObject(eyedb::Object *o, eyedb::Bool remove)
09184 {
09185   if (!o->getClass()) return (eyedb::Object *)0;
09186   if (eyedb::ObjectPeer::isGRTObject(o))
09187     return o;
09188   int ind = hash->get(o->getClass()->getName());
09189   if (ind < 0 && (!o->getClass()->getStrictAliasName() || (ind = hash->get(o->getClass()->getStrictAliasName())) < 0)) return 0;
09190   eyedb::Object *co = constructors[ind](o, (remove ? eyedb::True : eyedb::False));
09191   eyedb::ObjectPeer::setClass(co, o->getClass());
09192   if (remove) o->release();
09193   if (co->getDatabase())
09194     co->getDatabase()->cacheObject(co);
09195   return co;
09196 }
09197 
09198 sysclsDatabase::sysclsDatabase(eyedb::Connection *conn, const char *dbname, eyedb::Database::OpenFlag flag, const char *userauth, const char *passwdauth) : eyedb::Database(dbname)
09199 {
09200   eyedb::Status status = open(conn, flag, 0, userauth, passwdauth);
09201   if (status) throw *status;
09202 }
09203 
09204 sysclsDatabase::sysclsDatabase(eyedb::Connection *conn, const char *dbname, const char *dbmdb_str, eyedb::Database::OpenFlag flag, const char *userauth, const char *passwdauth) : eyedb::Database(dbname, dbmdb_str)
09205 {
09206   eyedb::Status status = open(conn, flag, 0, userauth, passwdauth);
09207   if (status) throw *status;
09208 }
09209 
09210 eyedb::Status sysclsDatabase::open(eyedb::Connection *conn, eyedb::Database::OpenFlag flag, const char *userauth, const char *passwdauth)
09211 {
09212   return open(conn, flag, 0, userauth, passwdauth);
09213 }
09214 
09215 eyedb::Status sysclsDatabase::open(eyedb::Connection *conn, eyedb::Database::OpenFlag flag, const eyedb::OpenHints *hints, const char *userauth, const char *passwdauth)
09216 {
09217   eyedb::Status status = eyedb::Database::open(conn, flag, hints, userauth, passwdauth);
09218   if (status) return status;
09219   transactionBegin();
09220   status = sysclsDatabase::checkSchema(getSchema());
09221   transactionCommit();
09222 
09223   if (!status) add(hash, constructors_x);
09224 
09225   return status;
09226 }
09227 
09228 void sysclsDatabase::setConsApp(eyedb::Database *_db)
09229 {
09230   _db->add(hash, constructors_x);
09231 }
09232 
09233 static void append(char *&s, const char *m1, const char *m2)
09234 {
09235   if (!s) {s = (char *)malloc(strlen(m1)+strlen(m2)+2); *s = 0;}
09236   else s = (char *)realloc(s, strlen(s)+strlen(m1)+strlen(m2)+2);
09237   strcat(s, m1);
09238   strcat(s, m2);
09239   strcat(s, "\n");
09240 }
09241 
09242 eyedb::Bool sysclsDatabase::getDynamicGetErrorPolicy() {
09243    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "getDynamicGetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
09244 }
09245 
09246 eyedb::Bool sysclsDatabase::getDynamicSetErrorPolicy() {
09247    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "getDynamicSetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
09248 }
09249 
09250 void sysclsDatabase::setDynamicGetErrorPolicy(eyedb::Bool policy) {
09251    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "setDynamicGetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
09252 }
09253 
09254 void sysclsDatabase::setDynamicSetErrorPolicy(eyedb::Bool policy) {
09255    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "setDynamicSetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
09256 }
09257 
09258 eyedb::Status sysclsDatabase::checkSchema(eyedb::Schema *m)
09259 {
09260   eyedb::Class *cl;
09261   char *s = 0;
09262 
09263   if (!(cl = m->getClass("index_type")))
09264     append(s, "'index_type' ", not_exit_msg);
09265   else if (!IndexType_Class->compare(cl))
09266     append(s, "'IndexType' ", differ_msg);
09267   if (!(cl = m->getClass("executable_lang")))
09268     append(s, "'executable_lang' ", not_exit_msg);
09269   else if (!ExecutableLang_Class->compare(cl))
09270     append(s, "'ExecutableLang' ", differ_msg);
09271   if (!(cl = m->getClass("argtype_type")))
09272     append(s, "'argtype_type' ", not_exit_msg);
09273   else if (!ArgType_Type_Class->compare(cl))
09274     append(s, "'ArgType_Type' ", differ_msg);
09275   if (!(cl = m->getClass("executable_localisation")))
09276     append(s, "'executable_localisation' ", not_exit_msg);
09277   else if (!ExecutableLocalisation_Class->compare(cl))
09278     append(s, "'ExecutableLocalisation' ", differ_msg);
09279   if (!(cl = m->getClass("executable_type")))
09280     append(s, "'executable_type' ", not_exit_msg);
09281   else if (!ExecutableType_Class->compare(cl))
09282     append(s, "'ExecutableType' ", differ_msg);
09283   if (!(cl = m->getClass("trigger_type")))
09284     append(s, "'trigger_type' ", not_exit_msg);
09285   else if (!TriggerType_Class->compare(cl))
09286     append(s, "'TriggerType' ", differ_msg);
09287   if (!(cl = m->getClass("protection_mode")))
09288     append(s, "'protection_mode' ", not_exit_msg);
09289   else if (!ProtectionMode_Class->compare(cl))
09290     append(s, "'ProtectionMode' ", differ_msg);
09291   if (!(cl = m->getClass("class_update_type")))
09292     append(s, "'class_update_type' ", not_exit_msg);
09293   else if (!ClassUpdateType_Class->compare(cl))
09294     append(s, "'ClassUpdateType' ", differ_msg);
09295   if (!(cl = m->getClass("attribute_convert_type")))
09296     append(s, "'attribute_convert_type' ", not_exit_msg);
09297   else if (!AttributeConvertType_Class->compare(cl))
09298     append(s, "'AttributeConvertType' ", differ_msg);
09299   if (!(cl = m->getClass("attribute_component")))
09300     append(s, "'attribute_component' ", not_exit_msg);
09301   else if (!AttributeComponent_Class->compare(cl))
09302     append(s, "'AttributeComponent' ", differ_msg);
09303   if (!(cl = m->getClass("attribute_component_set")))
09304     append(s, "'attribute_component_set' ", not_exit_msg);
09305   else if (!AttributeComponentSet_Class->compare(cl))
09306     append(s, "'AttributeComponentSet' ", differ_msg);
09307   if (!(cl = m->getClass("class_component")))
09308     append(s, "'class_component' ", not_exit_msg);
09309   else if (!ClassComponent_Class->compare(cl))
09310     append(s, "'ClassComponent' ", differ_msg);
09311   if (!(cl = m->getClass("agregat_class_component")))
09312     append(s, "'agregat_class_component' ", not_exit_msg);
09313   else if (!AgregatClassComponent_Class->compare(cl))
09314     append(s, "'AgregatClassComponent' ", differ_msg);
09315   if (!(cl = m->getClass("class_variable")))
09316     append(s, "'class_variable' ", not_exit_msg);
09317   else if (!ClassVariable_Class->compare(cl))
09318     append(s, "'ClassVariable' ", differ_msg);
09319   if (!(cl = m->getClass("index")))
09320     append(s, "'index' ", not_exit_msg);
09321   else if (!Index_Class->compare(cl))
09322     append(s, "'Index' ", differ_msg);
09323   if (!(cl = m->getClass("hashindex")))
09324     append(s, "'hashindex' ", not_exit_msg);
09325   else if (!HashIndex_Class->compare(cl))
09326     append(s, "'HashIndex' ", differ_msg);
09327   if (!(cl = m->getClass("btreeindex")))
09328     append(s, "'btreeindex' ", not_exit_msg);
09329   else if (!BTreeIndex_Class->compare(cl))
09330     append(s, "'BTreeIndex' ", differ_msg);
09331   if (!(cl = m->getClass("collection_attribute_implementation")))
09332     append(s, "'collection_attribute_implementation' ", not_exit_msg);
09333   else if (!CollAttrImpl_Class->compare(cl))
09334     append(s, "'CollAttrImpl' ", differ_msg);
09335   if (!(cl = m->getClass("argtype")))
09336     append(s, "'argtype' ", not_exit_msg);
09337   else if (!ArgType_Class->compare(cl))
09338     append(s, "'ArgType' ", differ_msg);
09339   if (!(cl = m->getClass("signature")))
09340     append(s, "'signature' ", not_exit_msg);
09341   else if (!Signature_Class->compare(cl))
09342     append(s, "'Signature' ", differ_msg);
09343   if (!(cl = m->getClass("executable")))
09344     append(s, "'executable' ", not_exit_msg);
09345   else if (!Executable_Class->compare(cl))
09346     append(s, "'Executable' ", differ_msg);
09347   if (!(cl = m->getClass("agregat_class_executable")))
09348     append(s, "'agregat_class_executable' ", not_exit_msg);
09349   else if (!AgregatClassExecutable_Class->compare(cl))
09350     append(s, "'AgregatClassExecutable' ", differ_msg);
09351   if (!(cl = m->getClass("method")))
09352     append(s, "'method' ", not_exit_msg);
09353   else if (!Method_Class->compare(cl))
09354     append(s, "'Method' ", differ_msg);
09355   if (!(cl = m->getClass("fe_method")))
09356     append(s, "'fe_method' ", not_exit_msg);
09357   else if (!FEMethod_Class->compare(cl))
09358     append(s, "'FEMethod' ", differ_msg);
09359   if (!(cl = m->getClass("fe_method_C")))
09360     append(s, "'fe_method_C' ", not_exit_msg);
09361   else if (!FEMethod_C_Class->compare(cl))
09362     append(s, "'FEMethod_C' ", differ_msg);
09363   if (!(cl = m->getClass("be_method")))
09364     append(s, "'be_method' ", not_exit_msg);
09365   else if (!BEMethod_Class->compare(cl))
09366     append(s, "'BEMethod' ", differ_msg);
09367   if (!(cl = m->getClass("be_method_C")))
09368     append(s, "'be_method_C' ", not_exit_msg);
09369   else if (!BEMethod_C_Class->compare(cl))
09370     append(s, "'BEMethod_C' ", differ_msg);
09371   if (!(cl = m->getClass("be_method_OQL")))
09372     append(s, "'be_method_OQL' ", not_exit_msg);
09373   else if (!BEMethod_OQL_Class->compare(cl))
09374     append(s, "'BEMethod_OQL' ", differ_msg);
09375   if (!(cl = m->getClass("trigger")))
09376     append(s, "'trigger' ", not_exit_msg);
09377   else if (!Trigger_Class->compare(cl))
09378     append(s, "'Trigger' ", differ_msg);
09379   if (!(cl = m->getClass("unique_constraint")))
09380     append(s, "'unique_constraint' ", not_exit_msg);
09381   else if (!UniqueConstraint_Class->compare(cl))
09382     append(s, "'UniqueConstraint' ", differ_msg);
09383   if (!(cl = m->getClass("notnull_constraint")))
09384     append(s, "'notnull_constraint' ", not_exit_msg);
09385   else if (!NotNullConstraint_Class->compare(cl))
09386     append(s, "'NotNullConstraint' ", differ_msg);
09387   if (!(cl = m->getClass("cardinality_description")))
09388     append(s, "'cardinality_description' ", not_exit_msg);
09389   else if (!CardinalityDescription_Class->compare(cl))
09390     append(s, "'CardinalityDescription' ", differ_msg);
09391   if (!(cl = m->getClass("cardinality_constraint")))
09392     append(s, "'cardinality_constraint' ", not_exit_msg);
09393   else if (!CardinalityConstraint_Class->compare(cl))
09394     append(s, "'CardinalityConstraint' ", differ_msg);
09395   if (!(cl = m->getClass("cardinality_constraint_test")))
09396     append(s, "'cardinality_constraint_test' ", not_exit_msg);
09397   else if (!CardinalityConstraint_Test_Class->compare(cl))
09398     append(s, "'CardinalityConstraint_Test' ", differ_msg);
09399   if (!(cl = m->getClass("protection_user")))
09400     append(s, "'protection_user' ", not_exit_msg);
09401   else if (!ProtectionUser_Class->compare(cl))
09402     append(s, "'ProtectionUser' ", differ_msg);
09403   if (!(cl = m->getClass("protection")))
09404     append(s, "'protection' ", not_exit_msg);
09405   else if (!Protection_Class->compare(cl))
09406     append(s, "'Protection' ", differ_msg);
09407   if (!(cl = m->getClass("unreadable_object")))
09408     append(s, "'unreadable_object' ", not_exit_msg);
09409   else if (!UnreadableObject_Class->compare(cl))
09410     append(s, "'UnreadableObject' ", differ_msg);
09411   if (!(cl = m->getClass("class_conversion")))
09412     append(s, "'class_conversion' ", not_exit_msg);
09413   else if (!ClassConversion_Class->compare(cl))
09414     append(s, "'ClassConversion' ", differ_msg);
09415   if (s) {eyedb::Status status = eyedb::Exception::make(s); free(s); return status;}
09416   return eyedb::Success;
09417 }
09418 
09419 eyedb::Bool syscls_set_oid_check(eyedb::Bool _oid_check)
09420 {
09421   eyedb::Bool old = oid_check;
09422   oid_check = _oid_check;
09423   return old;
09424 }
09425 
09426 eyedb::Bool syscls_get_oid_check()
09427 {
09428   return oid_check;
09429 }
09430 
09431 }

Generated on Mon Dec 22 18:16:10 2008 for eyedb by  doxygen 1.5.3