utils.cc

00001 
00002 /*
00003  * EyeDB Version 2.8.4 Copyright (c) 1995-2006 SYSRA
00004  *
00005  * File 'utils.cc'
00006  *
00007  * Package Name 'utils'
00008  *
00009  * Generated by eyedbodl at Fri Jan 18 22:51:44 2008
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/utils.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[104];
00036 static eyedb::Object *(*constructors[104])(const eyedb::Object *, eyedb::Bool);
00037 static eyedb::GenHashTable *hash;
00038 #define make_object utilsMakeObject
00039 extern void utilsInit(void);
00040 extern void utilsRelease(void);
00041 extern eyedb::Status utilsSchemaUpdate(eyedb::Database *);
00042 extern eyedb::Status utilsSchemaUpdate(eyedb::Schema *);
00043 
00044 static eyedb::Class *index_Class = new eyedb::Class("index");
00045 
00046 void utils::init()
00047 {
00048   utilsInit();
00049 }
00050 
00051 void utils::release()
00052 {
00053   utilsRelease();
00054 }
00055 
00056 eyedb::Status utils::updateSchema(eyedb::Database *db)
00057 {
00058   return utilsSchemaUpdate(db);
00059 }
00060 
00061 eyedb::Status utils::updateSchema(eyedb::Schema *m)
00062 {
00063   return utilsSchemaUpdate(m);
00064 }
00065 
00066 eyedb::EnumClass *ImageType_Class;
00067 eyedb::EnumClass *Month_Class;
00068 eyedb::EnumClass *Weekday_Class;
00069 eyedb::StructClass *Image_Class;
00070 eyedb::StructClass *CURL_Class;
00071 eyedb::StructClass *WConfig_Class;
00072 eyedb::StructClass *Date_Class;
00073 eyedb::StructClass *Time_Class;
00074 eyedb::StructClass *TimeStamp_Class;
00075 eyedb::StructClass *TimeInterval_Class;
00076 eyedb::StructClass *OString_Class;
00077 
00078 static eyedb::Size ImageType_idr_objsz, ImageType_idr_psize;
00079 
00080 static eyedb::EnumClass *ImageType_make(eyedb::EnumClass *ImageType_class = 0, eyedb::Schema *m = 0)
00081 {
00082   if (!ImageType_class)
00083     return new eyedb::EnumClass("image_type");
00084   eyedb::EnumItem *en[7];
00085   en[0] = new eyedb::EnumItem("GIF_IMG_TYPE", "GIF_IMG_TYPE", (unsigned int)1);
00086   en[1] = new eyedb::EnumItem("JPEG_IMG_TYPE", "JPEG_IMG_TYPE", (unsigned int)2);
00087   en[2] = new eyedb::EnumItem("PM_IMG_TYPE", "PM_IMG_TYPE", (unsigned int)3);
00088   en[3] = new eyedb::EnumItem("PBM_IMG_TYPE", "PBM_IMG_TYPE", (unsigned int)4);
00089   en[4] = new eyedb::EnumItem("X11BITMAP_IMG_TYPE", "X11BITMAP_IMG_TYPE", (unsigned int)5);
00090   en[5] = new eyedb::EnumItem("BMP_IMG_TYPE", "BMP_IMG_TYPE", (unsigned int)6);
00091   en[6] = new eyedb::EnumItem("TIFF_IMG_TYPE", "TIFF_IMG_TYPE", (unsigned int)7);
00092 
00093   ImageType_class->setEnumItems(en, 7);
00094 
00095   delete en[0];
00096   delete en[1];
00097   delete en[2];
00098   delete en[3];
00099   delete en[4];
00100   delete en[5];
00101   delete en[6];
00102 
00103   eyedb::ClassPeer::setMType(ImageType_class, eyedb::Class::System);
00104 
00105   return ImageType_class;
00106 }
00107 
00108 static void ImageType_init_p()
00109 {
00110   ImageType_Class = ImageType_make();
00111 }
00112 
00113 static void ImageType_init()
00114 {
00115   ImageType_make(ImageType_Class);
00116 
00117   ImageType_idr_objsz = ImageType_Class->getIDRObjectSize(&ImageType_idr_psize, 0);
00118 
00119   eyedb::ObjectPeer::setUnrealizable(ImageType_Class, eyedb::True);
00120 }
00121 
00122 static eyedb::Size Month_idr_objsz, Month_idr_psize;
00123 
00124 static eyedb::EnumClass *Month_make(eyedb::EnumClass *Month_class = 0, eyedb::Schema *m = 0)
00125 {
00126   if (!Month_class)
00127     return new eyedb::EnumClass("month");
00128   eyedb::EnumItem *en[12];
00129   en[0] = new eyedb::EnumItem("JANUARY", "January", (unsigned int)1);
00130   en[1] = new eyedb::EnumItem("FEBRUARY", "February", (unsigned int)2);
00131   en[2] = new eyedb::EnumItem("MARCH", "March", (unsigned int)3);
00132   en[3] = new eyedb::EnumItem("APRIL", "April", (unsigned int)4);
00133   en[4] = new eyedb::EnumItem("MAY", "May", (unsigned int)5);
00134   en[5] = new eyedb::EnumItem("JUNE", "June", (unsigned int)6);
00135   en[6] = new eyedb::EnumItem("JULY", "July", (unsigned int)7);
00136   en[7] = new eyedb::EnumItem("AUGUST", "August", (unsigned int)8);
00137   en[8] = new eyedb::EnumItem("SEPTEMBER", "September", (unsigned int)9);
00138   en[9] = new eyedb::EnumItem("OCTOBER", "October", (unsigned int)10);
00139   en[10] = new eyedb::EnumItem("NOVEMBER", "November", (unsigned int)11);
00140   en[11] = new eyedb::EnumItem("DECEMBER", "December", (unsigned int)12);
00141 
00142   Month_class->setEnumItems(en, 12);
00143 
00144   delete en[0];
00145   delete en[1];
00146   delete en[2];
00147   delete en[3];
00148   delete en[4];
00149   delete en[5];
00150   delete en[6];
00151   delete en[7];
00152   delete en[8];
00153   delete en[9];
00154   delete en[10];
00155   delete en[11];
00156 
00157   eyedb::ClassPeer::setMType(Month_class, eyedb::Class::System);
00158 
00159   return Month_class;
00160 }
00161 
00162 static void Month_init_p()
00163 {
00164   Month_Class = Month_make();
00165 }
00166 
00167 static void Month_init()
00168 {
00169   Month_make(Month_Class);
00170 
00171   Month_idr_objsz = Month_Class->getIDRObjectSize(&Month_idr_psize, 0);
00172 
00173   eyedb::ObjectPeer::setUnrealizable(Month_Class, eyedb::True);
00174 }
00175 
00176 static eyedb::Size Weekday_idr_objsz, Weekday_idr_psize;
00177 
00178 static eyedb::EnumClass *Weekday_make(eyedb::EnumClass *Weekday_class = 0, eyedb::Schema *m = 0)
00179 {
00180   if (!Weekday_class)
00181     return new eyedb::EnumClass("weekday");
00182   eyedb::EnumItem *en[7];
00183   en[0] = new eyedb::EnumItem("SUNDAY", "Sunday", (unsigned int)0);
00184   en[1] = new eyedb::EnumItem("MONDAY", "Monday", (unsigned int)1);
00185   en[2] = new eyedb::EnumItem("TUESDAY", "Tuesday", (unsigned int)2);
00186   en[3] = new eyedb::EnumItem("WEDNESDAY", "Wednesday", (unsigned int)3);
00187   en[4] = new eyedb::EnumItem("THURSDAY", "Thursday", (unsigned int)4);
00188   en[5] = new eyedb::EnumItem("FRIDAY", "Friday", (unsigned int)5);
00189   en[6] = new eyedb::EnumItem("SATURDAY", "Saturday", (unsigned int)6);
00190 
00191   Weekday_class->setEnumItems(en, 7);
00192 
00193   delete en[0];
00194   delete en[1];
00195   delete en[2];
00196   delete en[3];
00197   delete en[4];
00198   delete en[5];
00199   delete en[6];
00200 
00201   eyedb::ClassPeer::setMType(Weekday_class, eyedb::Class::System);
00202 
00203   return Weekday_class;
00204 }
00205 
00206 static void Weekday_init_p()
00207 {
00208   Weekday_Class = Weekday_make();
00209 }
00210 
00211 static void Weekday_init()
00212 {
00213   Weekday_make(Weekday_Class);
00214 
00215   Weekday_idr_objsz = Weekday_Class->getIDRObjectSize(&Weekday_idr_psize, 0);
00216 
00217   eyedb::ObjectPeer::setUnrealizable(Weekday_Class, eyedb::True);
00218 }
00219 
00220 static const eyedb::Attribute **Image_agritems;
00221 static eyedb::Size Image_idr_objsz, Image_idr_psize;
00222 
00223 static eyedb::StructClass *Image_make(eyedb::StructClass *Image_class = 0, eyedb::Schema *m = 0)
00224 {
00225   if (!Image_class)
00226     return new eyedb::StructClass("image", (m ? m->getClass("struct") : eyedb::Struct_Class));
00227   eyedb::Attribute *attr[7];
00228   int *dims;
00229 
00230   dims = new int[1];
00231   dims[0] = -1;
00232   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "name", eyedb::False, 1, dims);
00233   delete[] dims;
00234 
00235   dims = 0;
00236   attr[3] = new eyedb::Attribute((m ? m->getClass("image_type") : ImageType_Class), "type", eyedb::False, 0, dims);
00237 
00238   dims = new int[1];
00239   dims[0] = -1;
00240   attr[4] = new eyedb::Attribute((m ? m->getClass("byte") : eyedb::Byte_Class), "data", eyedb::False, 1, dims);
00241   delete[] dims;
00242 
00243   dims = 0;
00244   attr[5] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "w", eyedb::False, 0, dims);
00245 
00246   dims = 0;
00247   attr[6] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "h", eyedb::False, 0, dims);
00248 
00249   Image_class->setAttributes(&attr[2], 5);
00250 
00251   delete attr[2];
00252   delete attr[3];
00253   delete attr[4];
00254   delete attr[5];
00255   delete attr[6];
00256 
00257   eyedb::ClassPeer::setMType(Image_class, eyedb::Class::System);
00258 
00259   return Image_class;
00260 }
00261 
00262 eyedb::Object *Image_construct_x(const eyedb::Class *cls, eyedb::Data idr)
00263 {
00264   return new Image(cls, idr);
00265 }
00266 
00267 eyedb::Object *Image_construct(const eyedb::Object *o, eyedb::Bool share)
00268 {
00269   return new Image((const eyedb::Struct *)o, share);
00270 }
00271 
00272 static void Image_init_p()
00273 {
00274   Image_Class = Image_make();
00275   constructors_x[class_ind] = Image_construct_x;
00276   constructors[class_ind] = Image_construct;
00277   hash->insert("image", class_ind++);
00278 }
00279 
00280 static void Image_init()
00281 {
00282   Image_make(Image_Class);
00283 
00284   Image_agritems = Image_Class->getAttributes();
00285   Image_idr_objsz = Image_Class->getIDRObjectSize(&Image_idr_psize, 0);
00286 
00287   eyedb::ObjectPeer::setUnrealizable(Image_Class, eyedb::True);
00288 }
00289 
00290 static eyedb::Status Image_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
00291 {
00292   return eyedb::Success;
00293 }
00294 
00295 Image::Image(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
00296 {
00297   initialize(_db);
00298 }
00299 
00300 Image::Image(const eyedb::Class *_cls, eyedb::Data _idr)
00301 {
00302   setClass((eyedb::Class *)_cls);
00303 
00304   eyedb::Size idr_psize;
00305   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
00306   if (_idr)
00307     idr->setIDR(idr_tsize, _idr);
00308   else
00309     {
00310       idr->setIDR(idr_tsize);
00311       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00312     }
00313   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00314   eyedb::ClassPeer::newObjRealize(getClass(), this);
00315   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00316   userInitialize();
00317 }
00318 
00319 void Image::initialize(eyedb::Database *_db)
00320 {
00321   setClass((_db ? _db->getSchema()->getClass("image") : Image_Class));
00322 
00323   eyedb::Size idr_psize;
00324   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
00325   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00326   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00327   eyedb::ClassPeer::newObjRealize(getClass(), this);
00328   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00329   userInitialize();
00330 }
00331 
00332 Image::Image(const Image& x) : eyedb::Struct(x)
00333 {
00334   userCopy(x);
00335 }
00336 
00337 Image& Image::operator=(const Image& x)
00338 {
00339   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
00340   userCopy(x);
00341   return *this;
00342 }
00343 
00344 Image::Image(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
00345 {
00346   setClass((db ? db->getSchema()->getClass("image") : Image_Class));
00347 
00348   eyedb::Size idr_psize;
00349   getClass()->getIDRObjectSize(&idr_psize);
00350   if (!share)
00351     {
00352       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00353       eyedb::ClassPeer::newObjRealize(getClass(), this);
00354     }
00355 
00356   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00357   userCopy(*x);
00358 }
00359 
00360 Image::Image(const Image *x, eyedb::Bool share) : eyedb::Struct(x, share)
00361 {
00362   setClass((db ? db->getSchema()->getClass("image") : Image_Class));
00363 
00364   eyedb::Size idr_psize;
00365   getClass()->getIDRObjectSize(&idr_psize);
00366   if (!share)
00367     {
00368       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00369       eyedb::ClassPeer::newObjRealize(getClass(), this);
00370     }
00371 
00372   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00373   userCopy(*x);
00374 }
00375 
00376 eyedb::Status Image::setName(const std::string &_name)
00377 {
00378   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00379   eyedb::Status status;
00380   eyedb::Size size;
00381   eyedb::Size len = _name.size() + 1;
00382 
00383   status = getClass()->getAttributes()[2]->getSize(this, size);
00384   if (status)
00385     return status;
00386 
00387   if (size != len)
00388     status = getClass()->getAttributes()[2]->setSize(this, len);
00389   if (status)
00390     return status;
00391 
00392   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_name.c_str(), len, 0);
00393   return status;
00394 
00395 }
00396 
00397 eyedb::Status Image::setName(unsigned int a0, char _name)
00398 {
00399   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00400   eyedb::Status status;
00401   eyedb::Size from = a0;
00402 
00403   eyedb::Size size;
00404   status = getClass()->getAttributes()[2]->getSize(this, size);
00405   if (status)
00406     return status;
00407 
00408   if (size <= from)
00409     status = getClass()->getAttributes()[2]->setSize(this, from+1);
00410   if (status)
00411     return status;
00412 
00413   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_name, 1, from);
00414   return status;
00415 }
00416 
00417 std::string Image::getName(eyedb::Bool *isnull, eyedb::Status *rs) const
00418 {
00419   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00420   eyedb::Data data;
00421   eyedb::Status s;
00422 
00423   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00424   if (s) {if (rs) *rs = s; return 0;}
00425   if (!data) data = nulldata;
00426   return (const char *)data;
00427 }
00428 
00429 char Image::getName(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00430 {
00431   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00432   char __tmp = 0;
00433   eyedb::Status s;
00434   eyedb::Size from = a0;
00435 
00436   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00437   if (s) {if (rs) *rs = s; return 0;}
00438   return __tmp;
00439 }
00440 
00441 eyedb::Status Image::setType(ImageType::Type _type, eyedb::Bool _check_value)
00442 {
00443   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00444   eyedb::Status status;
00445   eyedblib::int32 __tmp = _type;
00446 
00447   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&__tmp, 1, 0, _check_value);
00448   return status;
00449 }
00450 
00451 ImageType::Type Image::getType(eyedb::Bool *isnull, eyedb::Status *rs) const
00452 {
00453   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00454   eyedblib::int32  __tmp = 0;
00455   eyedb::Status s;
00456 
00457   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
00458   if (s) {if (rs) *rs = s; return (ImageType::Type)0;}
00459   return (ImageType::Type)__tmp;
00460 }
00461 
00462 eyedb::Status Image::setData(const unsigned char *_data, unsigned int len)
00463 {
00464   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00465   eyedb::Status status;
00466   eyedb::Size size;
00467   status = getClass()->getAttributes()[4]->getSize(this, size);
00468   if (status)
00469     return status;
00470 
00471   if (size != len)
00472     status = getClass()->getAttributes()[4]->setSize(this, len);
00473   if (status)
00474     return status;
00475 
00476   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)_data, len, 0);
00477   return status;
00478 
00479 }
00480 
00481 eyedb::Status Image::setData(unsigned int a0, unsigned char _data)
00482 {
00483   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00484   eyedb::Status status;
00485   eyedb::Size from = a0;
00486 
00487   eyedb::Size size;
00488   status = getClass()->getAttributes()[4]->getSize(this, size);
00489   if (status)
00490     return status;
00491 
00492   if (size <= from)
00493     status = getClass()->getAttributes()[4]->setSize(this, from+1);
00494   if (status)
00495     return status;
00496 
00497   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_data, 1, from);
00498   return status;
00499 }
00500 
00501 eyedb::Status Image::setDataCount(unsigned int a0)
00502 {
00503   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00504   eyedb::Status status;
00505   eyedb::Size from = a0;
00506   status = getClass()->getAttributes()[4]->setSize(this, from);
00507   return status;
00508 }
00509 
00510 const unsigned char *Image::getData(unsigned int *len, eyedb::Bool *isnull, eyedb::Status *rs) const
00511 {
00512   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00513   eyedb::Data data;
00514   eyedb::Status s;
00515 
00516   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00517   if (s) {if (rs) *rs = s; return 0;}
00518   if (!data) data = nulldata;
00519   if (len) *len = getDataCount();
00520   return (const unsigned char *)data;
00521 }
00522 
00523 unsigned char Image::getData(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00524 {
00525   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00526   unsigned char __tmp = 0;
00527   eyedb::Status s;
00528   eyedb::Size from = a0;
00529 
00530   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00531   if (s) {if (rs) *rs = s; return 0;}
00532   return __tmp;
00533 }
00534 
00535 unsigned int Image::getDataCount(eyedb::Status *rs) const
00536 {
00537   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00538   eyedb::Size size;
00539   eyedb::Status s;
00540   s = getClass()->getAttributes()[4]->getSize(this, size);
00541   if (s) {if (rs) *rs = s; return 0;}
00542   return (int)size;
00543 }
00544 
00545 eyedb::Status Image::setW(eyedblib::int32 _w)
00546 {
00547   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00548   eyedb::Status status;
00549 
00550   status = getClass()->getAttributes()[5]->setValue(this, (eyedb::Data)&_w, 1, 0);
00551   return status;
00552 }
00553 
00554 eyedblib::int32 Image::getW(eyedb::Bool *isnull, eyedb::Status *rs) const
00555 {
00556   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00557   eyedblib::int32 __tmp = 0;
00558   eyedb::Status s;
00559 
00560   s = getClass()->getAttributes()[5]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
00561   if (s) {if (rs) *rs = s; return 0;}
00562   return __tmp;
00563 }
00564 
00565 eyedb::Status Image::setH(eyedblib::int32 _h)
00566 {
00567   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00568   eyedb::Status status;
00569 
00570   status = getClass()->getAttributes()[6]->setValue(this, (eyedb::Data)&_h, 1, 0);
00571   return status;
00572 }
00573 
00574 eyedblib::int32 Image::getH(eyedb::Bool *isnull, eyedb::Status *rs) const
00575 {
00576   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00577   eyedblib::int32 __tmp = 0;
00578   eyedb::Status s;
00579 
00580   s = getClass()->getAttributes()[6]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
00581   if (s) {if (rs) *rs = s; return 0;}
00582   return __tmp;
00583 }
00584 
00585 static const eyedb::Attribute **CURL_agritems;
00586 static eyedb::Size CURL_idr_objsz, CURL_idr_psize;
00587 
00588 static eyedb::StructClass *CURL_make(eyedb::StructClass *CURL_class = 0, eyedb::Schema *m = 0)
00589 {
00590   if (!CURL_class)
00591     return new eyedb::StructClass("URL", (m ? m->getClass("struct") : eyedb::Struct_Class));
00592   eyedb::Attribute *attr[4];
00593   int *dims;
00594 
00595   dims = new int[1];
00596   dims[0] = -1;
00597   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "proto", eyedb::False, 1, dims);
00598   delete[] dims;
00599 
00600   dims = new int[1];
00601   dims[0] = -1;
00602   attr[3] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "url", eyedb::False, 1, dims);
00603   delete[] dims;
00604 
00605   CURL_class->setAttributes(&attr[2], 2);
00606 
00607   delete attr[2];
00608   delete attr[3];
00609 
00610   eyedb::ClassPeer::setMType(CURL_class, eyedb::Class::System);
00611 
00612   return CURL_class;
00613 }
00614 
00615 eyedb::Object *CURL_construct_x(const eyedb::Class *cls, eyedb::Data idr)
00616 {
00617   return new CURL(cls, idr);
00618 }
00619 
00620 eyedb::Object *CURL_construct(const eyedb::Object *o, eyedb::Bool share)
00621 {
00622   return new CURL((const eyedb::Struct *)o, share);
00623 }
00624 
00625 static void CURL_init_p()
00626 {
00627   CURL_Class = CURL_make();
00628   constructors_x[class_ind] = CURL_construct_x;
00629   constructors[class_ind] = CURL_construct;
00630   hash->insert("URL", class_ind++);
00631 }
00632 
00633 static void CURL_init()
00634 {
00635   CURL_make(CURL_Class);
00636 
00637   CURL_agritems = CURL_Class->getAttributes();
00638   CURL_idr_objsz = CURL_Class->getIDRObjectSize(&CURL_idr_psize, 0);
00639 
00640   eyedb::ObjectPeer::setUnrealizable(CURL_Class, eyedb::True);
00641 }
00642 
00643 static eyedb::Status CURL_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
00644 {
00645   return eyedb::Success;
00646 }
00647 
00648 CURL::CURL(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
00649 {
00650   initialize(_db);
00651 }
00652 
00653 CURL::CURL(const eyedb::Class *_cls, eyedb::Data _idr)
00654 {
00655   setClass((eyedb::Class *)_cls);
00656 
00657   eyedb::Size idr_psize;
00658   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
00659   if (_idr)
00660     idr->setIDR(idr_tsize, _idr);
00661   else
00662     {
00663       idr->setIDR(idr_tsize);
00664       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00665     }
00666   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00667   eyedb::ClassPeer::newObjRealize(getClass(), this);
00668   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00669   userInitialize();
00670 }
00671 
00672 void CURL::initialize(eyedb::Database *_db)
00673 {
00674   setClass((_db ? _db->getSchema()->getClass("URL") : CURL_Class));
00675 
00676   eyedb::Size idr_psize;
00677   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
00678   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00679   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00680   eyedb::ClassPeer::newObjRealize(getClass(), this);
00681   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00682   userInitialize();
00683 }
00684 
00685 CURL::CURL(const CURL& x) : eyedb::Struct(x)
00686 {
00687   userCopy(x);
00688 }
00689 
00690 CURL& CURL::operator=(const CURL& x)
00691 {
00692   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
00693   userCopy(x);
00694   return *this;
00695 }
00696 
00697 CURL::CURL(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
00698 {
00699   setClass((db ? db->getSchema()->getClass("URL") : CURL_Class));
00700 
00701   eyedb::Size idr_psize;
00702   getClass()->getIDRObjectSize(&idr_psize);
00703   if (!share)
00704     {
00705       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00706       eyedb::ClassPeer::newObjRealize(getClass(), this);
00707     }
00708 
00709   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00710   userCopy(*x);
00711 }
00712 
00713 CURL::CURL(const CURL *x, eyedb::Bool share) : eyedb::Struct(x, share)
00714 {
00715   setClass((db ? db->getSchema()->getClass("URL") : CURL_Class));
00716 
00717   eyedb::Size idr_psize;
00718   getClass()->getIDRObjectSize(&idr_psize);
00719   if (!share)
00720     {
00721       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00722       eyedb::ClassPeer::newObjRealize(getClass(), this);
00723     }
00724 
00725   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00726   userCopy(*x);
00727 }
00728 
00729 eyedb::Status CURL::setProto(const std::string &_proto)
00730 {
00731   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00732   eyedb::Status status;
00733   eyedb::Size size;
00734   eyedb::Size len = _proto.size() + 1;
00735 
00736   status = getClass()->getAttributes()[2]->getSize(this, size);
00737   if (status)
00738     return status;
00739 
00740   if (size != len)
00741     status = getClass()->getAttributes()[2]->setSize(this, len);
00742   if (status)
00743     return status;
00744 
00745   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_proto.c_str(), len, 0);
00746   return status;
00747 
00748 }
00749 
00750 eyedb::Status CURL::setProto(unsigned int a0, char _proto)
00751 {
00752   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00753   eyedb::Status status;
00754   eyedb::Size from = a0;
00755 
00756   eyedb::Size size;
00757   status = getClass()->getAttributes()[2]->getSize(this, size);
00758   if (status)
00759     return status;
00760 
00761   if (size <= from)
00762     status = getClass()->getAttributes()[2]->setSize(this, from+1);
00763   if (status)
00764     return status;
00765 
00766   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_proto, 1, from);
00767   return status;
00768 }
00769 
00770 std::string CURL::getProto(eyedb::Bool *isnull, eyedb::Status *rs) const
00771 {
00772   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00773   eyedb::Data data;
00774   eyedb::Status s;
00775 
00776   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00777   if (s) {if (rs) *rs = s; return 0;}
00778   if (!data) data = nulldata;
00779   return (const char *)data;
00780 }
00781 
00782 char CURL::getProto(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00783 {
00784   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00785   char __tmp = 0;
00786   eyedb::Status s;
00787   eyedb::Size from = a0;
00788 
00789   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00790   if (s) {if (rs) *rs = s; return 0;}
00791   return __tmp;
00792 }
00793 
00794 eyedb::Status CURL::setUrl(const std::string &_url)
00795 {
00796   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00797   eyedb::Status status;
00798   eyedb::Size size;
00799   eyedb::Size len = _url.size() + 1;
00800 
00801   status = getClass()->getAttributes()[3]->getSize(this, size);
00802   if (status)
00803     return status;
00804 
00805   if (size != len)
00806     status = getClass()->getAttributes()[3]->setSize(this, len);
00807   if (status)
00808     return status;
00809 
00810   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)_url.c_str(), len, 0);
00811   return status;
00812 
00813 }
00814 
00815 eyedb::Status CURL::setUrl(unsigned int a0, char _url)
00816 {
00817   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00818   eyedb::Status status;
00819   eyedb::Size from = a0;
00820 
00821   eyedb::Size size;
00822   status = getClass()->getAttributes()[3]->getSize(this, size);
00823   if (status)
00824     return status;
00825 
00826   if (size <= from)
00827     status = getClass()->getAttributes()[3]->setSize(this, from+1);
00828   if (status)
00829     return status;
00830 
00831   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_url, 1, from);
00832   return status;
00833 }
00834 
00835 std::string CURL::getUrl(eyedb::Bool *isnull, eyedb::Status *rs) const
00836 {
00837   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00838   eyedb::Data data;
00839   eyedb::Status s;
00840 
00841   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
00842   if (s) {if (rs) *rs = s; return 0;}
00843   if (!data) data = nulldata;
00844   return (const char *)data;
00845 }
00846 
00847 char CURL::getUrl(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
00848 {
00849   eyedb::gbxAutoGarbSuspender _gbxsusp_;
00850   char __tmp = 0;
00851   eyedb::Status s;
00852   eyedb::Size from = a0;
00853 
00854   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
00855   if (s) {if (rs) *rs = s; return 0;}
00856   return __tmp;
00857 }
00858 
00859 static const eyedb::Attribute **WConfig_agritems;
00860 static eyedb::Size WConfig_idr_objsz, WConfig_idr_psize;
00861 
00862 static eyedb::StructClass *WConfig_make(eyedb::StructClass *WConfig_class = 0, eyedb::Schema *m = 0)
00863 {
00864   if (!WConfig_class)
00865     return new eyedb::StructClass("w_config", (m ? m->getClass("struct") : eyedb::Struct_Class));
00866   eyedb::Attribute *attr[5];
00867   int *dims;
00868 
00869   dims = new int[1];
00870   dims[0] = -1;
00871   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "name", eyedb::False, 1, dims);
00872   delete[] dims;
00873 
00874   dims = new int[1];
00875   dims[0] = -1;
00876   attr[3] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "user", eyedb::False, 1, dims);
00877   delete[] dims;
00878 
00879   dims = new int[1];
00880   dims[0] = -1;
00881   attr[4] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "conf", eyedb::False, 1, dims);
00882   delete[] dims;
00883 
00884   WConfig_class->setAttributes(&attr[2], 3);
00885 
00886   delete attr[2];
00887   delete attr[3];
00888   delete attr[4];
00889 
00890   eyedb::ClassPeer::setMType(WConfig_class, eyedb::Class::System);
00891 
00892   return WConfig_class;
00893 }
00894 
00895 eyedb::Object *WConfig_construct_x(const eyedb::Class *cls, eyedb::Data idr)
00896 {
00897   return new WConfig(cls, idr);
00898 }
00899 
00900 eyedb::Object *WConfig_construct(const eyedb::Object *o, eyedb::Bool share)
00901 {
00902   return new WConfig((const eyedb::Struct *)o, share);
00903 }
00904 
00905 static void WConfig_init_p()
00906 {
00907   WConfig_Class = WConfig_make();
00908   constructors_x[class_ind] = WConfig_construct_x;
00909   constructors[class_ind] = WConfig_construct;
00910   hash->insert("w_config", class_ind++);
00911 }
00912 
00913 static void WConfig_init()
00914 {
00915   WConfig_make(WConfig_Class);
00916 
00917   WConfig_agritems = WConfig_Class->getAttributes();
00918   WConfig_idr_objsz = WConfig_Class->getIDRObjectSize(&WConfig_idr_psize, 0);
00919 
00920   eyedb::ObjectPeer::setUnrealizable(WConfig_Class, eyedb::True);
00921 }
00922 
00923 static eyedb::Status WConfig_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
00924 {
00925   return eyedb::Success;
00926 }
00927 
00928 WConfig::WConfig(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
00929 {
00930   initialize(_db);
00931 }
00932 
00933 WConfig::WConfig(const eyedb::Class *_cls, eyedb::Data _idr)
00934 {
00935   setClass((eyedb::Class *)_cls);
00936 
00937   eyedb::Size idr_psize;
00938   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
00939   if (_idr)
00940     idr->setIDR(idr_tsize, _idr);
00941   else
00942     {
00943       idr->setIDR(idr_tsize);
00944       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00945     }
00946   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00947   eyedb::ClassPeer::newObjRealize(getClass(), this);
00948   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00949   userInitialize();
00950 }
00951 
00952 void WConfig::initialize(eyedb::Database *_db)
00953 {
00954   setClass((_db ? _db->getSchema()->getClass("w_config") : WConfig_Class));
00955 
00956   eyedb::Size idr_psize;
00957   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
00958   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
00959   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00960   eyedb::ClassPeer::newObjRealize(getClass(), this);
00961   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00962   userInitialize();
00963 }
00964 
00965 WConfig::WConfig(const WConfig& x) : eyedb::Struct(x)
00966 {
00967   userCopy(x);
00968 }
00969 
00970 WConfig& WConfig::operator=(const WConfig& x)
00971 {
00972   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
00973   userCopy(x);
00974   return *this;
00975 }
00976 
00977 WConfig::WConfig(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
00978 {
00979   setClass((db ? db->getSchema()->getClass("w_config") : WConfig_Class));
00980 
00981   eyedb::Size idr_psize;
00982   getClass()->getIDRObjectSize(&idr_psize);
00983   if (!share)
00984     {
00985       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
00986       eyedb::ClassPeer::newObjRealize(getClass(), this);
00987     }
00988 
00989   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
00990   userCopy(*x);
00991 }
00992 
00993 WConfig::WConfig(const WConfig *x, eyedb::Bool share) : eyedb::Struct(x, share)
00994 {
00995   setClass((db ? db->getSchema()->getClass("w_config") : WConfig_Class));
00996 
00997   eyedb::Size idr_psize;
00998   getClass()->getIDRObjectSize(&idr_psize);
00999   if (!share)
01000     {
01001       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01002       eyedb::ClassPeer::newObjRealize(getClass(), this);
01003     }
01004 
01005   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01006   userCopy(*x);
01007 }
01008 
01009 eyedb::Status WConfig::setName(const std::string &_name)
01010 {
01011   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01012   eyedb::Status status;
01013   eyedb::Size size;
01014   eyedb::Size len = _name.size() + 1;
01015 
01016   status = getClass()->getAttributes()[2]->getSize(this, size);
01017   if (status)
01018     return status;
01019 
01020   if (size != len)
01021     status = getClass()->getAttributes()[2]->setSize(this, len);
01022   if (status)
01023     return status;
01024 
01025   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_name.c_str(), len, 0);
01026   return status;
01027 
01028 }
01029 
01030 eyedb::Status WConfig::setName(unsigned int a0, char _name)
01031 {
01032   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01033   eyedb::Status status;
01034   eyedb::Size from = a0;
01035 
01036   eyedb::Size size;
01037   status = getClass()->getAttributes()[2]->getSize(this, size);
01038   if (status)
01039     return status;
01040 
01041   if (size <= from)
01042     status = getClass()->getAttributes()[2]->setSize(this, from+1);
01043   if (status)
01044     return status;
01045 
01046   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_name, 1, from);
01047   return status;
01048 }
01049 
01050 std::string WConfig::getName(eyedb::Bool *isnull, eyedb::Status *rs) const
01051 {
01052   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01053   eyedb::Data data;
01054   eyedb::Status s;
01055 
01056   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
01057   if (s) {if (rs) *rs = s; return 0;}
01058   if (!data) data = nulldata;
01059   return (const char *)data;
01060 }
01061 
01062 char WConfig::getName(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
01063 {
01064   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01065   char __tmp = 0;
01066   eyedb::Status s;
01067   eyedb::Size from = a0;
01068 
01069   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
01070   if (s) {if (rs) *rs = s; return 0;}
01071   return __tmp;
01072 }
01073 
01074 eyedb::Status WConfig::setUser(const std::string &_user)
01075 {
01076   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01077   eyedb::Status status;
01078   eyedb::Size size;
01079   eyedb::Size len = _user.size() + 1;
01080 
01081   status = getClass()->getAttributes()[3]->getSize(this, size);
01082   if (status)
01083     return status;
01084 
01085   if (size != len)
01086     status = getClass()->getAttributes()[3]->setSize(this, len);
01087   if (status)
01088     return status;
01089 
01090   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)_user.c_str(), len, 0);
01091   return status;
01092 
01093 }
01094 
01095 eyedb::Status WConfig::setUser(unsigned int a0, char _user)
01096 {
01097   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01098   eyedb::Status status;
01099   eyedb::Size from = a0;
01100 
01101   eyedb::Size size;
01102   status = getClass()->getAttributes()[3]->getSize(this, size);
01103   if (status)
01104     return status;
01105 
01106   if (size <= from)
01107     status = getClass()->getAttributes()[3]->setSize(this, from+1);
01108   if (status)
01109     return status;
01110 
01111   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_user, 1, from);
01112   return status;
01113 }
01114 
01115 std::string WConfig::getUser(eyedb::Bool *isnull, eyedb::Status *rs) const
01116 {
01117   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01118   eyedb::Data data;
01119   eyedb::Status s;
01120 
01121   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
01122   if (s) {if (rs) *rs = s; return 0;}
01123   if (!data) data = nulldata;
01124   return (const char *)data;
01125 }
01126 
01127 char WConfig::getUser(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
01128 {
01129   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01130   char __tmp = 0;
01131   eyedb::Status s;
01132   eyedb::Size from = a0;
01133 
01134   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
01135   if (s) {if (rs) *rs = s; return 0;}
01136   return __tmp;
01137 }
01138 
01139 eyedb::Status WConfig::setConf(const std::string &_conf)
01140 {
01141   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01142   eyedb::Status status;
01143   eyedb::Size size;
01144   eyedb::Size len = _conf.size() + 1;
01145 
01146   status = getClass()->getAttributes()[4]->getSize(this, size);
01147   if (status)
01148     return status;
01149 
01150   if (size != len)
01151     status = getClass()->getAttributes()[4]->setSize(this, len);
01152   if (status)
01153     return status;
01154 
01155   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)_conf.c_str(), len, 0);
01156   return status;
01157 
01158 }
01159 
01160 eyedb::Status WConfig::setConf(unsigned int a0, char _conf)
01161 {
01162   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01163   eyedb::Status status;
01164   eyedb::Size from = a0;
01165 
01166   eyedb::Size size;
01167   status = getClass()->getAttributes()[4]->getSize(this, size);
01168   if (status)
01169     return status;
01170 
01171   if (size <= from)
01172     status = getClass()->getAttributes()[4]->setSize(this, from+1);
01173   if (status)
01174     return status;
01175 
01176   status = getClass()->getAttributes()[4]->setValue(this, (eyedb::Data)&_conf, 1, from);
01177   return status;
01178 }
01179 
01180 std::string WConfig::getConf(eyedb::Bool *isnull, eyedb::Status *rs) const
01181 {
01182   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01183   eyedb::Data data;
01184   eyedb::Status s;
01185 
01186   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
01187   if (s) {if (rs) *rs = s; return 0;}
01188   if (!data) data = nulldata;
01189   return (const char *)data;
01190 }
01191 
01192 char WConfig::getConf(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
01193 {
01194   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01195   char __tmp = 0;
01196   eyedb::Status s;
01197   eyedb::Size from = a0;
01198 
01199   s = getClass()->getAttributes()[4]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
01200   if (s) {if (rs) *rs = s; return 0;}
01201   return __tmp;
01202 }
01203 
01204 static const eyedb::Attribute **Date_agritems;
01205 static eyedb::Size Date_idr_objsz, Date_idr_psize;
01206 
01207 static eyedb::StructClass *Date_make(eyedb::StructClass *Date_class = 0, eyedb::Schema *m = 0)
01208 {
01209   if (!Date_class)
01210     return new eyedb::StructClass("date", (m ? m->getClass("struct") : eyedb::Struct_Class));
01211   eyedb::Attribute *attr[3];
01212   int *dims;
01213 
01214   dims = 0;
01215   attr[2] = new eyedb::Attribute((m ? m->getClass("int") : eyedb::Int32_Class), "julian", eyedb::False, 0, dims);
01216 
01217   Date_class->setAttributes(&attr[2], 1);
01218 
01219   delete attr[2];
01220 
01221   eyedb::ClassPeer::setMType(Date_class, eyedb::Class::System);
01222 
01223   return Date_class;
01224 }
01225 
01226 eyedb::Object *Date_construct_x(const eyedb::Class *cls, eyedb::Data idr)
01227 {
01228   return new Date(cls, idr);
01229 }
01230 
01231 eyedb::Object *Date_construct(const eyedb::Object *o, eyedb::Bool share)
01232 {
01233   return new Date((const eyedb::Struct *)o, share);
01234 }
01235 
01236 static void Date_init_p()
01237 {
01238   Date_Class = Date_make();
01239   constructors_x[class_ind] = Date_construct_x;
01240   constructors[class_ind] = Date_construct;
01241   hash->insert("date", class_ind++);
01242 }
01243 
01244 static void Date_init()
01245 {
01246   Date_make(Date_Class);
01247 
01248   Date_agritems = Date_Class->getAttributes();
01249   Date_idr_objsz = Date_Class->getIDRObjectSize(&Date_idr_psize, 0);
01250 
01251   eyedb::ObjectPeer::setUnrealizable(Date_Class, eyedb::True);
01252 }
01253 
01254 static eyedb::Status Date_comp_realize(eyedb::Database *db, eyedb::Class *cls)
01255 {
01256   eyedb::ClassComponent *comp;
01257   eyedb::Status status;
01258   eyedb::Signature *sign;
01259   eyedb::ArgType *argtype;
01260 
01261   sign = new eyedb::Signature();
01262   argtype = sign->getRettype();
01263   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01264   argtype->setClname("date");
01265   sign->setNargs(0);
01266   sign->setTypesCount(0);
01267   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::True, eyedb::True, "utilsmthfe");
01268   cls->add(comp->getInd(), comp);
01269 
01270   sign->release();
01271 
01272   sign = new eyedb::Signature();
01273   argtype = sign->getRettype();
01274   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01275   argtype->setClname("date");
01276   sign->setNargs(1);
01277   sign->setTypesCount(1);
01278   argtype = sign->getTypes(0);
01279   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01280   argtype->setClname("date");
01281   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::True, eyedb::True, "utilsmthfe");
01282   cls->add(comp->getInd(), comp);
01283 
01284   sign->release();
01285 
01286   sign = new eyedb::Signature();
01287   argtype = sign->getRettype();
01288   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01289   argtype->setClname("date");
01290   sign->setNargs(1);
01291   sign->setTypesCount(1);
01292   argtype = sign->getTypes(0);
01293   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01294   argtype->setClname("");
01295   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::True, eyedb::True, "utilsmthfe");
01296   cls->add(comp->getInd(), comp);
01297 
01298   sign->release();
01299 
01300   sign = new eyedb::Signature();
01301   argtype = sign->getRettype();
01302   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01303   argtype->setClname("date");
01304   sign->setNargs(3);
01305   sign->setTypesCount(3);
01306   argtype = sign->getTypes(0);
01307   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01308   argtype->setClname("");
01309   argtype = sign->getTypes(1);
01310   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01311   argtype->setClname("month");
01312   argtype = sign->getTypes(2);
01313   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01314   argtype->setClname("");
01315   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::True, eyedb::True, "utilsmthfe");
01316   cls->add(comp->getInd(), comp);
01317 
01318   sign->release();
01319 
01320   sign = new eyedb::Signature();
01321   argtype = sign->getRettype();
01322   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01323   argtype->setClname("date");
01324   sign->setNargs(1);
01325   sign->setTypesCount(1);
01326   argtype = sign->getTypes(0);
01327   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
01328   argtype->setClname("");
01329   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::True, eyedb::True, "utilsmthfe");
01330   cls->add(comp->getInd(), comp);
01331 
01332   sign->release();
01333 
01334   sign = new eyedb::Signature();
01335   argtype = sign->getRettype();
01336   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
01337   argtype->setClname("");
01338   sign->setNargs(1);
01339   sign->setTypesCount(1);
01340   argtype = sign->getTypes(0);
01341   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
01342   argtype->setClname("");
01343   comp = new eyedb::FEMethod_C(db, cls, "julian", sign, eyedb::True, eyedb::True, "utilsmthfe");
01344   cls->add(comp->getInd(), comp);
01345 
01346   sign->release();
01347 
01348   sign = new eyedb::Signature();
01349   argtype = sign->getRettype();
01350   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
01351   argtype->setClname("");
01352   sign->setNargs(0);
01353   sign->setTypesCount(0);
01354   comp = new eyedb::FEMethod_C(db, cls, "year", sign, eyedb::False, eyedb::True, "utilsmthfe");
01355   cls->add(comp->getInd(), comp);
01356 
01357   sign->release();
01358 
01359   sign = new eyedb::Signature();
01360   argtype = sign->getRettype();
01361   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01362   argtype->setClname("");
01363   sign->setNargs(0);
01364   sign->setTypesCount(0);
01365   comp = new eyedb::FEMethod_C(db, cls, "month", sign, eyedb::False, eyedb::True, "utilsmthfe");
01366   cls->add(comp->getInd(), comp);
01367 
01368   sign->release();
01369 
01370   sign = new eyedb::Signature();
01371   argtype = sign->getRettype();
01372   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01373   argtype->setClname("");
01374   sign->setNargs(0);
01375   sign->setTypesCount(0);
01376   comp = new eyedb::FEMethod_C(db, cls, "day", sign, eyedb::False, eyedb::True, "utilsmthfe");
01377   cls->add(comp->getInd(), comp);
01378 
01379   sign->release();
01380 
01381   sign = new eyedb::Signature();
01382   argtype = sign->getRettype();
01383   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01384   argtype->setClname("");
01385   sign->setNargs(0);
01386   sign->setTypesCount(0);
01387   comp = new eyedb::FEMethod_C(db, cls, "day_of_year", sign, eyedb::False, eyedb::True, "utilsmthfe");
01388   cls->add(comp->getInd(), comp);
01389 
01390   sign->release();
01391 
01392   sign = new eyedb::Signature();
01393   argtype = sign->getRettype();
01394   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
01395   argtype->setClname("month");
01396   sign->setNargs(0);
01397   sign->setTypesCount(0);
01398   comp = new eyedb::FEMethod_C(db, cls, "month_of_year", sign, eyedb::False, eyedb::True, "utilsmthfe");
01399   cls->add(comp->getInd(), comp);
01400 
01401   sign->release();
01402 
01403   sign = new eyedb::Signature();
01404   argtype = sign->getRettype();
01405   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
01406   argtype->setClname("weekday");
01407   sign->setNargs(0);
01408   sign->setTypesCount(0);
01409   comp = new eyedb::FEMethod_C(db, cls, "day_of_week", sign, eyedb::False, eyedb::True, "utilsmthfe");
01410   cls->add(comp->getInd(), comp);
01411 
01412   sign->release();
01413 
01414   sign = new eyedb::Signature();
01415   argtype = sign->getRettype();
01416   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
01417   argtype->setClname("");
01418   sign->setNargs(0);
01419   sign->setTypesCount(0);
01420   comp = new eyedb::FEMethod_C(db, cls, "toString", sign, eyedb::False, eyedb::True, "utilsmthfe");
01421   cls->add(comp->getInd(), comp);
01422 
01423   sign->release();
01424 
01425   sign = new eyedb::Signature();
01426   argtype = sign->getRettype();
01427   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01428   argtype->setClname("");
01429   sign->setNargs(0);
01430   sign->setTypesCount(0);
01431   comp = new eyedb::FEMethod_C(db, cls, "is_leap_year", sign, eyedb::False, eyedb::True, "utilsmthfe");
01432   cls->add(comp->getInd(), comp);
01433 
01434   sign->release();
01435 
01436   sign = new eyedb::Signature();
01437   argtype = sign->getRettype();
01438   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01439   argtype->setClname("");
01440   sign->setNargs(1);
01441   sign->setTypesCount(1);
01442   argtype = sign->getTypes(0);
01443   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01444   argtype->setClname("date");
01445   comp = new eyedb::FEMethod_C(db, cls, "is_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
01446   cls->add(comp->getInd(), comp);
01447 
01448   sign->release();
01449 
01450   sign = new eyedb::Signature();
01451   argtype = sign->getRettype();
01452   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01453   argtype->setClname("");
01454   sign->setNargs(1);
01455   sign->setTypesCount(1);
01456   argtype = sign->getTypes(0);
01457   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01458   argtype->setClname("date");
01459   comp = new eyedb::FEMethod_C(db, cls, "is_greater", sign, eyedb::False, eyedb::True, "utilsmthfe");
01460   cls->add(comp->getInd(), comp);
01461 
01462   sign->release();
01463 
01464   sign = new eyedb::Signature();
01465   argtype = sign->getRettype();
01466   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01467   argtype->setClname("");
01468   sign->setNargs(1);
01469   sign->setTypesCount(1);
01470   argtype = sign->getTypes(0);
01471   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01472   argtype->setClname("date");
01473   comp = new eyedb::FEMethod_C(db, cls, "is_greater_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
01474   cls->add(comp->getInd(), comp);
01475 
01476   sign->release();
01477 
01478   sign = new eyedb::Signature();
01479   argtype = sign->getRettype();
01480   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01481   argtype->setClname("");
01482   sign->setNargs(1);
01483   sign->setTypesCount(1);
01484   argtype = sign->getTypes(0);
01485   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01486   argtype->setClname("date");
01487   comp = new eyedb::FEMethod_C(db, cls, "is_less", sign, eyedb::False, eyedb::True, "utilsmthfe");
01488   cls->add(comp->getInd(), comp);
01489 
01490   sign->release();
01491 
01492   sign = new eyedb::Signature();
01493   argtype = sign->getRettype();
01494   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01495   argtype->setClname("");
01496   sign->setNargs(1);
01497   sign->setTypesCount(1);
01498   argtype = sign->getTypes(0);
01499   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01500   argtype->setClname("date");
01501   comp = new eyedb::FEMethod_C(db, cls, "is_less_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
01502   cls->add(comp->getInd(), comp);
01503 
01504   sign->release();
01505 
01506   sign = new eyedb::Signature();
01507   argtype = sign->getRettype();
01508   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01509   argtype->setClname("");
01510   sign->setNargs(2);
01511   sign->setTypesCount(2);
01512   argtype = sign->getTypes(0);
01513   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01514   argtype->setClname("date");
01515   argtype = sign->getTypes(1);
01516   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01517   argtype->setClname("date");
01518   comp = new eyedb::FEMethod_C(db, cls, "is_between", sign, eyedb::False, eyedb::True, "utilsmthfe");
01519   cls->add(comp->getInd(), comp);
01520 
01521   sign->release();
01522 
01523   sign = new eyedb::Signature();
01524   argtype = sign->getRettype();
01525   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01526   argtype->setClname("date");
01527   sign->setNargs(1);
01528   sign->setTypesCount(1);
01529   argtype = sign->getTypes(0);
01530   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01531   argtype->setClname("weekday");
01532   comp = new eyedb::FEMethod_C(db, cls, "next", sign, eyedb::False, eyedb::True, "utilsmthfe");
01533   cls->add(comp->getInd(), comp);
01534 
01535   sign->release();
01536 
01537   sign = new eyedb::Signature();
01538   argtype = sign->getRettype();
01539   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01540   argtype->setClname("date");
01541   sign->setNargs(1);
01542   sign->setTypesCount(1);
01543   argtype = sign->getTypes(0);
01544   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01545   argtype->setClname("weekday");
01546   comp = new eyedb::FEMethod_C(db, cls, "previous", sign, eyedb::False, eyedb::True, "utilsmthfe");
01547   cls->add(comp->getInd(), comp);
01548 
01549   sign->release();
01550 
01551   sign = new eyedb::Signature();
01552   argtype = sign->getRettype();
01553   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01554   argtype->setClname("date");
01555   sign->setNargs(1);
01556   sign->setTypesCount(1);
01557   argtype = sign->getTypes(0);
01558   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01559   argtype->setClname("");
01560   comp = new eyedb::FEMethod_C(db, cls, "add_days", sign, eyedb::False, eyedb::True, "utilsmthfe");
01561   cls->add(comp->getInd(), comp);
01562 
01563   sign->release();
01564 
01565   sign = new eyedb::Signature();
01566   argtype = sign->getRettype();
01567   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01568   argtype->setClname("date");
01569   sign->setNargs(1);
01570   sign->setTypesCount(1);
01571   argtype = sign->getTypes(0);
01572   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01573   argtype->setClname("");
01574   comp = new eyedb::FEMethod_C(db, cls, "substract_days", sign, eyedb::False, eyedb::True, "utilsmthfe");
01575   cls->add(comp->getInd(), comp);
01576 
01577   sign->release();
01578 
01579   sign = new eyedb::Signature();
01580   argtype = sign->getRettype();
01581   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
01582   argtype->setClname("");
01583   sign->setNargs(1);
01584   sign->setTypesCount(1);
01585   argtype = sign->getTypes(0);
01586   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01587   argtype->setClname("date");
01588   comp = new eyedb::FEMethod_C(db, cls, "substract_date", sign, eyedb::False, eyedb::True, "utilsmthfe");
01589   cls->add(comp->getInd(), comp);
01590 
01591   sign->release();
01592 
01593   sign = new eyedb::Signature();
01594   argtype = sign->getRettype();
01595   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
01596   argtype->setClname("");
01597   sign->setNargs(1);
01598   sign->setTypesCount(1);
01599   argtype = sign->getTypes(0);
01600   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
01601   argtype->setClname("");
01602   comp = new eyedb::FEMethod_C(db, cls, "set_julian", sign, eyedb::False, eyedb::True, "utilsmthfe");
01603   cls->add(comp->getInd(), comp);
01604 
01605   sign->release();
01606 
01607   return eyedb::Success;
01608 }
01609 
01610 static eyedb::Status Date_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
01611 {
01612   return eyedb::Success;
01613 }
01614 
01615 Date::Date(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
01616 {
01617   initialize(_db);
01618 }
01619 
01620 Date::Date(const eyedb::Class *_cls, eyedb::Data _idr)
01621 {
01622   setClass((eyedb::Class *)_cls);
01623 
01624   eyedb::Size idr_psize;
01625   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
01626   if (_idr)
01627     idr->setIDR(idr_tsize, _idr);
01628   else
01629     {
01630       idr->setIDR(idr_tsize);
01631       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01632     }
01633   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01634   eyedb::ClassPeer::newObjRealize(getClass(), this);
01635   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01636   userInitialize();
01637 }
01638 
01639 void Date::initialize(eyedb::Database *_db)
01640 {
01641   setClass((_db ? _db->getSchema()->getClass("date") : Date_Class));
01642 
01643   eyedb::Size idr_psize;
01644   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
01645   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
01646   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01647   eyedb::ClassPeer::newObjRealize(getClass(), this);
01648   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01649   userInitialize();
01650 }
01651 
01652 Date::Date(const Date& x) : eyedb::Struct(x)
01653 {
01654   userCopy(x);
01655 }
01656 
01657 Date& Date::operator=(const Date& x)
01658 {
01659   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
01660   userCopy(x);
01661   return *this;
01662 }
01663 
01664 Date::Date(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
01665 {
01666   setClass((db ? db->getSchema()->getClass("date") : Date_Class));
01667 
01668   eyedb::Size idr_psize;
01669   getClass()->getIDRObjectSize(&idr_psize);
01670   if (!share)
01671     {
01672       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01673       eyedb::ClassPeer::newObjRealize(getClass(), this);
01674     }
01675 
01676   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01677   userCopy(*x);
01678 }
01679 
01680 Date::Date(const Date *x, eyedb::Bool share) : eyedb::Struct(x, share)
01681 {
01682   setClass((db ? db->getSchema()->getClass("date") : Date_Class));
01683 
01684   eyedb::Size idr_psize;
01685   getClass()->getIDRObjectSize(&idr_psize);
01686   if (!share)
01687     {
01688       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
01689       eyedb::ClassPeer::newObjRealize(getClass(), this);
01690     }
01691 
01692   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
01693   userCopy(*x);
01694 }
01695 
01696 eyedb::Status Date::setJulian(eyedblib::int32 _julian)
01697 {
01698   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01699   eyedb::Status status;
01700 
01701   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_julian, 1, 0);
01702   return status;
01703 }
01704 
01705 eyedblib::int32 Date::getJulian(eyedb::Bool *isnull, eyedb::Status *rs) const
01706 {
01707   eyedb::gbxAutoGarbSuspender _gbxsusp_;
01708   eyedblib::int32 __tmp = 0;
01709   eyedb::Status s;
01710 
01711   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
01712   if (s) {if (rs) *rs = s; return 0;}
01713   return __tmp;
01714 }
01715 
01716 static const eyedb::Attribute **Time_agritems;
01717 static eyedb::Size Time_idr_objsz, Time_idr_psize;
01718 
01719 static eyedb::StructClass *Time_make(eyedb::StructClass *Time_class = 0, eyedb::Schema *m = 0)
01720 {
01721   if (!Time_class)
01722     return new eyedb::StructClass("time", (m ? m->getClass("struct") : eyedb::Struct_Class));
01723   eyedb::Attribute *attr[4];
01724   int *dims;
01725 
01726   dims = 0;
01727   attr[2] = new eyedb::Attribute((m ? m->getClass("long") : eyedb::Int64_Class), "usecs", eyedb::False, 0, dims);
01728 
01729   dims = 0;
01730   attr[3] = new eyedb::Attribute((m ? m->getClass("short") : eyedb::Int16_Class), "tz", eyedb::False, 0, dims);
01731 
01732   Time_class->setAttributes(&attr[2], 2);
01733 
01734   delete attr[2];
01735   delete attr[3];
01736 
01737   eyedb::ClassPeer::setMType(Time_class, eyedb::Class::System);
01738 
01739   return Time_class;
01740 }
01741 
01742 eyedb::Object *Time_construct_x(const eyedb::Class *cls, eyedb::Data idr)
01743 {
01744   return new Time(cls, idr);
01745 }
01746 
01747 eyedb::Object *Time_construct(const eyedb::Object *o, eyedb::Bool share)
01748 {
01749   return new Time((const eyedb::Struct *)o, share);
01750 }
01751 
01752 static void Time_init_p()
01753 {
01754   Time_Class = Time_make();
01755   constructors_x[class_ind] = Time_construct_x;
01756   constructors[class_ind] = Time_construct;
01757   hash->insert("time", class_ind++);
01758 }
01759 
01760 static void Time_init()
01761 {
01762   Time_make(Time_Class);
01763 
01764   Time_agritems = Time_Class->getAttributes();
01765   Time_idr_objsz = Time_Class->getIDRObjectSize(&Time_idr_psize, 0);
01766 
01767   eyedb::ObjectPeer::setUnrealizable(Time_Class, eyedb::True);
01768 }
01769 
01770 static eyedb::Status Time_comp_realize(eyedb::Database *db, eyedb::Class *cls)
01771 {
01772   eyedb::ClassComponent *comp;
01773   eyedb::Status status;
01774   eyedb::Signature *sign;
01775   eyedb::ArgType *argtype;
01776 
01777   sign = new eyedb::Signature();
01778   argtype = sign->getRettype();
01779   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
01780   argtype->setClname("");
01781   sign->setNargs(2);
01782   sign->setTypesCount(2);
01783   argtype = sign->getTypes(0);
01784   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01785   argtype->setClname("");
01786   argtype = sign->getTypes(1);
01787   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
01788   argtype->setClname("");
01789   comp = new eyedb::FEMethod_C(db, cls, "get_local_time_zone", sign, eyedb::True, eyedb::True, "utilsmthfe");
01790   cls->add(comp->getInd(), comp);
01791 
01792   sign->release();
01793 
01794   sign = new eyedb::Signature();
01795   argtype = sign->getRettype();
01796   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01797   argtype->setClname("time");
01798   sign->setNargs(0);
01799   sign->setTypesCount(0);
01800   comp = new eyedb::FEMethod_C(db, cls, "gmt_time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01801   cls->add(comp->getInd(), comp);
01802 
01803   sign->release();
01804 
01805   sign = new eyedb::Signature();
01806   argtype = sign->getRettype();
01807   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01808   argtype->setClname("time");
01809   sign->setNargs(0);
01810   sign->setTypesCount(0);
01811   comp = new eyedb::FEMethod_C(db, cls, "local_time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01812   cls->add(comp->getInd(), comp);
01813 
01814   sign->release();
01815 
01816   sign = new eyedb::Signature();
01817   argtype = sign->getRettype();
01818   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01819   argtype->setClname("time");
01820   sign->setNargs(1);
01821   sign->setTypesCount(1);
01822   argtype = sign->getTypes(0);
01823   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
01824   argtype->setClname("time");
01825   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01826   cls->add(comp->getInd(), comp);
01827 
01828   sign->release();
01829 
01830   sign = new eyedb::Signature();
01831   argtype = sign->getRettype();
01832   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01833   argtype->setClname("time");
01834   sign->setNargs(1);
01835   sign->setTypesCount(1);
01836   argtype = sign->getTypes(0);
01837   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
01838   argtype->setClname("");
01839   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01840   cls->add(comp->getInd(), comp);
01841 
01842   sign->release();
01843 
01844   sign = new eyedb::Signature();
01845   argtype = sign->getRettype();
01846   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01847   argtype->setClname("time");
01848   sign->setNargs(2);
01849   sign->setTypesCount(2);
01850   argtype = sign->getTypes(0);
01851   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
01852   argtype->setClname("");
01853   argtype = sign->getTypes(1);
01854   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01855   argtype->setClname("");
01856   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01857   cls->add(comp->getInd(), comp);
01858 
01859   sign->release();
01860 
01861   sign = new eyedb::Signature();
01862   argtype = sign->getRettype();
01863   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01864   argtype->setClname("time");
01865   sign->setNargs(4);
01866   sign->setTypesCount(4);
01867   argtype = sign->getTypes(0);
01868   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01869   argtype->setClname("");
01870   argtype = sign->getTypes(1);
01871   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01872   argtype->setClname("");
01873   argtype = sign->getTypes(2);
01874   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01875   argtype->setClname("");
01876   argtype = sign->getTypes(3);
01877   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01878   argtype->setClname("");
01879   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01880   cls->add(comp->getInd(), comp);
01881 
01882   sign->release();
01883 
01884   sign = new eyedb::Signature();
01885   argtype = sign->getRettype();
01886   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01887   argtype->setClname("time");
01888   sign->setNargs(5);
01889   sign->setTypesCount(5);
01890   argtype = sign->getTypes(0);
01891   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01892   argtype->setClname("");
01893   argtype = sign->getTypes(1);
01894   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01895   argtype->setClname("");
01896   argtype = sign->getTypes(2);
01897   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01898   argtype->setClname("");
01899   argtype = sign->getTypes(3);
01900   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01901   argtype->setClname("");
01902   argtype = sign->getTypes(4);
01903   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01904   argtype->setClname("");
01905   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01906   cls->add(comp->getInd(), comp);
01907 
01908   sign->release();
01909 
01910   sign = new eyedb::Signature();
01911   argtype = sign->getRettype();
01912   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01913   argtype->setClname("time");
01914   sign->setNargs(6);
01915   sign->setTypesCount(6);
01916   argtype = sign->getTypes(0);
01917   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01918   argtype->setClname("");
01919   argtype = sign->getTypes(1);
01920   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01921   argtype->setClname("");
01922   argtype = sign->getTypes(2);
01923   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01924   argtype->setClname("");
01925   argtype = sign->getTypes(3);
01926   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01927   argtype->setClname("");
01928   argtype = sign->getTypes(4);
01929   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01930   argtype->setClname("");
01931   argtype = sign->getTypes(5);
01932   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01933   argtype->setClname("");
01934   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01935   cls->add(comp->getInd(), comp);
01936 
01937   sign->release();
01938 
01939   sign = new eyedb::Signature();
01940   argtype = sign->getRettype();
01941   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01942   argtype->setClname("time");
01943   sign->setNargs(7);
01944   sign->setTypesCount(7);
01945   argtype = sign->getTypes(0);
01946   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01947   argtype->setClname("");
01948   argtype = sign->getTypes(1);
01949   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01950   argtype->setClname("");
01951   argtype = sign->getTypes(2);
01952   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01953   argtype->setClname("");
01954   argtype = sign->getTypes(3);
01955   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01956   argtype->setClname("");
01957   argtype = sign->getTypes(4);
01958   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01959   argtype->setClname("");
01960   argtype = sign->getTypes(5);
01961   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01962   argtype->setClname("");
01963   argtype = sign->getTypes(6);
01964   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
01965   argtype->setClname("");
01966   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01967   cls->add(comp->getInd(), comp);
01968 
01969   sign->release();
01970 
01971   sign = new eyedb::Signature();
01972   argtype = sign->getRettype();
01973   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
01974   argtype->setClname("time");
01975   sign->setNargs(1);
01976   sign->setTypesCount(1);
01977   argtype = sign->getTypes(0);
01978   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
01979   argtype->setClname("");
01980   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01981   cls->add(comp->getInd(), comp);
01982 
01983   sign->release();
01984 
01985   sign = new eyedb::Signature();
01986   argtype = sign->getRettype();
01987   argtype->setType((eyedb::ArgType_Type)8196, eyedb::False);
01988   argtype->setClname("");
01989   sign->setNargs(1);
01990   sign->setTypesCount(1);
01991   argtype = sign->getTypes(0);
01992   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
01993   argtype->setClname("");
01994   comp = new eyedb::FEMethod_C(db, cls, "usec_time", sign, eyedb::True, eyedb::True, "utilsmthfe");
01995   cls->add(comp->getInd(), comp);
01996 
01997   sign->release();
01998 
01999   sign = new eyedb::Signature();
02000   argtype = sign->getRettype();
02001   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02002   argtype->setClname("");
02003   sign->setNargs(0);
02004   sign->setTypesCount(0);
02005   comp = new eyedb::FEMethod_C(db, cls, "hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02006   cls->add(comp->getInd(), comp);
02007 
02008   sign->release();
02009 
02010   sign = new eyedb::Signature();
02011   argtype = sign->getRettype();
02012   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02013   argtype->setClname("");
02014   sign->setNargs(0);
02015   sign->setTypesCount(0);
02016   comp = new eyedb::FEMethod_C(db, cls, "minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02017   cls->add(comp->getInd(), comp);
02018 
02019   sign->release();
02020 
02021   sign = new eyedb::Signature();
02022   argtype = sign->getRettype();
02023   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02024   argtype->setClname("");
02025   sign->setNargs(0);
02026   sign->setTypesCount(0);
02027   comp = new eyedb::FEMethod_C(db, cls, "second", sign, eyedb::False, eyedb::True, "utilsmthfe");
02028   cls->add(comp->getInd(), comp);
02029 
02030   sign->release();
02031 
02032   sign = new eyedb::Signature();
02033   argtype = sign->getRettype();
02034   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02035   argtype->setClname("");
02036   sign->setNargs(0);
02037   sign->setTypesCount(0);
02038   comp = new eyedb::FEMethod_C(db, cls, "millisecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
02039   cls->add(comp->getInd(), comp);
02040 
02041   sign->release();
02042 
02043   sign = new eyedb::Signature();
02044   argtype = sign->getRettype();
02045   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02046   argtype->setClname("");
02047   sign->setNargs(0);
02048   sign->setTypesCount(0);
02049   comp = new eyedb::FEMethod_C(db, cls, "tz_hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02050   cls->add(comp->getInd(), comp);
02051 
02052   sign->release();
02053 
02054   sign = new eyedb::Signature();
02055   argtype = sign->getRettype();
02056   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02057   argtype->setClname("");
02058   sign->setNargs(0);
02059   sign->setTypesCount(0);
02060   comp = new eyedb::FEMethod_C(db, cls, "tz_minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02061   cls->add(comp->getInd(), comp);
02062 
02063   sign->release();
02064 
02065   sign = new eyedb::Signature();
02066   argtype = sign->getRettype();
02067   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
02068   argtype->setClname("");
02069   sign->setNargs(0);
02070   sign->setTypesCount(0);
02071   comp = new eyedb::FEMethod_C(db, cls, "toString", sign, eyedb::False, eyedb::True, "utilsmthfe");
02072   cls->add(comp->getInd(), comp);
02073 
02074   sign->release();
02075 
02076   sign = new eyedb::Signature();
02077   argtype = sign->getRettype();
02078   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02079   argtype->setClname("");
02080   sign->setNargs(1);
02081   sign->setTypesCount(1);
02082   argtype = sign->getTypes(0);
02083   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02084   argtype->setClname("time");
02085   comp = new eyedb::FEMethod_C(db, cls, "is_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02086   cls->add(comp->getInd(), comp);
02087 
02088   sign->release();
02089 
02090   sign = new eyedb::Signature();
02091   argtype = sign->getRettype();
02092   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02093   argtype->setClname("");
02094   sign->setNargs(1);
02095   sign->setTypesCount(1);
02096   argtype = sign->getTypes(0);
02097   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02098   argtype->setClname("time");
02099   comp = new eyedb::FEMethod_C(db, cls, "is_greater", sign, eyedb::False, eyedb::True, "utilsmthfe");
02100   cls->add(comp->getInd(), comp);
02101 
02102   sign->release();
02103 
02104   sign = new eyedb::Signature();
02105   argtype = sign->getRettype();
02106   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02107   argtype->setClname("");
02108   sign->setNargs(1);
02109   sign->setTypesCount(1);
02110   argtype = sign->getTypes(0);
02111   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02112   argtype->setClname("time");
02113   comp = new eyedb::FEMethod_C(db, cls, "is_greater_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02114   cls->add(comp->getInd(), comp);
02115 
02116   sign->release();
02117 
02118   sign = new eyedb::Signature();
02119   argtype = sign->getRettype();
02120   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02121   argtype->setClname("");
02122   sign->setNargs(1);
02123   sign->setTypesCount(1);
02124   argtype = sign->getTypes(0);
02125   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02126   argtype->setClname("time");
02127   comp = new eyedb::FEMethod_C(db, cls, "is_less", sign, eyedb::False, eyedb::True, "utilsmthfe");
02128   cls->add(comp->getInd(), comp);
02129 
02130   sign->release();
02131 
02132   sign = new eyedb::Signature();
02133   argtype = sign->getRettype();
02134   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02135   argtype->setClname("");
02136   sign->setNargs(1);
02137   sign->setTypesCount(1);
02138   argtype = sign->getTypes(0);
02139   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02140   argtype->setClname("time");
02141   comp = new eyedb::FEMethod_C(db, cls, "is_less_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02142   cls->add(comp->getInd(), comp);
02143 
02144   sign->release();
02145 
02146   sign = new eyedb::Signature();
02147   argtype = sign->getRettype();
02148   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02149   argtype->setClname("");
02150   sign->setNargs(2);
02151   sign->setTypesCount(2);
02152   argtype = sign->getTypes(0);
02153   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02154   argtype->setClname("time");
02155   argtype = sign->getTypes(1);
02156   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02157   argtype->setClname("time");
02158   comp = new eyedb::FEMethod_C(db, cls, "is_between", sign, eyedb::False, eyedb::True, "utilsmthfe");
02159   cls->add(comp->getInd(), comp);
02160 
02161   sign->release();
02162 
02163   sign = new eyedb::Signature();
02164   argtype = sign->getRettype();
02165   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02166   argtype->setClname("time");
02167   sign->setNargs(1);
02168   sign->setTypesCount(1);
02169   argtype = sign->getTypes(0);
02170   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02171   argtype->setClname("time_interval");
02172   comp = new eyedb::FEMethod_C(db, cls, "add_interval", sign, eyedb::False, eyedb::True, "utilsmthfe");
02173   cls->add(comp->getInd(), comp);
02174 
02175   sign->release();
02176 
02177   sign = new eyedb::Signature();
02178   argtype = sign->getRettype();
02179   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02180   argtype->setClname("time");
02181   sign->setNargs(1);
02182   sign->setTypesCount(1);
02183   argtype = sign->getTypes(0);
02184   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02185   argtype->setClname("time_interval");
02186   comp = new eyedb::FEMethod_C(db, cls, "substract_interval", sign, eyedb::False, eyedb::True, "utilsmthfe");
02187   cls->add(comp->getInd(), comp);
02188 
02189   sign->release();
02190 
02191   sign = new eyedb::Signature();
02192   argtype = sign->getRettype();
02193   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02194   argtype->setClname("time_interval");
02195   sign->setNargs(1);
02196   sign->setTypesCount(1);
02197   argtype = sign->getTypes(0);
02198   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02199   argtype->setClname("time");
02200   comp = new eyedb::FEMethod_C(db, cls, "substract_time", sign, eyedb::False, eyedb::True, "utilsmthfe");
02201   cls->add(comp->getInd(), comp);
02202 
02203   sign->release();
02204 
02205   sign = new eyedb::Signature();
02206   argtype = sign->getRettype();
02207   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02208   argtype->setClname("");
02209   sign->setNargs(0);
02210   sign->setTypesCount(0);
02211   comp = new eyedb::FEMethod_C(db, cls, "gmt_hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02212   cls->add(comp->getInd(), comp);
02213 
02214   sign->release();
02215 
02216   sign = new eyedb::Signature();
02217   argtype = sign->getRettype();
02218   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02219   argtype->setClname("");
02220   sign->setNargs(0);
02221   sign->setTypesCount(0);
02222   comp = new eyedb::FEMethod_C(db, cls, "gmt_minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02223   cls->add(comp->getInd(), comp);
02224 
02225   sign->release();
02226 
02227   sign = new eyedb::Signature();
02228   argtype = sign->getRettype();
02229   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02230   argtype->setClname("");
02231   sign->setNargs(0);
02232   sign->setTypesCount(0);
02233   comp = new eyedb::FEMethod_C(db, cls, "microsecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
02234   cls->add(comp->getInd(), comp);
02235 
02236   sign->release();
02237 
02238   sign = new eyedb::Signature();
02239   argtype = sign->getRettype();
02240   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
02241   argtype->setClname("");
02242   sign->setNargs(2);
02243   sign->setTypesCount(2);
02244   argtype = sign->getTypes(0);
02245   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02246   argtype->setClname("");
02247   argtype = sign->getTypes(1);
02248   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02249   argtype->setClname("");
02250   comp = new eyedb::FEMethod_C(db, cls, "set_usecs", sign, eyedb::False, eyedb::True, "utilsmthfe");
02251   cls->add(comp->getInd(), comp);
02252 
02253   sign->release();
02254 
02255   return eyedb::Success;
02256 }
02257 
02258 static eyedb::Status Time_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
02259 {
02260   return eyedb::Success;
02261 }
02262 
02263 Time::Time(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
02264 {
02265   initialize(_db);
02266 }
02267 
02268 Time::Time(const eyedb::Class *_cls, eyedb::Data _idr)
02269 {
02270   setClass((eyedb::Class *)_cls);
02271 
02272   eyedb::Size idr_psize;
02273   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02274   if (_idr)
02275     idr->setIDR(idr_tsize, _idr);
02276   else
02277     {
02278       idr->setIDR(idr_tsize);
02279       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02280     }
02281   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02282   eyedb::ClassPeer::newObjRealize(getClass(), this);
02283   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02284   userInitialize();
02285 }
02286 
02287 void Time::initialize(eyedb::Database *_db)
02288 {
02289   setClass((_db ? _db->getSchema()->getClass("time") : Time_Class));
02290 
02291   eyedb::Size idr_psize;
02292   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02293   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02294   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02295   eyedb::ClassPeer::newObjRealize(getClass(), this);
02296   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02297   userInitialize();
02298 }
02299 
02300 Time::Time(const Time& x) : eyedb::Struct(x)
02301 {
02302   userCopy(x);
02303 }
02304 
02305 Time& Time::operator=(const Time& x)
02306 {
02307   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
02308   userCopy(x);
02309   return *this;
02310 }
02311 
02312 Time::Time(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
02313 {
02314   setClass((db ? db->getSchema()->getClass("time") : Time_Class));
02315 
02316   eyedb::Size idr_psize;
02317   getClass()->getIDRObjectSize(&idr_psize);
02318   if (!share)
02319     {
02320       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02321       eyedb::ClassPeer::newObjRealize(getClass(), this);
02322     }
02323 
02324   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02325   userCopy(*x);
02326 }
02327 
02328 Time::Time(const Time *x, eyedb::Bool share) : eyedb::Struct(x, share)
02329 {
02330   setClass((db ? db->getSchema()->getClass("time") : Time_Class));
02331 
02332   eyedb::Size idr_psize;
02333   getClass()->getIDRObjectSize(&idr_psize);
02334   if (!share)
02335     {
02336       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02337       eyedb::ClassPeer::newObjRealize(getClass(), this);
02338     }
02339 
02340   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02341   userCopy(*x);
02342 }
02343 
02344 eyedb::Status Time::setUsecs(eyedblib::int64 _usecs)
02345 {
02346   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02347   eyedb::Status status;
02348 
02349   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_usecs, 1, 0);
02350   return status;
02351 }
02352 
02353 eyedblib::int64 Time::getUsecs(eyedb::Bool *isnull, eyedb::Status *rs) const
02354 {
02355   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02356   eyedblib::int64 __tmp = 0;
02357   eyedb::Status s;
02358 
02359   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02360   if (s) {if (rs) *rs = s; return 0;}
02361   return __tmp;
02362 }
02363 
02364 eyedb::Status Time::setTz(eyedblib::int16 _tz)
02365 {
02366   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02367   eyedb::Status status;
02368 
02369   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_tz, 1, 0);
02370   return status;
02371 }
02372 
02373 eyedblib::int16 Time::getTz(eyedb::Bool *isnull, eyedb::Status *rs) const
02374 {
02375   eyedb::gbxAutoGarbSuspender _gbxsusp_;
02376   eyedblib::int16 __tmp = 0;
02377   eyedb::Status s;
02378 
02379   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
02380   if (s) {if (rs) *rs = s; return 0;}
02381   return __tmp;
02382 }
02383 
02384 static const eyedb::Attribute **TimeStamp_agritems;
02385 static eyedb::Size TimeStamp_idr_objsz, TimeStamp_idr_psize;
02386 
02387 static eyedb::StructClass *TimeStamp_make(eyedb::StructClass *TimeStamp_class = 0, eyedb::Schema *m = 0)
02388 {
02389   if (!TimeStamp_class)
02390     return new eyedb::StructClass("time_stamp", (m ? m->getClass("struct") : eyedb::Struct_Class));
02391   eyedb::Attribute *attr[4];
02392   int *dims;
02393 
02394   dims = 0;
02395   attr[2] = new eyedb::Attribute((m ? m->getClass("long") : eyedb::Int64_Class), "usecs", eyedb::False, 0, dims);
02396 
02397   dims = 0;
02398   attr[3] = new eyedb::Attribute((m ? m->getClass("short") : eyedb::Int16_Class), "tz", eyedb::False, 0, dims);
02399 
02400   TimeStamp_class->setAttributes(&attr[2], 2);
02401 
02402   delete attr[2];
02403   delete attr[3];
02404 
02405   eyedb::ClassPeer::setMType(TimeStamp_class, eyedb::Class::System);
02406 
02407   return TimeStamp_class;
02408 }
02409 
02410 eyedb::Object *TimeStamp_construct_x(const eyedb::Class *cls, eyedb::Data idr)
02411 {
02412   return new TimeStamp(cls, idr);
02413 }
02414 
02415 eyedb::Object *TimeStamp_construct(const eyedb::Object *o, eyedb::Bool share)
02416 {
02417   return new TimeStamp((const eyedb::Struct *)o, share);
02418 }
02419 
02420 static void TimeStamp_init_p()
02421 {
02422   TimeStamp_Class = TimeStamp_make();
02423   constructors_x[class_ind] = TimeStamp_construct_x;
02424   constructors[class_ind] = TimeStamp_construct;
02425   hash->insert("time_stamp", class_ind++);
02426 }
02427 
02428 static void TimeStamp_init()
02429 {
02430   TimeStamp_make(TimeStamp_Class);
02431 
02432   TimeStamp_agritems = TimeStamp_Class->getAttributes();
02433   TimeStamp_idr_objsz = TimeStamp_Class->getIDRObjectSize(&TimeStamp_idr_psize, 0);
02434 
02435   eyedb::ObjectPeer::setUnrealizable(TimeStamp_Class, eyedb::True);
02436 }
02437 
02438 static eyedb::Status TimeStamp_comp_realize(eyedb::Database *db, eyedb::Class *cls)
02439 {
02440   eyedb::ClassComponent *comp;
02441   eyedb::Status status;
02442   eyedb::Signature *sign;
02443   eyedb::ArgType *argtype;
02444 
02445   sign = new eyedb::Signature();
02446   argtype = sign->getRettype();
02447   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02448   argtype->setClname("time_stamp");
02449   sign->setNargs(0);
02450   sign->setTypesCount(0);
02451   comp = new eyedb::FEMethod_C(db, cls, "gmt_time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02452   cls->add(comp->getInd(), comp);
02453 
02454   sign->release();
02455 
02456   sign = new eyedb::Signature();
02457   argtype = sign->getRettype();
02458   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02459   argtype->setClname("time_stamp");
02460   sign->setNargs(0);
02461   sign->setTypesCount(0);
02462   comp = new eyedb::FEMethod_C(db, cls, "local_time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02463   cls->add(comp->getInd(), comp);
02464 
02465   sign->release();
02466 
02467   sign = new eyedb::Signature();
02468   argtype = sign->getRettype();
02469   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02470   argtype->setClname("time_stamp");
02471   sign->setNargs(1);
02472   sign->setTypesCount(1);
02473   argtype = sign->getTypes(0);
02474   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02475   argtype->setClname("time_stamp");
02476   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02477   cls->add(comp->getInd(), comp);
02478 
02479   sign->release();
02480 
02481   sign = new eyedb::Signature();
02482   argtype = sign->getRettype();
02483   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02484   argtype->setClname("time_stamp");
02485   sign->setNargs(1);
02486   sign->setTypesCount(1);
02487   argtype = sign->getTypes(0);
02488   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02489   argtype->setClname("");
02490   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02491   cls->add(comp->getInd(), comp);
02492 
02493   sign->release();
02494 
02495   sign = new eyedb::Signature();
02496   argtype = sign->getRettype();
02497   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02498   argtype->setClname("time_stamp");
02499   sign->setNargs(2);
02500   sign->setTypesCount(2);
02501   argtype = sign->getTypes(0);
02502   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02503   argtype->setClname("");
02504   argtype = sign->getTypes(1);
02505   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02506   argtype->setClname("");
02507   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02508   cls->add(comp->getInd(), comp);
02509 
02510   sign->release();
02511 
02512   sign = new eyedb::Signature();
02513   argtype = sign->getRettype();
02514   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02515   argtype->setClname("time_stamp");
02516   sign->setNargs(2);
02517   sign->setTypesCount(2);
02518   argtype = sign->getTypes(0);
02519   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
02520   argtype->setClname("");
02521   argtype = sign->getTypes(1);
02522   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02523   argtype->setClname("");
02524   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02525   cls->add(comp->getInd(), comp);
02526 
02527   sign->release();
02528 
02529   sign = new eyedb::Signature();
02530   argtype = sign->getRettype();
02531   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02532   argtype->setClname("time_stamp");
02533   sign->setNargs(3);
02534   sign->setTypesCount(3);
02535   argtype = sign->getTypes(0);
02536   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
02537   argtype->setClname("");
02538   argtype = sign->getTypes(1);
02539   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02540   argtype->setClname("");
02541   argtype = sign->getTypes(2);
02542   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02543   argtype->setClname("");
02544   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02545   cls->add(comp->getInd(), comp);
02546 
02547   sign->release();
02548 
02549   sign = new eyedb::Signature();
02550   argtype = sign->getRettype();
02551   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02552   argtype->setClname("time_stamp");
02553   sign->setNargs(2);
02554   sign->setTypesCount(2);
02555   argtype = sign->getTypes(0);
02556   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02557   argtype->setClname("date");
02558   argtype = sign->getTypes(1);
02559   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02560   argtype->setClname("time");
02561   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02562   cls->add(comp->getInd(), comp);
02563 
02564   sign->release();
02565 
02566   sign = new eyedb::Signature();
02567   argtype = sign->getRettype();
02568   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02569   argtype->setClname("time_stamp");
02570   sign->setNargs(1);
02571   sign->setTypesCount(1);
02572   argtype = sign->getTypes(0);
02573   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02574   argtype->setClname("date");
02575   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02576   cls->add(comp->getInd(), comp);
02577 
02578   sign->release();
02579 
02580   sign = new eyedb::Signature();
02581   argtype = sign->getRettype();
02582   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02583   argtype->setClname("time_stamp");
02584   sign->setNargs(3);
02585   sign->setTypesCount(3);
02586   argtype = sign->getTypes(0);
02587   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02588   argtype->setClname("date");
02589   argtype = sign->getTypes(1);
02590   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02591   argtype->setClname("");
02592   argtype = sign->getTypes(2);
02593   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02594   argtype->setClname("");
02595   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02596   cls->add(comp->getInd(), comp);
02597 
02598   sign->release();
02599 
02600   sign = new eyedb::Signature();
02601   argtype = sign->getRettype();
02602   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02603   argtype->setClname("time_stamp");
02604   sign->setNargs(1);
02605   sign->setTypesCount(1);
02606   argtype = sign->getTypes(0);
02607   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
02608   argtype->setClname("");
02609   comp = new eyedb::FEMethod_C(db, cls, "time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02610   cls->add(comp->getInd(), comp);
02611 
02612   sign->release();
02613 
02614   sign = new eyedb::Signature();
02615   argtype = sign->getRettype();
02616   argtype->setType((eyedb::ArgType_Type)8196, eyedb::False);
02617   argtype->setClname("");
02618   sign->setNargs(1);
02619   sign->setTypesCount(1);
02620   argtype = sign->getTypes(0);
02621   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
02622   argtype->setClname("");
02623   comp = new eyedb::FEMethod_C(db, cls, "usec_time_stamp", sign, eyedb::True, eyedb::True, "utilsmthfe");
02624   cls->add(comp->getInd(), comp);
02625 
02626   sign->release();
02627 
02628   sign = new eyedb::Signature();
02629   argtype = sign->getRettype();
02630   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02631   argtype->setClname("date");
02632   sign->setNargs(0);
02633   sign->setTypesCount(0);
02634   comp = new eyedb::FEMethod_C(db, cls, "date", sign, eyedb::False, eyedb::True, "utilsmthfe");
02635   cls->add(comp->getInd(), comp);
02636 
02637   sign->release();
02638 
02639   sign = new eyedb::Signature();
02640   argtype = sign->getRettype();
02641   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02642   argtype->setClname("time");
02643   sign->setNargs(0);
02644   sign->setTypesCount(0);
02645   comp = new eyedb::FEMethod_C(db, cls, "time", sign, eyedb::False, eyedb::True, "utilsmthfe");
02646   cls->add(comp->getInd(), comp);
02647 
02648   sign->release();
02649 
02650   sign = new eyedb::Signature();
02651   argtype = sign->getRettype();
02652   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
02653   argtype->setClname("");
02654   sign->setNargs(0);
02655   sign->setTypesCount(0);
02656   comp = new eyedb::FEMethod_C(db, cls, "year", sign, eyedb::False, eyedb::True, "utilsmthfe");
02657   cls->add(comp->getInd(), comp);
02658 
02659   sign->release();
02660 
02661   sign = new eyedb::Signature();
02662   argtype = sign->getRettype();
02663   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02664   argtype->setClname("");
02665   sign->setNargs(0);
02666   sign->setTypesCount(0);
02667   comp = new eyedb::FEMethod_C(db, cls, "month", sign, eyedb::False, eyedb::True, "utilsmthfe");
02668   cls->add(comp->getInd(), comp);
02669 
02670   sign->release();
02671 
02672   sign = new eyedb::Signature();
02673   argtype = sign->getRettype();
02674   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02675   argtype->setClname("");
02676   sign->setNargs(0);
02677   sign->setTypesCount(0);
02678   comp = new eyedb::FEMethod_C(db, cls, "day", sign, eyedb::False, eyedb::True, "utilsmthfe");
02679   cls->add(comp->getInd(), comp);
02680 
02681   sign->release();
02682 
02683   sign = new eyedb::Signature();
02684   argtype = sign->getRettype();
02685   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02686   argtype->setClname("");
02687   sign->setNargs(0);
02688   sign->setTypesCount(0);
02689   comp = new eyedb::FEMethod_C(db, cls, "hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02690   cls->add(comp->getInd(), comp);
02691 
02692   sign->release();
02693 
02694   sign = new eyedb::Signature();
02695   argtype = sign->getRettype();
02696   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02697   argtype->setClname("");
02698   sign->setNargs(0);
02699   sign->setTypesCount(0);
02700   comp = new eyedb::FEMethod_C(db, cls, "minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02701   cls->add(comp->getInd(), comp);
02702 
02703   sign->release();
02704 
02705   sign = new eyedb::Signature();
02706   argtype = sign->getRettype();
02707   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02708   argtype->setClname("");
02709   sign->setNargs(0);
02710   sign->setTypesCount(0);
02711   comp = new eyedb::FEMethod_C(db, cls, "second", sign, eyedb::False, eyedb::True, "utilsmthfe");
02712   cls->add(comp->getInd(), comp);
02713 
02714   sign->release();
02715 
02716   sign = new eyedb::Signature();
02717   argtype = sign->getRettype();
02718   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02719   argtype->setClname("");
02720   sign->setNargs(0);
02721   sign->setTypesCount(0);
02722   comp = new eyedb::FEMethod_C(db, cls, "millisecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
02723   cls->add(comp->getInd(), comp);
02724 
02725   sign->release();
02726 
02727   sign = new eyedb::Signature();
02728   argtype = sign->getRettype();
02729   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02730   argtype->setClname("");
02731   sign->setNargs(0);
02732   sign->setTypesCount(0);
02733   comp = new eyedb::FEMethod_C(db, cls, "tz_hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02734   cls->add(comp->getInd(), comp);
02735 
02736   sign->release();
02737 
02738   sign = new eyedb::Signature();
02739   argtype = sign->getRettype();
02740   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02741   argtype->setClname("");
02742   sign->setNargs(0);
02743   sign->setTypesCount(0);
02744   comp = new eyedb::FEMethod_C(db, cls, "tz_minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02745   cls->add(comp->getInd(), comp);
02746 
02747   sign->release();
02748 
02749   sign = new eyedb::Signature();
02750   argtype = sign->getRettype();
02751   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
02752   argtype->setClname("");
02753   sign->setNargs(0);
02754   sign->setTypesCount(0);
02755   comp = new eyedb::FEMethod_C(db, cls, "toString", sign, eyedb::False, eyedb::True, "utilsmthfe");
02756   cls->add(comp->getInd(), comp);
02757 
02758   sign->release();
02759 
02760   sign = new eyedb::Signature();
02761   argtype = sign->getRettype();
02762   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02763   argtype->setClname("time_stamp");
02764   sign->setNargs(1);
02765   sign->setTypesCount(1);
02766   argtype = sign->getTypes(0);
02767   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02768   argtype->setClname("time_interval");
02769   comp = new eyedb::FEMethod_C(db, cls, "plus", sign, eyedb::False, eyedb::True, "utilsmthfe");
02770   cls->add(comp->getInd(), comp);
02771 
02772   sign->release();
02773 
02774   sign = new eyedb::Signature();
02775   argtype = sign->getRettype();
02776   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02777   argtype->setClname("time_stamp");
02778   sign->setNargs(1);
02779   sign->setTypesCount(1);
02780   argtype = sign->getTypes(0);
02781   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02782   argtype->setClname("time_interval");
02783   comp = new eyedb::FEMethod_C(db, cls, "minus", sign, eyedb::False, eyedb::True, "utilsmthfe");
02784   cls->add(comp->getInd(), comp);
02785 
02786   sign->release();
02787 
02788   sign = new eyedb::Signature();
02789   argtype = sign->getRettype();
02790   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02791   argtype->setClname("");
02792   sign->setNargs(1);
02793   sign->setTypesCount(1);
02794   argtype = sign->getTypes(0);
02795   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02796   argtype->setClname("time_stamp");
02797   comp = new eyedb::FEMethod_C(db, cls, "is_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02798   cls->add(comp->getInd(), comp);
02799 
02800   sign->release();
02801 
02802   sign = new eyedb::Signature();
02803   argtype = sign->getRettype();
02804   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02805   argtype->setClname("");
02806   sign->setNargs(1);
02807   sign->setTypesCount(1);
02808   argtype = sign->getTypes(0);
02809   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02810   argtype->setClname("time_stamp");
02811   comp = new eyedb::FEMethod_C(db, cls, "is_greater", sign, eyedb::False, eyedb::True, "utilsmthfe");
02812   cls->add(comp->getInd(), comp);
02813 
02814   sign->release();
02815 
02816   sign = new eyedb::Signature();
02817   argtype = sign->getRettype();
02818   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02819   argtype->setClname("");
02820   sign->setNargs(1);
02821   sign->setTypesCount(1);
02822   argtype = sign->getTypes(0);
02823   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02824   argtype->setClname("time_stamp");
02825   comp = new eyedb::FEMethod_C(db, cls, "is_greater_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02826   cls->add(comp->getInd(), comp);
02827 
02828   sign->release();
02829 
02830   sign = new eyedb::Signature();
02831   argtype = sign->getRettype();
02832   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02833   argtype->setClname("");
02834   sign->setNargs(1);
02835   sign->setTypesCount(1);
02836   argtype = sign->getTypes(0);
02837   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02838   argtype->setClname("time_stamp");
02839   comp = new eyedb::FEMethod_C(db, cls, "is_less", sign, eyedb::False, eyedb::True, "utilsmthfe");
02840   cls->add(comp->getInd(), comp);
02841 
02842   sign->release();
02843 
02844   sign = new eyedb::Signature();
02845   argtype = sign->getRettype();
02846   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02847   argtype->setClname("");
02848   sign->setNargs(1);
02849   sign->setTypesCount(1);
02850   argtype = sign->getTypes(0);
02851   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02852   argtype->setClname("time_stamp");
02853   comp = new eyedb::FEMethod_C(db, cls, "is_less_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
02854   cls->add(comp->getInd(), comp);
02855 
02856   sign->release();
02857 
02858   sign = new eyedb::Signature();
02859   argtype = sign->getRettype();
02860   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02861   argtype->setClname("");
02862   sign->setNargs(2);
02863   sign->setTypesCount(2);
02864   argtype = sign->getTypes(0);
02865   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02866   argtype->setClname("time_stamp");
02867   argtype = sign->getTypes(1);
02868   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02869   argtype->setClname("time_stamp");
02870   comp = new eyedb::FEMethod_C(db, cls, "is_between", sign, eyedb::False, eyedb::True, "utilsmthfe");
02871   cls->add(comp->getInd(), comp);
02872 
02873   sign->release();
02874 
02875   sign = new eyedb::Signature();
02876   argtype = sign->getRettype();
02877   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02878   argtype->setClname("");
02879   sign->setNargs(0);
02880   sign->setTypesCount(0);
02881   comp = new eyedb::FEMethod_C(db, cls, "gmt_hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
02882   cls->add(comp->getInd(), comp);
02883 
02884   sign->release();
02885 
02886   sign = new eyedb::Signature();
02887   argtype = sign->getRettype();
02888   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02889   argtype->setClname("");
02890   sign->setNargs(0);
02891   sign->setTypesCount(0);
02892   comp = new eyedb::FEMethod_C(db, cls, "gmt_minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
02893   cls->add(comp->getInd(), comp);
02894 
02895   sign->release();
02896 
02897   sign = new eyedb::Signature();
02898   argtype = sign->getRettype();
02899   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
02900   argtype->setClname("");
02901   sign->setNargs(0);
02902   sign->setTypesCount(0);
02903   comp = new eyedb::FEMethod_C(db, cls, "microsecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
02904   cls->add(comp->getInd(), comp);
02905 
02906   sign->release();
02907 
02908   sign = new eyedb::Signature();
02909   argtype = sign->getRettype();
02910   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
02911   argtype->setClname("");
02912   sign->setNargs(2);
02913   sign->setTypesCount(2);
02914   argtype = sign->getTypes(0);
02915   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
02916   argtype->setClname("");
02917   argtype = sign->getTypes(1);
02918   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
02919   argtype->setClname("");
02920   comp = new eyedb::FEMethod_C(db, cls, "set_usecs", sign, eyedb::False, eyedb::True, "utilsmthfe");
02921   cls->add(comp->getInd(), comp);
02922 
02923   sign->release();
02924 
02925   sign = new eyedb::Signature();
02926   argtype = sign->getRettype();
02927   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
02928   argtype->setClname("time_interval");
02929   sign->setNargs(1);
02930   sign->setTypesCount(1);
02931   argtype = sign->getTypes(0);
02932   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
02933   argtype->setClname("time_stamp");
02934   comp = new eyedb::FEMethod_C(db, cls, "substract", sign, eyedb::False, eyedb::True, "utilsmthfe");
02935   cls->add(comp->getInd(), comp);
02936 
02937   sign->release();
02938 
02939   return eyedb::Success;
02940 }
02941 
02942 static eyedb::Status TimeStamp_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
02943 {
02944   return eyedb::Success;
02945 }
02946 
02947 TimeStamp::TimeStamp(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
02948 {
02949   initialize(_db);
02950 }
02951 
02952 TimeStamp::TimeStamp(const eyedb::Class *_cls, eyedb::Data _idr)
02953 {
02954   setClass((eyedb::Class *)_cls);
02955 
02956   eyedb::Size idr_psize;
02957   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
02958   if (_idr)
02959     idr->setIDR(idr_tsize, _idr);
02960   else
02961     {
02962       idr->setIDR(idr_tsize);
02963       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02964     }
02965   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02966   eyedb::ClassPeer::newObjRealize(getClass(), this);
02967   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02968   userInitialize();
02969 }
02970 
02971 void TimeStamp::initialize(eyedb::Database *_db)
02972 {
02973   setClass((_db ? _db->getSchema()->getClass("time_stamp") : TimeStamp_Class));
02974 
02975   eyedb::Size idr_psize;
02976   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
02977   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
02978   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
02979   eyedb::ClassPeer::newObjRealize(getClass(), this);
02980   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
02981   userInitialize();
02982 }
02983 
02984 TimeStamp::TimeStamp(const TimeStamp& x) : eyedb::Struct(x)
02985 {
02986   userCopy(x);
02987 }
02988 
02989 TimeStamp& TimeStamp::operator=(const TimeStamp& x)
02990 {
02991   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
02992   userCopy(x);
02993   return *this;
02994 }
02995 
02996 TimeStamp::TimeStamp(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
02997 {
02998   setClass((db ? db->getSchema()->getClass("time_stamp") : TimeStamp_Class));
02999 
03000   eyedb::Size idr_psize;
03001   getClass()->getIDRObjectSize(&idr_psize);
03002   if (!share)
03003     {
03004       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03005       eyedb::ClassPeer::newObjRealize(getClass(), this);
03006     }
03007 
03008   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03009   userCopy(*x);
03010 }
03011 
03012 TimeStamp::TimeStamp(const TimeStamp *x, eyedb::Bool share) : eyedb::Struct(x, share)
03013 {
03014   setClass((db ? db->getSchema()->getClass("time_stamp") : TimeStamp_Class));
03015 
03016   eyedb::Size idr_psize;
03017   getClass()->getIDRObjectSize(&idr_psize);
03018   if (!share)
03019     {
03020       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03021       eyedb::ClassPeer::newObjRealize(getClass(), this);
03022     }
03023 
03024   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03025   userCopy(*x);
03026 }
03027 
03028 eyedb::Status TimeStamp::setUsecs(eyedblib::int64 _usecs)
03029 {
03030   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03031   eyedb::Status status;
03032 
03033   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_usecs, 1, 0);
03034   return status;
03035 }
03036 
03037 eyedblib::int64 TimeStamp::getUsecs(eyedb::Bool *isnull, eyedb::Status *rs) const
03038 {
03039   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03040   eyedblib::int64 __tmp = 0;
03041   eyedb::Status s;
03042 
03043   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03044   if (s) {if (rs) *rs = s; return 0;}
03045   return __tmp;
03046 }
03047 
03048 eyedb::Status TimeStamp::setTz(eyedblib::int16 _tz)
03049 {
03050   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03051   eyedb::Status status;
03052 
03053   status = getClass()->getAttributes()[3]->setValue(this, (eyedb::Data)&_tz, 1, 0);
03054   return status;
03055 }
03056 
03057 eyedblib::int16 TimeStamp::getTz(eyedb::Bool *isnull, eyedb::Status *rs) const
03058 {
03059   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03060   eyedblib::int16 __tmp = 0;
03061   eyedb::Status s;
03062 
03063   s = getClass()->getAttributes()[3]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03064   if (s) {if (rs) *rs = s; return 0;}
03065   return __tmp;
03066 }
03067 
03068 static const eyedb::Attribute **TimeInterval_agritems;
03069 static eyedb::Size TimeInterval_idr_objsz, TimeInterval_idr_psize;
03070 
03071 static eyedb::StructClass *TimeInterval_make(eyedb::StructClass *TimeInterval_class = 0, eyedb::Schema *m = 0)
03072 {
03073   if (!TimeInterval_class)
03074     return new eyedb::StructClass("time_interval", (m ? m->getClass("struct") : eyedb::Struct_Class));
03075   eyedb::Attribute *attr[3];
03076   int *dims;
03077 
03078   dims = 0;
03079   attr[2] = new eyedb::Attribute((m ? m->getClass("long") : eyedb::Int64_Class), "usecs", eyedb::False, 0, dims);
03080 
03081   TimeInterval_class->setAttributes(&attr[2], 1);
03082 
03083   delete attr[2];
03084 
03085   eyedb::ClassPeer::setMType(TimeInterval_class, eyedb::Class::System);
03086 
03087   return TimeInterval_class;
03088 }
03089 
03090 eyedb::Object *TimeInterval_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03091 {
03092   return new TimeInterval(cls, idr);
03093 }
03094 
03095 eyedb::Object *TimeInterval_construct(const eyedb::Object *o, eyedb::Bool share)
03096 {
03097   return new TimeInterval((const eyedb::Struct *)o, share);
03098 }
03099 
03100 static void TimeInterval_init_p()
03101 {
03102   TimeInterval_Class = TimeInterval_make();
03103   constructors_x[class_ind] = TimeInterval_construct_x;
03104   constructors[class_ind] = TimeInterval_construct;
03105   hash->insert("time_interval", class_ind++);
03106 }
03107 
03108 static void TimeInterval_init()
03109 {
03110   TimeInterval_make(TimeInterval_Class);
03111 
03112   TimeInterval_agritems = TimeInterval_Class->getAttributes();
03113   TimeInterval_idr_objsz = TimeInterval_Class->getIDRObjectSize(&TimeInterval_idr_psize, 0);
03114 
03115   eyedb::ObjectPeer::setUnrealizable(TimeInterval_Class, eyedb::True);
03116 }
03117 
03118 static eyedb::Status TimeInterval_comp_realize(eyedb::Database *db, eyedb::Class *cls)
03119 {
03120   eyedb::ClassComponent *comp;
03121   eyedb::Status status;
03122   eyedb::Signature *sign;
03123   eyedb::ArgType *argtype;
03124 
03125   sign = new eyedb::Signature();
03126   argtype = sign->getRettype();
03127   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03128   argtype->setClname("time_interval");
03129   sign->setNargs(1);
03130   sign->setTypesCount(1);
03131   argtype = sign->getTypes(0);
03132   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
03133   argtype->setClname("");
03134   comp = new eyedb::FEMethod_C(db, cls, "time_interval", sign, eyedb::True, eyedb::True, "utilsmthfe");
03135   cls->add(comp->getInd(), comp);
03136 
03137   sign->release();
03138 
03139   sign = new eyedb::Signature();
03140   argtype = sign->getRettype();
03141   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03142   argtype->setClname("time_interval");
03143   sign->setNargs(6);
03144   sign->setTypesCount(6);
03145   argtype = sign->getTypes(0);
03146   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03147   argtype->setClname("");
03148   argtype = sign->getTypes(1);
03149   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
03150   argtype->setClname("");
03151   argtype = sign->getTypes(2);
03152   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
03153   argtype->setClname("");
03154   argtype = sign->getTypes(3);
03155   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
03156   argtype->setClname("");
03157   argtype = sign->getTypes(4);
03158   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
03159   argtype->setClname("");
03160   argtype = sign->getTypes(5);
03161   argtype->setType((eyedb::ArgType_Type)4098, eyedb::False);
03162   argtype->setClname("");
03163   comp = new eyedb::FEMethod_C(db, cls, "time_interval", sign, eyedb::True, eyedb::True, "utilsmthfe");
03164   cls->add(comp->getInd(), comp);
03165 
03166   sign->release();
03167 
03168   sign = new eyedb::Signature();
03169   argtype = sign->getRettype();
03170   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
03171   argtype->setClname("");
03172   sign->setNargs(0);
03173   sign->setTypesCount(0);
03174   comp = new eyedb::FEMethod_C(db, cls, "day", sign, eyedb::False, eyedb::True, "utilsmthfe");
03175   cls->add(comp->getInd(), comp);
03176 
03177   sign->release();
03178 
03179   sign = new eyedb::Signature();
03180   argtype = sign->getRettype();
03181   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03182   argtype->setClname("");
03183   sign->setNargs(0);
03184   sign->setTypesCount(0);
03185   comp = new eyedb::FEMethod_C(db, cls, "hour", sign, eyedb::False, eyedb::True, "utilsmthfe");
03186   cls->add(comp->getInd(), comp);
03187 
03188   sign->release();
03189 
03190   sign = new eyedb::Signature();
03191   argtype = sign->getRettype();
03192   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03193   argtype->setClname("");
03194   sign->setNargs(0);
03195   sign->setTypesCount(0);
03196   comp = new eyedb::FEMethod_C(db, cls, "minute", sign, eyedb::False, eyedb::True, "utilsmthfe");
03197   cls->add(comp->getInd(), comp);
03198 
03199   sign->release();
03200 
03201   sign = new eyedb::Signature();
03202   argtype = sign->getRettype();
03203   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03204   argtype->setClname("");
03205   sign->setNargs(0);
03206   sign->setTypesCount(0);
03207   comp = new eyedb::FEMethod_C(db, cls, "second", sign, eyedb::False, eyedb::True, "utilsmthfe");
03208   cls->add(comp->getInd(), comp);
03209 
03210   sign->release();
03211 
03212   sign = new eyedb::Signature();
03213   argtype = sign->getRettype();
03214   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03215   argtype->setClname("");
03216   sign->setNargs(0);
03217   sign->setTypesCount(0);
03218   comp = new eyedb::FEMethod_C(db, cls, "millisecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
03219   cls->add(comp->getInd(), comp);
03220 
03221   sign->release();
03222 
03223   sign = new eyedb::Signature();
03224   argtype = sign->getRettype();
03225   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03226   argtype->setClname("");
03227   sign->setNargs(0);
03228   sign->setTypesCount(0);
03229   comp = new eyedb::FEMethod_C(db, cls, "microsecond", sign, eyedb::False, eyedb::True, "utilsmthfe");
03230   cls->add(comp->getInd(), comp);
03231 
03232   sign->release();
03233 
03234   sign = new eyedb::Signature();
03235   argtype = sign->getRettype();
03236   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03237   argtype->setClname("");
03238   sign->setNargs(0);
03239   sign->setTypesCount(0);
03240   comp = new eyedb::FEMethod_C(db, cls, "is_zero", sign, eyedb::False, eyedb::True, "utilsmthfe");
03241   cls->add(comp->getInd(), comp);
03242 
03243   sign->release();
03244 
03245   sign = new eyedb::Signature();
03246   argtype = sign->getRettype();
03247   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03248   argtype->setClname("");
03249   sign->setNargs(0);
03250   sign->setTypesCount(0);
03251   comp = new eyedb::FEMethod_C(db, cls, "toString", sign, eyedb::False, eyedb::True, "utilsmthfe");
03252   cls->add(comp->getInd(), comp);
03253 
03254   sign->release();
03255 
03256   sign = new eyedb::Signature();
03257   argtype = sign->getRettype();
03258   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03259   argtype->setClname("time_interval");
03260   sign->setNargs(1);
03261   sign->setTypesCount(1);
03262   argtype = sign->getTypes(0);
03263   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03264   argtype->setClname("time_interval");
03265   comp = new eyedb::FEMethod_C(db, cls, "plus", sign, eyedb::False, eyedb::True, "utilsmthfe");
03266   cls->add(comp->getInd(), comp);
03267 
03268   sign->release();
03269 
03270   sign = new eyedb::Signature();
03271   argtype = sign->getRettype();
03272   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03273   argtype->setClname("time_interval");
03274   sign->setNargs(1);
03275   sign->setTypesCount(1);
03276   argtype = sign->getTypes(0);
03277   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03278   argtype->setClname("time_interval");
03279   comp = new eyedb::FEMethod_C(db, cls, "minus", sign, eyedb::False, eyedb::True, "utilsmthfe");
03280   cls->add(comp->getInd(), comp);
03281 
03282   sign->release();
03283 
03284   sign = new eyedb::Signature();
03285   argtype = sign->getRettype();
03286   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03287   argtype->setClname("time_interval");
03288   sign->setNargs(1);
03289   sign->setTypesCount(1);
03290   argtype = sign->getTypes(0);
03291   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
03292   argtype->setClname("");
03293   comp = new eyedb::FEMethod_C(db, cls, "product", sign, eyedb::False, eyedb::True, "utilsmthfe");
03294   cls->add(comp->getInd(), comp);
03295 
03296   sign->release();
03297 
03298   sign = new eyedb::Signature();
03299   argtype = sign->getRettype();
03300   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03301   argtype->setClname("time_interval");
03302   sign->setNargs(1);
03303   sign->setTypesCount(1);
03304   argtype = sign->getTypes(0);
03305   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
03306   argtype->setClname("");
03307   comp = new eyedb::FEMethod_C(db, cls, "quotient", sign, eyedb::False, eyedb::True, "utilsmthfe");
03308   cls->add(comp->getInd(), comp);
03309 
03310   sign->release();
03311 
03312   sign = new eyedb::Signature();
03313   argtype = sign->getRettype();
03314   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03315   argtype->setClname("");
03316   sign->setNargs(1);
03317   sign->setTypesCount(1);
03318   argtype = sign->getTypes(0);
03319   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03320   argtype->setClname("time_interval");
03321   comp = new eyedb::FEMethod_C(db, cls, "is_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
03322   cls->add(comp->getInd(), comp);
03323 
03324   sign->release();
03325 
03326   sign = new eyedb::Signature();
03327   argtype = sign->getRettype();
03328   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03329   argtype->setClname("");
03330   sign->setNargs(1);
03331   sign->setTypesCount(1);
03332   argtype = sign->getTypes(0);
03333   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03334   argtype->setClname("time_interval");
03335   comp = new eyedb::FEMethod_C(db, cls, "is_greater", sign, eyedb::False, eyedb::True, "utilsmthfe");
03336   cls->add(comp->getInd(), comp);
03337 
03338   sign->release();
03339 
03340   sign = new eyedb::Signature();
03341   argtype = sign->getRettype();
03342   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03343   argtype->setClname("");
03344   sign->setNargs(1);
03345   sign->setTypesCount(1);
03346   argtype = sign->getTypes(0);
03347   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03348   argtype->setClname("time_interval");
03349   comp = new eyedb::FEMethod_C(db, cls, "is_greater_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
03350   cls->add(comp->getInd(), comp);
03351 
03352   sign->release();
03353 
03354   sign = new eyedb::Signature();
03355   argtype = sign->getRettype();
03356   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03357   argtype->setClname("");
03358   sign->setNargs(1);
03359   sign->setTypesCount(1);
03360   argtype = sign->getTypes(0);
03361   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03362   argtype->setClname("time_interval");
03363   comp = new eyedb::FEMethod_C(db, cls, "is_less", sign, eyedb::False, eyedb::True, "utilsmthfe");
03364   cls->add(comp->getInd(), comp);
03365 
03366   sign->release();
03367 
03368   sign = new eyedb::Signature();
03369   argtype = sign->getRettype();
03370   argtype->setType((eyedb::ArgType_Type)8194, eyedb::False);
03371   argtype->setClname("");
03372   sign->setNargs(1);
03373   sign->setTypesCount(1);
03374   argtype = sign->getTypes(0);
03375   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03376   argtype->setClname("time_interval");
03377   comp = new eyedb::FEMethod_C(db, cls, "is_less_or_equal", sign, eyedb::False, eyedb::True, "utilsmthfe");
03378   cls->add(comp->getInd(), comp);
03379 
03380   sign->release();
03381 
03382   sign = new eyedb::Signature();
03383   argtype = sign->getRettype();
03384   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
03385   argtype->setClname("");
03386   sign->setNargs(1);
03387   sign->setTypesCount(1);
03388   argtype = sign->getTypes(0);
03389   argtype->setType((eyedb::ArgType_Type)4100, eyedb::False);
03390   argtype->setClname("");
03391   comp = new eyedb::FEMethod_C(db, cls, "set_usecs", sign, eyedb::False, eyedb::True, "utilsmthfe");
03392   cls->add(comp->getInd(), comp);
03393 
03394   sign->release();
03395 
03396   return eyedb::Success;
03397 }
03398 
03399 static eyedb::Status TimeInterval_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
03400 {
03401   return eyedb::Success;
03402 }
03403 
03404 TimeInterval::TimeInterval(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
03405 {
03406   initialize(_db);
03407 }
03408 
03409 TimeInterval::TimeInterval(const eyedb::Class *_cls, eyedb::Data _idr)
03410 {
03411   setClass((eyedb::Class *)_cls);
03412 
03413   eyedb::Size idr_psize;
03414   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
03415   if (_idr)
03416     idr->setIDR(idr_tsize, _idr);
03417   else
03418     {
03419       idr->setIDR(idr_tsize);
03420       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03421     }
03422   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03423   eyedb::ClassPeer::newObjRealize(getClass(), this);
03424   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03425   userInitialize();
03426 }
03427 
03428 void TimeInterval::initialize(eyedb::Database *_db)
03429 {
03430   setClass((_db ? _db->getSchema()->getClass("time_interval") : TimeInterval_Class));
03431 
03432   eyedb::Size idr_psize;
03433   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
03434   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
03435   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03436   eyedb::ClassPeer::newObjRealize(getClass(), this);
03437   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03438   userInitialize();
03439 }
03440 
03441 TimeInterval::TimeInterval(const TimeInterval& x) : eyedb::Struct(x)
03442 {
03443   userCopy(x);
03444 }
03445 
03446 TimeInterval& TimeInterval::operator=(const TimeInterval& x)
03447 {
03448   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
03449   userCopy(x);
03450   return *this;
03451 }
03452 
03453 TimeInterval::TimeInterval(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
03454 {
03455   setClass((db ? db->getSchema()->getClass("time_interval") : TimeInterval_Class));
03456 
03457   eyedb::Size idr_psize;
03458   getClass()->getIDRObjectSize(&idr_psize);
03459   if (!share)
03460     {
03461       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03462       eyedb::ClassPeer::newObjRealize(getClass(), this);
03463     }
03464 
03465   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03466   userCopy(*x);
03467 }
03468 
03469 TimeInterval::TimeInterval(const TimeInterval *x, eyedb::Bool share) : eyedb::Struct(x, share)
03470 {
03471   setClass((db ? db->getSchema()->getClass("time_interval") : TimeInterval_Class));
03472 
03473   eyedb::Size idr_psize;
03474   getClass()->getIDRObjectSize(&idr_psize);
03475   if (!share)
03476     {
03477       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
03478       eyedb::ClassPeer::newObjRealize(getClass(), this);
03479     }
03480 
03481   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
03482   userCopy(*x);
03483 }
03484 
03485 eyedb::Status TimeInterval::setUsecs(eyedblib::int64 _usecs)
03486 {
03487   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03488   eyedb::Status status;
03489 
03490   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_usecs, 1, 0);
03491   return status;
03492 }
03493 
03494 eyedblib::int64 TimeInterval::getUsecs(eyedb::Bool *isnull, eyedb::Status *rs) const
03495 {
03496   eyedb::gbxAutoGarbSuspender _gbxsusp_;
03497   eyedblib::int64 __tmp = 0;
03498   eyedb::Status s;
03499 
03500   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, 0, isnull);
03501   if (s) {if (rs) *rs = s; return 0;}
03502   return __tmp;
03503 }
03504 
03505 static const eyedb::Attribute **OString_agritems;
03506 static eyedb::Size OString_idr_objsz, OString_idr_psize;
03507 
03508 static eyedb::StructClass *OString_make(eyedb::StructClass *OString_class = 0, eyedb::Schema *m = 0)
03509 {
03510   if (!OString_class)
03511     return new eyedb::StructClass("ostring", (m ? m->getClass("struct") : eyedb::Struct_Class));
03512   eyedb::Attribute *attr[3];
03513   int *dims;
03514 
03515   dims = new int[1];
03516   dims[0] = -1;
03517   attr[2] = new eyedb::Attribute((m ? m->getClass("char") : eyedb::Char_Class), "s", eyedb::False, 1, dims);
03518   delete[] dims;
03519 
03520   OString_class->setAttributes(&attr[2], 1);
03521 
03522   delete attr[2];
03523 
03524   eyedb::ClassPeer::setMType(OString_class, eyedb::Class::System);
03525 
03526   return OString_class;
03527 }
03528 
03529 eyedb::Object *OString_construct_x(const eyedb::Class *cls, eyedb::Data idr)
03530 {
03531   return new OString(cls, idr);
03532 }
03533 
03534 eyedb::Object *OString_construct(const eyedb::Object *o, eyedb::Bool share)
03535 {
03536   return new OString((const eyedb::Struct *)o, share);
03537 }
03538 
03539 static void OString_init_p()
03540 {
03541   OString_Class = OString_make();
03542   constructors_x[class_ind] = OString_construct_x;
03543   constructors[class_ind] = OString_construct;
03544   hash->insert("ostring", class_ind++);
03545 }
03546 
03547 static void OString_init()
03548 {
03549   OString_make(OString_Class);
03550 
03551   OString_agritems = OString_Class->getAttributes();
03552   OString_idr_objsz = OString_Class->getIDRObjectSize(&OString_idr_psize, 0);
03553 
03554   eyedb::ObjectPeer::setUnrealizable(OString_Class, eyedb::True);
03555 }
03556 
03557 static eyedb::Status OString_comp_realize(eyedb::Database *db, eyedb::Class *cls)
03558 {
03559   eyedb::ClassComponent *comp;
03560   eyedb::Status status;
03561   eyedb::Signature *sign;
03562   eyedb::ArgType *argtype;
03563 
03564   sign = new eyedb::Signature();
03565   argtype = sign->getRettype();
03566   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03567   argtype->setClname("ostring");
03568   sign->setNargs(0);
03569   sign->setTypesCount(0);
03570   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03571   cls->add(comp->getInd(), comp);
03572 
03573   sign->release();
03574 
03575   sign = new eyedb::Signature();
03576   argtype = sign->getRettype();
03577   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03578   argtype->setClname("ostring");
03579   sign->setNargs(1);
03580   sign->setTypesCount(1);
03581   argtype = sign->getTypes(0);
03582   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03583   argtype->setClname("");
03584   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03585   cls->add(comp->getInd(), comp);
03586 
03587   sign->release();
03588 
03589   sign = new eyedb::Signature();
03590   argtype = sign->getRettype();
03591   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03592   argtype->setClname("ostring");
03593   sign->setNargs(2);
03594   sign->setTypesCount(2);
03595   argtype = sign->getTypes(0);
03596   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03597   argtype->setClname("");
03598   argtype = sign->getTypes(1);
03599   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03600   argtype->setClname("");
03601   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03602   cls->add(comp->getInd(), comp);
03603 
03604   sign->release();
03605 
03606   sign = new eyedb::Signature();
03607   argtype = sign->getRettype();
03608   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03609   argtype->setClname("ostring");
03610   sign->setNargs(3);
03611   sign->setTypesCount(3);
03612   argtype = sign->getTypes(0);
03613   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03614   argtype->setClname("");
03615   argtype = sign->getTypes(1);
03616   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03617   argtype->setClname("");
03618   argtype = sign->getTypes(2);
03619   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03620   argtype->setClname("");
03621   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03622   cls->add(comp->getInd(), comp);
03623 
03624   sign->release();
03625 
03626   sign = new eyedb::Signature();
03627   argtype = sign->getRettype();
03628   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03629   argtype->setClname("ostring");
03630   sign->setNargs(1);
03631   sign->setTypesCount(1);
03632   argtype = sign->getTypes(0);
03633   argtype->setType((eyedb::ArgType_Type)4105, eyedb::False);
03634   argtype->setClname("ostring");
03635   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03636   cls->add(comp->getInd(), comp);
03637 
03638   sign->release();
03639 
03640   sign = new eyedb::Signature();
03641   argtype = sign->getRettype();
03642   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03643   argtype->setClname("ostring");
03644   sign->setNargs(1);
03645   sign->setTypesCount(1);
03646   argtype = sign->getTypes(0);
03647   argtype->setType((eyedb::ArgType_Type)4102, eyedb::False);
03648   argtype->setClname("");
03649   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03650   cls->add(comp->getInd(), comp);
03651 
03652   sign->release();
03653 
03654   sign = new eyedb::Signature();
03655   argtype = sign->getRettype();
03656   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03657   argtype->setClname("ostring");
03658   sign->setNargs(1);
03659   sign->setTypesCount(1);
03660   argtype = sign->getTypes(0);
03661   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03662   argtype->setClname("");
03663   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03664   cls->add(comp->getInd(), comp);
03665 
03666   sign->release();
03667 
03668   sign = new eyedb::Signature();
03669   argtype = sign->getRettype();
03670   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03671   argtype->setClname("ostring");
03672   sign->setNargs(1);
03673   sign->setTypesCount(1);
03674   argtype = sign->getTypes(0);
03675   argtype->setType((eyedb::ArgType_Type)4103, eyedb::False);
03676   argtype->setClname("");
03677   comp = new eyedb::FEMethod_C(db, cls, "ostring", sign, eyedb::True, eyedb::True, "utilsmthfe");
03678   cls->add(comp->getInd(), comp);
03679 
03680   sign->release();
03681 
03682   sign = new eyedb::Signature();
03683   argtype = sign->getRettype();
03684   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
03685   argtype->setClname("");
03686   sign->setNargs(1);
03687   sign->setTypesCount(1);
03688   argtype = sign->getTypes(0);
03689   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03690   argtype->setClname("");
03691   comp = new eyedb::FEMethod_C(db, cls, "strlen", sign, eyedb::True, eyedb::True, "utilsmthfe");
03692   cls->add(comp->getInd(), comp);
03693 
03694   sign->release();
03695 
03696   sign = new eyedb::Signature();
03697   argtype = sign->getRettype();
03698   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
03699   argtype->setClname("");
03700   sign->setNargs(2);
03701   sign->setTypesCount(2);
03702   argtype = sign->getTypes(0);
03703   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03704   argtype->setClname("");
03705   argtype = sign->getTypes(1);
03706   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03707   argtype->setClname("");
03708   comp = new eyedb::FEMethod_C(db, cls, "strcmp", sign, eyedb::True, eyedb::True, "utilsmthfe");
03709   cls->add(comp->getInd(), comp);
03710 
03711   sign->release();
03712 
03713   sign = new eyedb::Signature();
03714   argtype = sign->getRettype();
03715   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
03716   argtype->setClname("");
03717   sign->setNargs(2);
03718   sign->setTypesCount(2);
03719   argtype = sign->getTypes(0);
03720   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03721   argtype->setClname("");
03722   argtype = sign->getTypes(1);
03723   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03724   argtype->setClname("");
03725   comp = new eyedb::FEMethod_C(db, cls, "strstr", sign, eyedb::True, eyedb::True, "utilsmthfe");
03726   cls->add(comp->getInd(), comp);
03727 
03728   sign->release();
03729 
03730   sign = new eyedb::Signature();
03731   argtype = sign->getRettype();
03732   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03733   argtype->setClname("");
03734   sign->setNargs(3);
03735   sign->setTypesCount(3);
03736   argtype = sign->getTypes(0);
03737   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03738   argtype->setClname("");
03739   argtype = sign->getTypes(1);
03740   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03741   argtype->setClname("");
03742   argtype = sign->getTypes(2);
03743   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03744   argtype->setClname("");
03745   comp = new eyedb::FEMethod_C(db, cls, "substr", sign, eyedb::True, eyedb::True, "utilsmthfe");
03746   cls->add(comp->getInd(), comp);
03747 
03748   sign->release();
03749 
03750   sign = new eyedb::Signature();
03751   argtype = sign->getRettype();
03752   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03753   argtype->setClname("");
03754   sign->setNargs(1);
03755   sign->setTypesCount(1);
03756   argtype = sign->getTypes(0);
03757   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03758   argtype->setClname("");
03759   comp = new eyedb::FEMethod_C(db, cls, "toLower", sign, eyedb::True, eyedb::True, "utilsmthfe");
03760   cls->add(comp->getInd(), comp);
03761 
03762   sign->release();
03763 
03764   sign = new eyedb::Signature();
03765   argtype = sign->getRettype();
03766   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03767   argtype->setClname("");
03768   sign->setNargs(1);
03769   sign->setTypesCount(1);
03770   argtype = sign->getTypes(0);
03771   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03772   argtype->setClname("");
03773   comp = new eyedb::FEMethod_C(db, cls, "toUpper", sign, eyedb::True, eyedb::True, "utilsmthfe");
03774   cls->add(comp->getInd(), comp);
03775 
03776   sign->release();
03777 
03778   sign = new eyedb::Signature();
03779   argtype = sign->getRettype();
03780   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03781   argtype->setClname("");
03782   sign->setNargs(1);
03783   sign->setTypesCount(1);
03784   argtype = sign->getTypes(0);
03785   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03786   argtype->setClname("");
03787   comp = new eyedb::FEMethod_C(db, cls, "rtrim", sign, eyedb::True, eyedb::True, "utilsmthfe");
03788   cls->add(comp->getInd(), comp);
03789 
03790   sign->release();
03791 
03792   sign = new eyedb::Signature();
03793   argtype = sign->getRettype();
03794   argtype->setType((eyedb::ArgType_Type)8197, eyedb::False);
03795   argtype->setClname("");
03796   sign->setNargs(1);
03797   sign->setTypesCount(1);
03798   argtype = sign->getTypes(0);
03799   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03800   argtype->setClname("");
03801   comp = new eyedb::FEMethod_C(db, cls, "ltrim", sign, eyedb::True, eyedb::True, "utilsmthfe");
03802   cls->add(comp->getInd(), comp);
03803 
03804   sign->release();
03805 
03806   sign = new eyedb::Signature();
03807   argtype = sign->getRettype();
03808   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03809   argtype->setClname("ostring");
03810   sign->setNargs(2);
03811   sign->setTypesCount(2);
03812   argtype = sign->getTypes(0);
03813   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03814   argtype->setClname("");
03815   argtype = sign->getTypes(1);
03816   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03817   argtype->setClname("");
03818   comp = new eyedb::FEMethod_C(db, cls, "concat", sign, eyedb::True, eyedb::True, "utilsmthfe");
03819   cls->add(comp->getInd(), comp);
03820 
03821   sign->release();
03822 
03823   sign = new eyedb::Signature();
03824   argtype = sign->getRettype();
03825   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
03826   argtype->setClname("");
03827   sign->setNargs(2);
03828   sign->setTypesCount(2);
03829   argtype = sign->getTypes(0);
03830   argtype->setType((eyedb::ArgType_Type)4102, eyedb::False);
03831   argtype->setClname("");
03832   argtype = sign->getTypes(1);
03833   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03834   argtype->setClname("");
03835   comp = new eyedb::BEMethod_OQL(db, cls, "setChar", sign, eyedb::False, eyedb::True, "{     this.s[offset] := c;   }");
03836   cls->add(comp->getInd(), comp);
03837 
03838   sign->release();
03839 
03840   sign = new eyedb::Signature();
03841   argtype = sign->getRettype();
03842   argtype->setType((eyedb::ArgType_Type)8198, eyedb::False);
03843   argtype->setClname("");
03844   sign->setNargs(1);
03845   sign->setTypesCount(1);
03846   argtype = sign->getTypes(0);
03847   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03848   argtype->setClname("");
03849   comp = new eyedb::BEMethod_OQL(db, cls, "getChar", sign, eyedb::False, eyedb::True, "{     return this.s[offset];   }");
03850   cls->add(comp->getInd(), comp);
03851 
03852   sign->release();
03853 
03854   sign = new eyedb::Signature();
03855   argtype = sign->getRettype();
03856   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03857   argtype->setClname("ostring");
03858   sign->setNargs(1);
03859   sign->setTypesCount(1);
03860   argtype = sign->getTypes(0);
03861   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03862   argtype->setClname("");
03863   comp = new eyedb::FEMethod_C(db, cls, "append", sign, eyedb::False, eyedb::True, "utilsmthfe");
03864   cls->add(comp->getInd(), comp);
03865 
03866   sign->release();
03867 
03868   sign = new eyedb::Signature();
03869   argtype = sign->getRettype();
03870   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03871   argtype->setClname("ostring");
03872   sign->setNargs(2);
03873   sign->setTypesCount(2);
03874   argtype = sign->getTypes(0);
03875   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03876   argtype->setClname("");
03877   argtype = sign->getTypes(1);
03878   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03879   argtype->setClname("");
03880   comp = new eyedb::FEMethod_C(db, cls, "append", sign, eyedb::False, eyedb::True, "utilsmthfe");
03881   cls->add(comp->getInd(), comp);
03882 
03883   sign->release();
03884 
03885   sign = new eyedb::Signature();
03886   argtype = sign->getRettype();
03887   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03888   argtype->setClname("ostring");
03889   sign->setNargs(3);
03890   sign->setTypesCount(3);
03891   argtype = sign->getTypes(0);
03892   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03893   argtype->setClname("");
03894   argtype = sign->getTypes(1);
03895   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03896   argtype->setClname("");
03897   argtype = sign->getTypes(2);
03898   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03899   argtype->setClname("");
03900   comp = new eyedb::FEMethod_C(db, cls, "append", sign, eyedb::False, eyedb::True, "utilsmthfe");
03901   cls->add(comp->getInd(), comp);
03902 
03903   sign->release();
03904 
03905   sign = new eyedb::Signature();
03906   argtype = sign->getRettype();
03907   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03908   argtype->setClname("ostring");
03909   sign->setNargs(1);
03910   sign->setTypesCount(1);
03911   argtype = sign->getTypes(0);
03912   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03913   argtype->setClname("");
03914   comp = new eyedb::FEMethod_C(db, cls, "prepend", sign, eyedb::False, eyedb::True, "utilsmthfe");
03915   cls->add(comp->getInd(), comp);
03916 
03917   sign->release();
03918 
03919   sign = new eyedb::Signature();
03920   argtype = sign->getRettype();
03921   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03922   argtype->setClname("ostring");
03923   sign->setNargs(2);
03924   sign->setTypesCount(2);
03925   argtype = sign->getTypes(0);
03926   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03927   argtype->setClname("");
03928   argtype = sign->getTypes(1);
03929   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03930   argtype->setClname("");
03931   comp = new eyedb::FEMethod_C(db, cls, "prepend", sign, eyedb::False, eyedb::True, "utilsmthfe");
03932   cls->add(comp->getInd(), comp);
03933 
03934   sign->release();
03935 
03936   sign = new eyedb::Signature();
03937   argtype = sign->getRettype();
03938   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03939   argtype->setClname("ostring");
03940   sign->setNargs(3);
03941   sign->setTypesCount(3);
03942   argtype = sign->getTypes(0);
03943   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03944   argtype->setClname("");
03945   argtype = sign->getTypes(1);
03946   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03947   argtype->setClname("");
03948   argtype = sign->getTypes(2);
03949   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03950   argtype->setClname("");
03951   comp = new eyedb::FEMethod_C(db, cls, "prepend", sign, eyedb::False, eyedb::True, "utilsmthfe");
03952   cls->add(comp->getInd(), comp);
03953 
03954   sign->release();
03955 
03956   sign = new eyedb::Signature();
03957   argtype = sign->getRettype();
03958   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03959   argtype->setClname("ostring");
03960   sign->setNargs(2);
03961   sign->setTypesCount(2);
03962   argtype = sign->getTypes(0);
03963   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03964   argtype->setClname("");
03965   argtype = sign->getTypes(1);
03966   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03967   argtype->setClname("");
03968   comp = new eyedb::FEMethod_C(db, cls, "insert", sign, eyedb::False, eyedb::True, "utilsmthfe");
03969   cls->add(comp->getInd(), comp);
03970 
03971   sign->release();
03972 
03973   sign = new eyedb::Signature();
03974   argtype = sign->getRettype();
03975   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03976   argtype->setClname("ostring");
03977   sign->setNargs(3);
03978   sign->setTypesCount(3);
03979   argtype = sign->getTypes(0);
03980   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03981   argtype->setClname("");
03982   argtype = sign->getTypes(1);
03983   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
03984   argtype->setClname("");
03985   argtype = sign->getTypes(2);
03986   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
03987   argtype->setClname("");
03988   comp = new eyedb::FEMethod_C(db, cls, "insert", sign, eyedb::False, eyedb::True, "utilsmthfe");
03989   cls->add(comp->getInd(), comp);
03990 
03991   sign->release();
03992 
03993   sign = new eyedb::Signature();
03994   argtype = sign->getRettype();
03995   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
03996   argtype->setClname("ostring");
03997   sign->setNargs(4);
03998   sign->setTypesCount(4);
03999   argtype = sign->getTypes(0);
04000   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04001   argtype->setClname("");
04002   argtype = sign->getTypes(1);
04003   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04004   argtype->setClname("");
04005   argtype = sign->getTypes(2);
04006   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04007   argtype->setClname("");
04008   argtype = sign->getTypes(3);
04009   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04010   argtype->setClname("");
04011   comp = new eyedb::FEMethod_C(db, cls, "insert", sign, eyedb::False, eyedb::True, "utilsmthfe");
04012   cls->add(comp->getInd(), comp);
04013 
04014   sign->release();
04015 
04016   sign = new eyedb::Signature();
04017   argtype = sign->getRettype();
04018   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04019   argtype->setClname("");
04020   sign->setNargs(1);
04021   sign->setTypesCount(1);
04022   argtype = sign->getTypes(0);
04023   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04024   argtype->setClname("");
04025   comp = new eyedb::FEMethod_C(db, cls, "first", sign, eyedb::False, eyedb::True, "utilsmthfe");
04026   cls->add(comp->getInd(), comp);
04027 
04028   sign->release();
04029 
04030   sign = new eyedb::Signature();
04031   argtype = sign->getRettype();
04032   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04033   argtype->setClname("");
04034   sign->setNargs(1);
04035   sign->setTypesCount(1);
04036   argtype = sign->getTypes(0);
04037   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04038   argtype->setClname("");
04039   comp = new eyedb::FEMethod_C(db, cls, "last", sign, eyedb::False, eyedb::True, "utilsmthfe");
04040   cls->add(comp->getInd(), comp);
04041 
04042   sign->release();
04043 
04044   sign = new eyedb::Signature();
04045   argtype = sign->getRettype();
04046   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04047   argtype->setClname("");
04048   sign->setNargs(2);
04049   sign->setTypesCount(2);
04050   argtype = sign->getTypes(0);
04051   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04052   argtype->setClname("");
04053   argtype = sign->getTypes(1);
04054   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04055   argtype->setClname("");
04056   comp = new eyedb::FEMethod_C(db, cls, "find", sign, eyedb::False, eyedb::True, "utilsmthfe");
04057   cls->add(comp->getInd(), comp);
04058 
04059   sign->release();
04060 
04061   sign = new eyedb::Signature();
04062   argtype = sign->getRettype();
04063   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04064   argtype->setClname("ostring");
04065   sign->setNargs(2);
04066   sign->setTypesCount(2);
04067   argtype = sign->getTypes(0);
04068   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04069   argtype->setClname("");
04070   argtype = sign->getTypes(1);
04071   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04072   argtype->setClname("");
04073   comp = new eyedb::FEMethod_C(db, cls, "substr", sign, eyedb::False, eyedb::True, "utilsmthfe");
04074   cls->add(comp->getInd(), comp);
04075 
04076   sign->release();
04077 
04078   sign = new eyedb::Signature();
04079   argtype = sign->getRettype();
04080   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04081   argtype->setClname("ostring");
04082   sign->setNargs(2);
04083   sign->setTypesCount(2);
04084   argtype = sign->getTypes(0);
04085   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04086   argtype->setClname("");
04087   argtype = sign->getTypes(1);
04088   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04089   argtype->setClname("");
04090   comp = new eyedb::FEMethod_C(db, cls, "substr", sign, eyedb::False, eyedb::True, "utilsmthfe");
04091   cls->add(comp->getInd(), comp);
04092 
04093   sign->release();
04094 
04095   sign = new eyedb::Signature();
04096   argtype = sign->getRettype();
04097   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04098   argtype->setClname("ostring");
04099   sign->setNargs(2);
04100   sign->setTypesCount(2);
04101   argtype = sign->getTypes(0);
04102   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04103   argtype->setClname("");
04104   argtype = sign->getTypes(1);
04105   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04106   argtype->setClname("");
04107   comp = new eyedb::FEMethod_C(db, cls, "erase", sign, eyedb::False, eyedb::True, "utilsmthfe");
04108   cls->add(comp->getInd(), comp);
04109 
04110   sign->release();
04111 
04112   sign = new eyedb::Signature();
04113   argtype = sign->getRettype();
04114   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04115   argtype->setClname("ostring");
04116   sign->setNargs(3);
04117   sign->setTypesCount(3);
04118   argtype = sign->getTypes(0);
04119   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04120   argtype->setClname("");
04121   argtype = sign->getTypes(1);
04122   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04123   argtype->setClname("");
04124   argtype = sign->getTypes(2);
04125   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04126   argtype->setClname("");
04127   comp = new eyedb::FEMethod_C(db, cls, "replace", sign, eyedb::False, eyedb::True, "utilsmthfe");
04128   cls->add(comp->getInd(), comp);
04129 
04130   sign->release();
04131 
04132   sign = new eyedb::Signature();
04133   argtype = sign->getRettype();
04134   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04135   argtype->setClname("ostring");
04136   sign->setNargs(4);
04137   sign->setTypesCount(4);
04138   argtype = sign->getTypes(0);
04139   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04140   argtype->setClname("");
04141   argtype = sign->getTypes(1);
04142   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04143   argtype->setClname("");
04144   argtype = sign->getTypes(2);
04145   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04146   argtype->setClname("");
04147   argtype = sign->getTypes(3);
04148   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04149   argtype->setClname("");
04150   comp = new eyedb::FEMethod_C(db, cls, "replace", sign, eyedb::False, eyedb::True, "utilsmthfe");
04151   cls->add(comp->getInd(), comp);
04152 
04153   sign->release();
04154 
04155   sign = new eyedb::Signature();
04156   argtype = sign->getRettype();
04157   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04158   argtype->setClname("ostring");
04159   sign->setNargs(5);
04160   sign->setTypesCount(5);
04161   argtype = sign->getTypes(0);
04162   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04163   argtype->setClname("");
04164   argtype = sign->getTypes(1);
04165   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04166   argtype->setClname("");
04167   argtype = sign->getTypes(2);
04168   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04169   argtype->setClname("");
04170   argtype = sign->getTypes(3);
04171   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04172   argtype->setClname("");
04173   argtype = sign->getTypes(4);
04174   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04175   argtype->setClname("");
04176   comp = new eyedb::FEMethod_C(db, cls, "replace", sign, eyedb::False, eyedb::True, "utilsmthfe");
04177   cls->add(comp->getInd(), comp);
04178 
04179   sign->release();
04180 
04181   sign = new eyedb::Signature();
04182   argtype = sign->getRettype();
04183   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04184   argtype->setClname("ostring");
04185   sign->setNargs(2);
04186   sign->setTypesCount(2);
04187   argtype = sign->getTypes(0);
04188   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04189   argtype->setClname("");
04190   argtype = sign->getTypes(1);
04191   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04192   argtype->setClname("");
04193   comp = new eyedb::FEMethod_C(db, cls, "replace", sign, eyedb::False, eyedb::True, "utilsmthfe");
04194   cls->add(comp->getInd(), comp);
04195 
04196   sign->release();
04197 
04198   sign = new eyedb::Signature();
04199   argtype = sign->getRettype();
04200   argtype->setType((eyedb::ArgType_Type)8193, eyedb::False);
04201   argtype->setClname("");
04202   sign->setNargs(0);
04203   sign->setTypesCount(0);
04204   comp = new eyedb::FEMethod_C(db, cls, "reset", sign, eyedb::False, eyedb::True, "utilsmthfe");
04205   cls->add(comp->getInd(), comp);
04206 
04207   sign->release();
04208 
04209   sign = new eyedb::Signature();
04210   argtype = sign->getRettype();
04211   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04212   argtype->setClname("ostring");
04213   sign->setNargs(1);
04214   sign->setTypesCount(1);
04215   argtype = sign->getTypes(0);
04216   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04217   argtype->setClname("");
04218   comp = new eyedb::BEMethod_OQL(db, cls, "assign", sign, eyedb::False, eyedb::True, "{         this->s := s;         return this;   }");
04219   cls->add(comp->getInd(), comp);
04220 
04221   sign->release();
04222 
04223   sign = new eyedb::Signature();
04224   argtype = sign->getRettype();
04225   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04226   argtype->setClname("ostring");
04227   sign->setNargs(2);
04228   sign->setTypesCount(2);
04229   argtype = sign->getTypes(0);
04230   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04231   argtype->setClname("");
04232   argtype = sign->getTypes(1);
04233   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04234   argtype->setClname("");
04235   comp = new eyedb::FEMethod_C(db, cls, "assign", sign, eyedb::False, eyedb::True, "utilsmthfe");
04236   cls->add(comp->getInd(), comp);
04237 
04238   sign->release();
04239 
04240   sign = new eyedb::Signature();
04241   argtype = sign->getRettype();
04242   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04243   argtype->setClname("ostring");
04244   sign->setNargs(3);
04245   sign->setTypesCount(3);
04246   argtype = sign->getTypes(0);
04247   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04248   argtype->setClname("");
04249   argtype = sign->getTypes(1);
04250   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04251   argtype->setClname("");
04252   argtype = sign->getTypes(2);
04253   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04254   argtype->setClname("");
04255   comp = new eyedb::FEMethod_C(db, cls, "assign", sign, eyedb::False, eyedb::True, "utilsmthfe");
04256   cls->add(comp->getInd(), comp);
04257 
04258   sign->release();
04259 
04260   sign = new eyedb::Signature();
04261   argtype = sign->getRettype();
04262   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04263   argtype->setClname("ostring");
04264   sign->setNargs(0);
04265   sign->setTypesCount(0);
04266   comp = new eyedb::FEMethod_C(db, cls, "toLower", sign, eyedb::False, eyedb::True, "utilsmthfe");
04267   cls->add(comp->getInd(), comp);
04268 
04269   sign->release();
04270 
04271   sign = new eyedb::Signature();
04272   argtype = sign->getRettype();
04273   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04274   argtype->setClname("ostring");
04275   sign->setNargs(0);
04276   sign->setTypesCount(0);
04277   comp = new eyedb::FEMethod_C(db, cls, "toUpper", sign, eyedb::False, eyedb::True, "utilsmthfe");
04278   cls->add(comp->getInd(), comp);
04279 
04280   sign->release();
04281 
04282   sign = new eyedb::Signature();
04283   argtype = sign->getRettype();
04284   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04285   argtype->setClname("ostring");
04286   sign->setNargs(0);
04287   sign->setTypesCount(0);
04288   comp = new eyedb::FEMethod_C(db, cls, "rtrim", sign, eyedb::False, eyedb::True, "utilsmthfe");
04289   cls->add(comp->getInd(), comp);
04290 
04291   sign->release();
04292 
04293   sign = new eyedb::Signature();
04294   argtype = sign->getRettype();
04295   argtype->setType((eyedb::ArgType_Type)8201, eyedb::False);
04296   argtype->setClname("ostring");
04297   sign->setNargs(0);
04298   sign->setTypesCount(0);
04299   comp = new eyedb::FEMethod_C(db, cls, "ltrim", sign, eyedb::False, eyedb::True, "utilsmthfe");
04300   cls->add(comp->getInd(), comp);
04301 
04302   sign->release();
04303 
04304   sign = new eyedb::Signature();
04305   argtype = sign->getRettype();
04306   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04307   argtype->setClname("");
04308   sign->setNargs(1);
04309   sign->setTypesCount(1);
04310   argtype = sign->getTypes(0);
04311   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04312   argtype->setClname("");
04313   comp = new eyedb::FEMethod_C(db, cls, "compare", sign, eyedb::False, eyedb::True, "utilsmthfe");
04314   cls->add(comp->getInd(), comp);
04315 
04316   sign->release();
04317 
04318   sign = new eyedb::Signature();
04319   argtype = sign->getRettype();
04320   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04321   argtype->setClname("");
04322   sign->setNargs(2);
04323   sign->setTypesCount(2);
04324   argtype = sign->getTypes(0);
04325   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04326   argtype->setClname("");
04327   argtype = sign->getTypes(1);
04328   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04329   argtype->setClname("");
04330   comp = new eyedb::FEMethod_C(db, cls, "compare", sign, eyedb::False, eyedb::True, "utilsmthfe");
04331   cls->add(comp->getInd(), comp);
04332 
04333   sign->release();
04334 
04335   sign = new eyedb::Signature();
04336   argtype = sign->getRettype();
04337   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04338   argtype->setClname("");
04339   sign->setNargs(3);
04340   sign->setTypesCount(3);
04341   argtype = sign->getTypes(0);
04342   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04343   argtype->setClname("");
04344   argtype = sign->getTypes(1);
04345   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04346   argtype->setClname("");
04347   argtype = sign->getTypes(2);
04348   argtype->setType((eyedb::ArgType_Type)4099, eyedb::False);
04349   argtype->setClname("");
04350   comp = new eyedb::FEMethod_C(db, cls, "compare", sign, eyedb::False, eyedb::True, "utilsmthfe");
04351   cls->add(comp->getInd(), comp);
04352 
04353   sign->release();
04354 
04355   sign = new eyedb::Signature();
04356   argtype = sign->getRettype();
04357   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04358   argtype->setClname("");
04359   sign->setNargs(0);
04360   sign->setTypesCount(0);
04361   comp = new eyedb::FEMethod_C(db, cls, "is_null", sign, eyedb::False, eyedb::True, "utilsmthfe");
04362   cls->add(comp->getInd(), comp);
04363 
04364   sign->release();
04365 
04366   sign = new eyedb::Signature();
04367   argtype = sign->getRettype();
04368   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04369   argtype->setClname("");
04370   sign->setNargs(1);
04371   sign->setTypesCount(1);
04372   argtype = sign->getTypes(0);
04373   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04374   argtype->setClname("");
04375   comp = new eyedb::FEMethod_C(db, cls, "match", sign, eyedb::False, eyedb::True, "utilsmthfe");
04376   cls->add(comp->getInd(), comp);
04377 
04378   sign->release();
04379 
04380   sign = new eyedb::Signature();
04381   argtype = sign->getRettype();
04382   argtype->setType((eyedb::ArgType_Type)8195, eyedb::False);
04383   argtype->setClname("");
04384   sign->setNargs(0);
04385   sign->setTypesCount(0);
04386   comp = new eyedb::FEMethod_C(db, cls, "length", sign, eyedb::False, eyedb::True, "utilsmthfe");
04387   cls->add(comp->getInd(), comp);
04388 
04389   sign->release();
04390 
04391   sign = new eyedb::Signature();
04392   argtype = sign->getRettype();
04393   argtype->setType((eyedb::ArgType_Type)8453, eyedb::False);
04394   argtype->setClname("");
04395   sign->setNargs(1);
04396   sign->setTypesCount(1);
04397   argtype = sign->getTypes(0);
04398   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04399   argtype->setClname("");
04400   comp = new eyedb::FEMethod_C(db, cls, "split", sign, eyedb::False, eyedb::True, "utilsmthfe");
04401   cls->add(comp->getInd(), comp);
04402 
04403   sign->release();
04404 
04405   sign = new eyedb::Signature();
04406   argtype = sign->getRettype();
04407   argtype->setType((eyedb::ArgType_Type)8453, eyedb::False);
04408   argtype->setClname("");
04409   sign->setNargs(1);
04410   sign->setTypesCount(1);
04411   argtype = sign->getTypes(0);
04412   argtype->setType((eyedb::ArgType_Type)4101, eyedb::False);
04413   argtype->setClname("");
04414   comp = new eyedb::FEMethod_C(db, cls, "regexp_split", sign, eyedb::False, eyedb::True, "utilsmthfe");
04415   cls->add(comp->getInd(), comp);
04416 
04417   sign->release();
04418 
04419   return eyedb::Success;
04420 }
04421 
04422 static eyedb::Status OString_attrcomp_realize(eyedb::Database *db, eyedb::Class *cls)
04423 {
04424   return eyedb::Success;
04425 }
04426 
04427 OString::OString(eyedb::Database *_db, const eyedb::Dataspace *_dataspace) : eyedb::Struct(_db, _dataspace)
04428 {
04429   initialize(_db);
04430 }
04431 
04432 OString::OString(const eyedb::Class *_cls, eyedb::Data _idr)
04433 {
04434   setClass((eyedb::Class *)_cls);
04435 
04436   eyedb::Size idr_psize;
04437   eyedb::Size idr_tsize = getClass()->getIDRObjectSize(&idr_psize);
04438   if (_idr)
04439     idr->setIDR(idr_tsize, _idr);
04440   else
04441     {
04442       idr->setIDR(idr_tsize);
04443       memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04444     }
04445   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04446   eyedb::ClassPeer::newObjRealize(getClass(), this);
04447   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04448   userInitialize();
04449 }
04450 
04451 void OString::initialize(eyedb::Database *_db)
04452 {
04453   setClass((_db ? _db->getSchema()->getClass("ostring") : OString_Class));
04454 
04455   eyedb::Size idr_psize;
04456   idr->setIDR(getClass()->getIDRObjectSize(&idr_psize));
04457   memset(idr->getIDR() + IDB_OBJ_HEAD_SIZE, 0, idr->getSize() - IDB_OBJ_HEAD_SIZE);
04458   headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04459   eyedb::ClassPeer::newObjRealize(getClass(), this);
04460   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04461   userInitialize();
04462 }
04463 
04464 OString::OString(const OString& x) : eyedb::Struct(x)
04465 {
04466   userCopy(x);
04467 }
04468 
04469 OString& OString::operator=(const OString& x)
04470 {
04471   *(eyedb::Struct *)this = eyedb::Struct::operator=((const eyedb::Struct &)x);
04472   userCopy(x);
04473   return *this;
04474 }
04475 
04476 OString::OString(const eyedb::Struct *x, eyedb::Bool share) : eyedb::Struct(x, share)
04477 {
04478   setClass((db ? db->getSchema()->getClass("ostring") : OString_Class));
04479 
04480   eyedb::Size idr_psize;
04481   getClass()->getIDRObjectSize(&idr_psize);
04482   if (!share)
04483     {
04484       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04485       eyedb::ClassPeer::newObjRealize(getClass(), this);
04486     }
04487 
04488   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04489   userCopy(*x);
04490 }
04491 
04492 OString::OString(const OString *x, eyedb::Bool share) : eyedb::Struct(x, share)
04493 {
04494   setClass((db ? db->getSchema()->getClass("ostring") : OString_Class));
04495 
04496   eyedb::Size idr_psize;
04497   getClass()->getIDRObjectSize(&idr_psize);
04498   if (!share)
04499     {
04500       headerCode(eyedb::_Struct_Type, idr_psize, IDB_XINFO_LOCAL_OBJ);
04501       eyedb::ClassPeer::newObjRealize(getClass(), this);
04502     }
04503 
04504   eyedb::ObjectPeer::setGRTObject(this, eyedb::True);
04505   userCopy(*x);
04506 }
04507 
04508 eyedb::Status OString::setS(const std::string &_s)
04509 {
04510   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04511   eyedb::Status status;
04512   eyedb::Size size;
04513   eyedb::Size len = _s.size() + 1;
04514 
04515   status = getClass()->getAttributes()[2]->getSize(this, size);
04516   if (status)
04517     return status;
04518 
04519   if (size != len)
04520     status = getClass()->getAttributes()[2]->setSize(this, len);
04521   if (status)
04522     return status;
04523 
04524   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)_s.c_str(), len, 0);
04525   return status;
04526 
04527 }
04528 
04529 eyedb::Status OString::setS(unsigned int a0, char _s)
04530 {
04531   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04532   eyedb::Status status;
04533   eyedb::Size from = a0;
04534 
04535   eyedb::Size size;
04536   status = getClass()->getAttributes()[2]->getSize(this, size);
04537   if (status)
04538     return status;
04539 
04540   if (size <= from)
04541     status = getClass()->getAttributes()[2]->setSize(this, from+1);
04542   if (status)
04543     return status;
04544 
04545   status = getClass()->getAttributes()[2]->setValue(this, (eyedb::Data)&_s, 1, from);
04546   return status;
04547 }
04548 
04549 std::string OString::getS(eyedb::Bool *isnull, eyedb::Status *rs) const
04550 {
04551   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04552   eyedb::Data data;
04553   eyedb::Status s;
04554 
04555   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&data, eyedb::Attribute::directAccess, 0, isnull);
04556   if (s) {if (rs) *rs = s; return 0;}
04557   if (!data) data = nulldata;
04558   return (const char *)data;
04559 }
04560 
04561 char OString::getS(unsigned int a0, eyedb::Bool *isnull, eyedb::Status *rs) const
04562 {
04563   eyedb::gbxAutoGarbSuspender _gbxsusp_;
04564   char __tmp = 0;
04565   eyedb::Status s;
04566   eyedb::Size from = a0;
04567 
04568   s = getClass()->getAttributes()[2]->getValue(this, (eyedb::Data *)&__tmp, 1, from, isnull);
04569   if (s) {if (rs) *rs = s; return 0;}
04570   return __tmp;
04571 }
04572 
04573 static const char not_exit_msg[] = "class does not exist";
04574 static const char differ_msg[] = "class differs in database and in runtime environment";
04575 
04576 void utilsInit(void)
04577 {
04578   if (hash) return;
04579 
04580   hash = new eyedb::GenHashTable(0, 104);
04581 
04582   ImageType_init_p();
04583   Month_init_p();
04584   Weekday_init_p();
04585   Image_init_p();
04586   CURL_init_p();
04587   WConfig_init_p();
04588   Date_init_p();
04589   Time_init_p();
04590   TimeStamp_init_p();
04591   TimeInterval_init_p();
04592   OString_init_p();
04593   ImageType_init();
04594   Month_init();
04595   Weekday_init();
04596   Image_init();
04597   CURL_init();
04598   WConfig_init();
04599   Date_init();
04600   Time_init();
04601   TimeStamp_init();
04602   TimeInterval_init();
04603   OString_init();
04604 }
04605 
04606 void utilsRelease(void)
04607 {
04608   if (!hash) return;
04609 
04610   delete hash;
04611   hash = 0;
04612 
04613   ImageType_Class->release();
04614   Month_Class->release();
04615   Weekday_Class->release();
04616   Image_Class->release();
04617   CURL_Class->release();
04618   WConfig_Class->release();
04619   Date_Class->release();
04620   Time_Class->release();
04621   TimeStamp_Class->release();
04622   TimeInterval_Class->release();
04623   OString_Class->release();
04624 }
04625 
04626 static eyedb::Status
04627 utilsSchemaUpdate(eyedb::Schema *m, eyedb::Database *db)
04628 {
04629   m->setName("eyedb");
04630   eyedb::Status status;
04631   eyedb::EnumClass *ImageType_class = ImageType_make(0, m);
04632   if (!m->getClass("image_type"))
04633     {
04634       status = m->addClass(ImageType_class);
04635       if (status)
04636         return status;
04637     }
04638   eyedb::EnumClass *Month_class = Month_make(0, m);
04639   if (!m->getClass("month"))
04640     {
04641       status = m->addClass(Month_class);
04642       if (status)
04643         return status;
04644     }
04645   eyedb::EnumClass *Weekday_class = Weekday_make(0, m);
04646   if (!m->getClass("weekday"))
04647     {
04648       status = m->addClass(Weekday_class);
04649       if (status)
04650         return status;
04651     }
04652   eyedb::StructClass *Image_class = Image_make(0, m);
04653   if (!m->getClass("image"))
04654     {
04655       status = m->addClass(Image_class);
04656       if (status)
04657         return status;
04658     }
04659   eyedb::StructClass *CURL_class = CURL_make(0, m);
04660   if (!m->getClass("URL"))
04661     {
04662       status = m->addClass(CURL_class);
04663       if (status)
04664         return status;
04665     }
04666   eyedb::StructClass *WConfig_class = WConfig_make(0, m);
04667   if (!m->getClass("w_config"))
04668     {
04669       status = m->addClass(WConfig_class);
04670       if (status)
04671         return status;
04672     }
04673   eyedb::StructClass *Date_class = Date_make(0, m);
04674   if (!m->getClass("date"))
04675     {
04676       status = m->addClass(Date_class);
04677       if (status)
04678         return status;
04679     }
04680   eyedb::StructClass *Time_class = Time_make(0, m);
04681   if (!m->getClass("time"))
04682     {
04683       status = m->addClass(Time_class);
04684       if (status)
04685         return status;
04686     }
04687   eyedb::StructClass *TimeStamp_class = TimeStamp_make(0, m);
04688   if (!m->getClass("time_stamp"))
04689     {
04690       status = m->addClass(TimeStamp_class);
04691       if (status)
04692         return status;
04693     }
04694   eyedb::StructClass *TimeInterval_class = TimeInterval_make(0, m);
04695   if (!m->getClass("time_interval"))
04696     {
04697       status = m->addClass(TimeInterval_class);
04698       if (status)
04699         return status;
04700     }
04701   eyedb::StructClass *OString_class = OString_make(0, m);
04702   if (!m->getClass("ostring"))
04703     {
04704       status = m->addClass(OString_class);
04705       if (status)
04706         return status;
04707     }
04708 
04709   ImageType_make(ImageType_class, m);
04710   Month_make(Month_class, m);
04711   Weekday_make(Weekday_class, m);
04712   Image_make(Image_class, m);
04713   CURL_make(CURL_class, m);
04714   WConfig_make(WConfig_class, m);
04715   Date_make(Date_class, m);
04716   Time_make(Time_class, m);
04717   TimeStamp_make(TimeStamp_class, m);
04718   TimeInterval_make(TimeInterval_class, m);
04719   OString_make(OString_class, m);
04720 
04721   if (!db) return eyedb::Success;
04722 
04723   if (!ImageType_class->compare(m->getClass("image_type")))
04724     return eyedb::Exception::make(eyedb::IDB_ERROR, "'ImageType' %s", differ_msg);
04725   if (!Month_class->compare(m->getClass("month")))
04726     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Month' %s", differ_msg);
04727   if (!Weekday_class->compare(m->getClass("weekday")))
04728     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Weekday' %s", differ_msg);
04729   if (!Image_class->compare(m->getClass("image")))
04730     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Image' %s", differ_msg);
04731   if (!CURL_class->compare(m->getClass("URL")))
04732     return eyedb::Exception::make(eyedb::IDB_ERROR, "'CURL' %s", differ_msg);
04733   if (!WConfig_class->compare(m->getClass("w_config")))
04734     return eyedb::Exception::make(eyedb::IDB_ERROR, "'WConfig' %s", differ_msg);
04735   if (!Date_class->compare(m->getClass("date")))
04736     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Date' %s", differ_msg);
04737   if (!Time_class->compare(m->getClass("time")))
04738     return eyedb::Exception::make(eyedb::IDB_ERROR, "'Time' %s", differ_msg);
04739   if (!TimeStamp_class->compare(m->getClass("time_stamp")))
04740     return eyedb::Exception::make(eyedb::IDB_ERROR, "'TimeStamp' %s", differ_msg);
04741   if (!TimeInterval_class->compare(m->getClass("time_interval")))
04742     return eyedb::Exception::make(eyedb::IDB_ERROR, "'TimeInterval' %s", differ_msg);
04743   if (!OString_class->compare(m->getClass("ostring")))
04744     return eyedb::Exception::make(eyedb::IDB_ERROR, "'OString' %s", differ_msg);
04745 
04746   db->transactionBegin();
04747 
04748   if ((status = Date_comp_realize(db, m->getClass("date")))) return status;
04749 
04750   if ((status = Time_comp_realize(db, m->getClass("time")))) return status;
04751 
04752   if ((status = TimeStamp_comp_realize(db, m->getClass("time_stamp")))) return status;
04753 
04754   if ((status = TimeInterval_comp_realize(db, m->getClass("time_interval")))) return status;
04755 
04756   if ((status = OString_comp_realize(db, m->getClass("ostring")))) return status;
04757 
04758   if ((status = Image_attrcomp_realize(db, m->getClass("image")))) return status;
04759 
04760   if ((status = CURL_attrcomp_realize(db, m->getClass("URL")))) return status;
04761 
04762   if ((status = WConfig_attrcomp_realize(db, m->getClass("w_config")))) return status;
04763 
04764   if ((status = Date_attrcomp_realize(db, m->getClass("date")))) return status;
04765 
04766   if ((status = Time_attrcomp_realize(db, m->getClass("time")))) return status;
04767 
04768   if ((status = TimeStamp_attrcomp_realize(db, m->getClass("time_stamp")))) return status;
04769 
04770   if ((status = TimeInterval_attrcomp_realize(db, m->getClass("time_interval")))) return status;
04771 
04772   if ((status = OString_attrcomp_realize(db, m->getClass("ostring")))) return status;
04773   status = m->realize();
04774   if (status) return status;
04775   db->transactionCommit();
04776   return eyedb::Success;
04777 }
04778 
04779 eyedb::Status utilsSchemaUpdate(eyedb::Database *db)
04780 {
04781   return utilsSchemaUpdate(db->getSchema(), db);
04782 }
04783 
04784 eyedb::Status utilsSchemaUpdate(eyedb::Schema *m)
04785 {
04786   return utilsSchemaUpdate(m, NULL);
04787 }
04788 
04789 eyedb::Object *utilsMakeObject(eyedb::Object *o, eyedb::Bool remove)
04790 {
04791   if (!o->getClass()) return (eyedb::Object *)0;
04792   if (eyedb::ObjectPeer::isGRTObject(o))
04793     return o;
04794   int ind = hash->get(o->getClass()->getName());
04795   if (ind < 0 && (!o->getClass()->getStrictAliasName() || (ind = hash->get(o->getClass()->getStrictAliasName())) < 0)) return 0;
04796   eyedb::Object *co = constructors[ind](o, (remove ? eyedb::True : eyedb::False));
04797   eyedb::ObjectPeer::setClass(co, o->getClass());
04798   if (remove) o->release();
04799   if (co->getDatabase())
04800     co->getDatabase()->cacheObject(co);
04801   return co;
04802 }
04803 
04804 utilsDatabase::utilsDatabase(eyedb::Connection *conn, const char *dbname, eyedb::Database::OpenFlag flag, const char *userauth, const char *passwdauth) : eyedb::Database(dbname)
04805 {
04806   eyedb::Status status = open(conn, flag, 0, userauth, passwdauth);
04807   if (status) throw *status;
04808 }
04809 
04810 utilsDatabase::utilsDatabase(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)
04811 {
04812   eyedb::Status status = open(conn, flag, 0, userauth, passwdauth);
04813   if (status) throw *status;
04814 }
04815 
04816 eyedb::Status utilsDatabase::open(eyedb::Connection *conn, eyedb::Database::OpenFlag flag, const char *userauth, const char *passwdauth)
04817 {
04818   return open(conn, flag, 0, userauth, passwdauth);
04819 }
04820 
04821 eyedb::Status utilsDatabase::open(eyedb::Connection *conn, eyedb::Database::OpenFlag flag, const eyedb::OpenHints *hints, const char *userauth, const char *passwdauth)
04822 {
04823   eyedb::Status status = eyedb::Database::open(conn, flag, hints, userauth, passwdauth);
04824   if (status) return status;
04825   transactionBegin();
04826   status = utilsDatabase::checkSchema(getSchema());
04827   transactionCommit();
04828 
04829   if (!status) add(hash, constructors_x);
04830 
04831   return status;
04832 }
04833 
04834 void utilsDatabase::setConsApp(eyedb::Database *_db)
04835 {
04836   _db->add(hash, constructors_x);
04837 }
04838 
04839 static void append(char *&s, const char *m1, const char *m2)
04840 {
04841   if (!s) {s = (char *)malloc(strlen(m1)+strlen(m2)+2); *s = 0;}
04842   else s = (char *)realloc(s, strlen(s)+strlen(m1)+strlen(m2)+2);
04843   strcat(s, m1);
04844   strcat(s, m2);
04845   strcat(s, "\n");
04846 }
04847 
04848 eyedb::Bool utilsDatabase::getDynamicGetErrorPolicy() {
04849    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "getDynamicGetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
04850 }
04851 
04852 eyedb::Bool utilsDatabase::getDynamicSetErrorPolicy() {
04853    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "getDynamicSetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
04854 }
04855 
04856 void utilsDatabase::setDynamicGetErrorPolicy(eyedb::Bool policy) {
04857    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "setDynamicGetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
04858 }
04859 
04860 void utilsDatabase::setDynamicSetErrorPolicy(eyedb::Bool policy) {
04861    throw *eyedb::Exception::make(eyedb::IDB_ERROR, "setDynamicSetErrorPolicy() can be called only when the dynamic attribute fonctionnality is on (-dynamic-attr option of eyedbodl)");
04862 }
04863 
04864 eyedb::Status utilsDatabase::checkSchema(eyedb::Schema *m)
04865 {
04866   eyedb::Class *cl;
04867   char *s = 0;
04868 
04869   if (!(cl = m->getClass("image_type")))
04870     append(s, "'image_type' ", not_exit_msg);
04871   else if (!ImageType_Class->compare(cl))
04872     append(s, "'ImageType' ", differ_msg);
04873   if (!(cl = m->getClass("month")))
04874     append(s, "'month' ", not_exit_msg);
04875   else if (!Month_Class->compare(cl))
04876     append(s, "'Month' ", differ_msg);
04877   if (!(cl = m->getClass("weekday")))
04878     append(s, "'weekday' ", not_exit_msg);
04879   else if (!Weekday_Class->compare(cl))
04880     append(s, "'Weekday' ", differ_msg);
04881   if (!(cl = m->getClass("image")))
04882     append(s, "'image' ", not_exit_msg);
04883   else if (!Image_Class->compare(cl))
04884     append(s, "'Image' ", differ_msg);
04885   if (!(cl = m->getClass("URL")))
04886     append(s, "'URL' ", not_exit_msg);
04887   else if (!CURL_Class->compare(cl))
04888     append(s, "'CURL' ", differ_msg);
04889   if (!(cl = m->getClass("w_config")))
04890     append(s, "'w_config' ", not_exit_msg);
04891   else if (!WConfig_Class->compare(cl))
04892     append(s, "'WConfig' ", differ_msg);
04893   if (!(cl = m->getClass("date")))
04894     append(s, "'date' ", not_exit_msg);
04895   else if (!Date_Class->compare(cl))
04896     append(s, "'Date' ", differ_msg);
04897   if (!(cl = m->getClass("time")))
04898     append(s, "'time' ", not_exit_msg);
04899   else if (!Time_Class->compare(cl))
04900     append(s, "'Time' ", differ_msg);
04901   if (!(cl = m->getClass("time_stamp")))
04902     append(s, "'time_stamp' ", not_exit_msg);
04903   else if (!TimeStamp_Class->compare(cl))
04904     append(s, "'TimeStamp' ", differ_msg);
04905   if (!(cl = m->getClass("time_interval")))
04906     append(s, "'time_interval' ", not_exit_msg);
04907   else if (!TimeInterval_Class->compare(cl))
04908     append(s, "'TimeInterval' ", differ_msg);
04909   if (!(cl = m->getClass("ostring")))
04910     append(s, "'ostring' ", not_exit_msg);
04911   else if (!OString_Class->compare(cl))
04912     append(s, "'OString' ", differ_msg);
04913   if (s) {eyedb::Status status = eyedb::Exception::make(s); free(s); return status;}
04914   return eyedb::Success;
04915 }
04916 
04917 eyedb::Bool utils_set_oid_check(eyedb::Bool _oid_check)
04918 {
04919   eyedb::Bool old = oid_check;
04920   oid_check = _oid_check;
04921   return old;
04922 }
04923 
04924 eyedb::Bool utils_get_oid_check()
04925 {
04926   return oid_check;
04927 }
04928 
04929 }

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