utils.h

00001 
00002 /*
00003  * EyeDB Version 2.8.4 Copyright (c) 1995-2006 SYSRA
00004  *
00005  * File 'utils.h'
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 #ifndef _eyedb_utils_
00020 #define _eyedb_utils_
00021 
00022 namespace eyedb {
00023 
00024 class Image;
00025 class CURL;
00026 class WConfig;
00027 class Date;
00028 class Time;
00029 class TimeStamp;
00030 class TimeInterval;
00031 class OString;
00032 
00033 
00034 class utils {
00035 
00036  public:
00037   utils(int &argc, char *argv[]) {
00038     eyedb::init(argc, argv);
00039     init();
00040   }
00041 
00042   ~utils() {
00043     release();
00044     eyedb::release();
00045   }
00046 
00047   static void init();
00048   static void release();
00049   static eyedb::Status updateSchema(eyedb::Database *db);
00050   static eyedb::Status updateSchema(eyedb::Schema *m);
00051 };
00052 
00053 class utilsDatabase : public eyedb::Database {
00054 
00055  public:
00056   utilsDatabase(const char *dbname, const char *_dbmdb_str = 0) : eyedb::Database(dbname, _dbmdb_str) {}
00057   utilsDatabase(eyedb::Connection *conn, const char *dbname, const char *_dbmdb_str, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00058   utilsDatabase(eyedb::Connection *conn, const char *dbname, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00059   utilsDatabase(const char *dbname, int _dbid, const char *_dbmdb_str = 0) : eyedb::Database(dbname, _dbid, _dbmdb_str) {}
00060   utilsDatabase(int _dbid, const char *_dbmdb_str = 0) : eyedb::Database(_dbid, _dbmdb_str) {}
00061   eyedb::Status open(eyedb::Connection *, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00062   eyedb::Status open(eyedb::Connection *, eyedb::Database::OpenFlag, const eyedb::OpenHints *hints, const char *user = 0, const char *passwd = 0);
00063   static void setConsApp(eyedb::Database *);
00064   static eyedb::Status checkSchema(eyedb::Schema *);
00065   static eyedb::Bool getDynamicGetErrorPolicy();
00066   static eyedb::Bool getDynamicSetErrorPolicy();
00067   static void setDynamicGetErrorPolicy(eyedb::Bool policy);
00068   static void setDynamicSetErrorPolicy(eyedb::Bool policy);
00069 };
00070 
00071 class ImageType {
00072 
00073 public:
00074   enum Type {
00075     GIF_IMG_TYPE = 1,
00076     JPEG_IMG_TYPE = 2,
00077     PM_IMG_TYPE = 3,
00078     PBM_IMG_TYPE = 4,
00079     X11BITMAP_IMG_TYPE = 5,
00080     BMP_IMG_TYPE = 6,
00081     TIFF_IMG_TYPE = 7
00082   };
00083 };
00084 
00085 class Month {
00086 
00087 public:
00088   enum Type {
00089     January = 1,
00090     February = 2,
00091     March = 3,
00092     April = 4,
00093     May = 5,
00094     June = 6,
00095     July = 7,
00096     August = 8,
00097     September = 9,
00098     October = 10,
00099     November = 11,
00100     December = 12
00101   };
00102 };
00103 
00104 class Weekday {
00105 
00106 public:
00107   enum Type {
00108     Sunday = 0,
00109     Monday = 1,
00110     Tuesday = 2,
00111     Wednesday = 3,
00112     Thursday = 4,
00113     Friday = 5,
00114     Saturday = 6
00115   };
00116 };
00117 
00118 class Image : public eyedb::Struct {
00119 
00120  public:
00121   Image(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00122   Image(const Image& x);
00123 
00124   virtual eyedb::Object *clone() const {return new Image(*this);};
00125 
00126   Image& operator=(const Image& x);
00127 
00128   virtual Image *asImage() {return this;}
00129   virtual const Image *asImage() const {return this;}
00130 
00131   eyedb::Status setName(const std::string &);
00132   eyedb::Status setName(unsigned int a0, char );
00133   std::string getName(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00134   char getName(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00135 
00136   eyedb::Status setType(ImageType::Type , eyedb::Bool _check_value = eyedb::True);
00137   ImageType::Type getType(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00138 
00139   eyedb::Status setData(const unsigned char *, unsigned int len);
00140   eyedb::Status setData(unsigned int a0, unsigned char );
00141   eyedb::Status setDataCount(unsigned int a0);
00142   const unsigned char *getData(unsigned int *len, eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00143   unsigned char getData(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00144   unsigned int getDataCount(eyedb::Status * = 0) const;
00145 
00146   eyedb::Status setW(eyedblib::int32 );
00147   eyedblib::int32 getW(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00148 
00149   eyedb::Status setH(eyedblib::int32 );
00150   eyedblib::int32 getH(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00151   virtual ~Image() {garbageRealize();}
00152 
00153  protected:
00154   Image(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00155   Image(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00156   Image(const Image *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00157 
00158  private:
00159   void initialize(eyedb::Database *_db);
00160 
00161  public: /* restricted */
00162   Image(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00163   Image(const Image *, eyedb::Bool = eyedb::False);
00164   Image(const eyedb::Class *, eyedb::Data);
00165 };
00166 
00167 class CURL : public eyedb::Struct {
00168 
00169  public:
00170   CURL(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00171   CURL(const CURL& x);
00172 
00173   virtual eyedb::Object *clone() const {return new CURL(*this);};
00174 
00175   CURL& operator=(const CURL& x);
00176 
00177   virtual CURL *asCURL() {return this;}
00178   virtual const CURL *asCURL() const {return this;}
00179 
00180   eyedb::Status setProto(const std::string &);
00181   eyedb::Status setProto(unsigned int a0, char );
00182   std::string getProto(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00183   char getProto(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00184 
00185   eyedb::Status setUrl(const std::string &);
00186   eyedb::Status setUrl(unsigned int a0, char );
00187   std::string getUrl(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00188   char getUrl(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00189   virtual ~CURL() {garbageRealize();}
00190   // CURL User Part
00191 
00192   CURL(const char *proto, const char *url);
00193   
00194 
00195  protected:
00196   CURL(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00197   CURL(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00198   CURL(const CURL *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00199 
00200  private:
00201   void initialize(eyedb::Database *_db);
00202 
00203  public: /* restricted */
00204   CURL(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00205   CURL(const CURL *, eyedb::Bool = eyedb::False);
00206   CURL(const eyedb::Class *, eyedb::Data);
00207 };
00208 
00209 class WConfig : public eyedb::Struct {
00210 
00211  public:
00212   WConfig(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00213   WConfig(const WConfig& x);
00214 
00215   virtual eyedb::Object *clone() const {return new WConfig(*this);};
00216 
00217   WConfig& operator=(const WConfig& x);
00218 
00219   virtual WConfig *asWConfig() {return this;}
00220   virtual const WConfig *asWConfig() const {return this;}
00221 
00222   eyedb::Status setName(const std::string &);
00223   eyedb::Status setName(unsigned int a0, char );
00224   std::string getName(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00225   char getName(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00226 
00227   eyedb::Status setUser(const std::string &);
00228   eyedb::Status setUser(unsigned int a0, char );
00229   std::string getUser(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00230   char getUser(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00231 
00232   eyedb::Status setConf(const std::string &);
00233   eyedb::Status setConf(unsigned int a0, char );
00234   std::string getConf(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00235   char getConf(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00236   virtual ~WConfig() {garbageRealize();}
00237 
00238  protected:
00239   WConfig(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00240   WConfig(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00241   WConfig(const WConfig *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00242 
00243  private:
00244   void initialize(eyedb::Database *_db);
00245 
00246  public: /* restricted */
00247   WConfig(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00248   WConfig(const WConfig *, eyedb::Bool = eyedb::False);
00249   WConfig(const eyedb::Class *, eyedb::Data);
00250 };
00251 
00252 class Date : public eyedb::Struct {
00253 
00254  public:
00255   Date(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00256   Date(const Date& x);
00257 
00258   virtual eyedb::Object *clone() const {return new Date(*this);};
00259 
00260   Date& operator=(const Date& x);
00261 
00262   virtual Date *asDate() {return this;}
00263   virtual const Date *asDate() const {return this;}
00264 
00265   eyedb::Status setJulian(eyedblib::int32 );
00266   eyedblib::int32 getJulian(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00267   virtual ~Date() {garbageRealize();}
00268   // Date User Part
00269 
00270   private:
00271     char string_date[16];
00272 
00273     virtual void userCopy(const Object &);
00274     virtual void userInitialize();
00275     void setClientData();
00276 
00277   public:
00278     static Date * date(Database * db);
00279     static Date * date(Database * db, const Date & d);
00280     static Date * date(Database * db, eyedblib::int32 julian_day);
00281     static Date * date(Database * db, eyedblib::int32 year, Month::Type m, eyedblib::int16 day);
00282     static Date * date(Database * db, const char * d);
00283     static eyedblib::int32 julian(const char * d);
00284     eyedblib::int32 year() const;
00285     eyedblib::int16 month() const;
00286     eyedblib::int16 day() const;
00287     eyedblib::int16 day_of_year() const;
00288     Month::Type month_of_year() const;
00289     Weekday::Type day_of_week() const;
00290     const char * toString() const;
00291     Bool is_leap_year() const;
00292     Bool is_equal(const Date & d) const;
00293     Bool is_greater(const Date & d) const;
00294     Bool is_greater_or_equal(const Date & d) const;
00295     Bool is_less(const Date & d) const;
00296     Bool is_less_or_equal(const Date & d) const;
00297     Bool is_between(const Date & d1, const Date & d2) const;
00298     Date & next(Weekday::Type day);
00299     Date & previous(Weekday::Type day);
00300     Date & add_days(eyedblib::int32 days);
00301     Date & substract_days(eyedblib::int32 days);
00302     eyedblib::int32 substract_date(const Date & d) const;
00303     Status set_julian(eyedblib::int32 julian_day);
00304     
00305 
00306  protected:
00307   Date(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00308   Date(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00309   Date(const Date *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00310 
00311  private:
00312   void initialize(eyedb::Database *_db);
00313 
00314  public: /* restricted */
00315   Date(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00316   Date(const Date *, eyedb::Bool = eyedb::False);
00317   Date(const eyedb::Class *, eyedb::Data);
00318 };
00319 
00320 class Time : public eyedb::Struct {
00321 
00322  public:
00323   Time(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00324   Time(const Time& x);
00325 
00326   virtual eyedb::Object *clone() const {return new Time(*this);};
00327 
00328   Time& operator=(const Time& x);
00329 
00330   virtual Time *asTime() {return this;}
00331   virtual const Time *asTime() const {return this;}
00332 
00333   eyedb::Status setUsecs(eyedblib::int64 );
00334   eyedblib::int64 getUsecs(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00335 
00336   eyedb::Status setTz(eyedblib::int16 );
00337   eyedblib::int16 getTz(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00338   virtual ~Time() {garbageRealize();}
00339   // Time User Part
00340 
00341   private:
00342     char string_time[48];
00343 
00344     virtual void userCopy(const Object &);
00345     virtual void userInitialize();
00346     void setClientData();
00347   public:
00348 
00349   Status set_usecs(eyedblib::int64 usecs, eyedblib::int16 tz);
00350   static void get_local_time_zone(eyedblib::int16 * tz_hour, eyedblib::int16 * tz_min);
00351   static Time * gmt_time(Database * db);
00352   static Time * local_time(Database * db);
00353   static Time * time(Database * db, const Time & t);
00354   static Time * time(Database * db, eyedblib::int64 usec);
00355   static Time * time(Database * db, eyedblib::int64 usec, eyedblib::int16 tz);
00356   static Time * time(Database * db, eyedblib::int16 hours, eyedblib::int16 min, eyedblib::int16 sec, eyedblib::int16 msec);
00357   static Time * time(Database * db, eyedblib::int16 hours, eyedblib::int16 min, eyedblib::int16 sec, eyedblib::int16 msec, eyedblib::int16 usec);
00358   static Time * time(Database * db, eyedblib::int16 hours, eyedblib::int16 min, eyedblib::int16 sec, eyedblib::int16 msec, eyedblib::int16 tz_hour, eyedblib::int16 tz_minute);
00359   static Time * time(Database * db, eyedblib::int16 hours, eyedblib::int16 min, eyedblib::int16 sec, eyedblib::int16 msec, eyedblib::int16 usec, eyedblib::int16 tz_hour, eyedblib::int16 tz_minute);
00360   static Time * time(Database * db, const char * t);
00361   static eyedblib::int64 usec_time(const char * t);
00362   eyedblib::int16 hour() const;
00363   eyedblib::int16 minute() const;
00364   eyedblib::int16 second() const;
00365   eyedblib::int16 millisecond() const;
00366   eyedblib::int16 tz_hour() const;
00367   eyedblib::int16 tz_minute() const;
00368   const char * toString() const;
00369   Bool is_equal(const Time & t) const;
00370   Bool is_greater(const Time & t) const;
00371   Bool is_greater_or_equal(const Time & t) const;
00372   Bool is_less(const Time & t) const;
00373   Bool is_less_or_equal(const Time & t) const;
00374   Bool is_between(const Time & t1, const Time &t2) const;
00375   Time & add_interval(const TimeInterval & i);
00376   Time & substract_interval(const TimeInterval & i);
00377   TimeInterval * substract_time(const Time & t);
00378   eyedblib::int16 gmt_hour() const;
00379   eyedblib::int16 gmt_minute() const;
00380   eyedblib::int16 microsecond() const;
00381   
00382 
00383  protected:
00384   Time(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00385   Time(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00386   Time(const Time *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00387 
00388  private:
00389   void initialize(eyedb::Database *_db);
00390 
00391  public: /* restricted */
00392   Time(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00393   Time(const Time *, eyedb::Bool = eyedb::False);
00394   Time(const eyedb::Class *, eyedb::Data);
00395 };
00396 
00397 class TimeStamp : public eyedb::Struct {
00398 
00399  public:
00400   TimeStamp(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00401   TimeStamp(const TimeStamp& x);
00402 
00403   virtual eyedb::Object *clone() const {return new TimeStamp(*this);};
00404 
00405   TimeStamp& operator=(const TimeStamp& x);
00406 
00407   virtual TimeStamp *asTimeStamp() {return this;}
00408   virtual const TimeStamp *asTimeStamp() const {return this;}
00409 
00410   eyedb::Status setUsecs(eyedblib::int64 );
00411   eyedblib::int64 getUsecs(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00412 
00413   eyedb::Status setTz(eyedblib::int16 );
00414   eyedblib::int16 getTz(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00415   virtual ~TimeStamp() {garbageRealize();}
00416   // TimeStamp User Part
00417 
00418  private:
00419   Time ts_time;
00420   Date ts_date;
00421   char string_time_stamp[64];
00422 
00423   virtual void userCopy(const Object &);
00424   virtual void userInitialize();
00425   void setClientData();
00426  public:
00427   static TimeStamp * gmt_time_stamp(Database * db);
00428   static TimeStamp * local_time_stamp(Database * db);
00429   static TimeStamp * time_stamp(Database * db, const TimeStamp &);
00430   static TimeStamp * time_stamp(Database * db, eyedblib::int64 usec);
00431   static TimeStamp * time_stamp(Database * db, eyedblib::int64 usec, eyedblib::int16 tz);
00432   static TimeStamp * time_stamp(Database * db, eyedblib::int32 julian_day, eyedblib::int64 usec);
00433   static TimeStamp * time_stamp(Database * db, eyedblib::int32 julian_day, eyedblib::int64 usec, eyedblib::int16 tz);
00434   static TimeStamp * time_stamp(Database * db, const Date & d, const Time & t);
00435   static TimeStamp * time_stamp(Database * db, const Date & d);
00436   static TimeStamp * time_stamp(Database * db, const Date & d, eyedblib::int16 tz_hour, eyedblib::int16 tz_min);
00437   static TimeStamp * time_stamp(Database * db, const char * t);
00438   static eyedblib::int64 usec_time_stamp(const char * ts);
00439   const Date & date() const;
00440   const Time & time() const;
00441   eyedblib::int32 year() const;
00442   eyedblib::int16 month() const;
00443   eyedblib::int16 day() const;
00444   eyedblib::int16 hour() const;
00445   eyedblib::int16 minute() const;
00446   eyedblib::int16 second() const;
00447   eyedblib::int16 millisecond() const;
00448   eyedblib::int16 tz_hour() const;
00449   eyedblib::int16 tz_minute() const;
00450   const char * toString() const;
00451   TimeStamp & plus(const TimeInterval & i);
00452   TimeStamp & minus(const TimeInterval & i);
00453   Bool is_equal(const TimeStamp & ts) const;
00454   Bool is_greater(const TimeStamp & ts) const;
00455   Bool is_greater_or_equal(const TimeStamp & ts) const;
00456   Bool is_less(const TimeStamp & ts) const;
00457   Bool is_less_or_equal(const TimeStamp & ts) const;
00458   Bool is_between(const TimeStamp & ts1, const TimeStamp & ts2) const;
00459   eyedblib::int16 gmt_hour() const;
00460   eyedblib::int16 gmt_minute() const;
00461   eyedblib::int16 microsecond() const;
00462   Status set_usecs(eyedblib::int64 usec, eyedblib::int16 tz);
00463   TimeInterval * substract(const TimeStamp & ts);
00464   
00465 
00466  protected:
00467   TimeStamp(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00468   TimeStamp(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00469   TimeStamp(const TimeStamp *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00470 
00471  private:
00472   void initialize(eyedb::Database *_db);
00473 
00474  public: /* restricted */
00475   TimeStamp(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00476   TimeStamp(const TimeStamp *, eyedb::Bool = eyedb::False);
00477   TimeStamp(const eyedb::Class *, eyedb::Data);
00478 };
00479 
00480 class TimeInterval : public eyedb::Struct {
00481 
00482  public:
00483   TimeInterval(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00484   TimeInterval(const TimeInterval& x);
00485 
00486   virtual eyedb::Object *clone() const {return new TimeInterval(*this);};
00487 
00488   TimeInterval& operator=(const TimeInterval& x);
00489 
00490   virtual TimeInterval *asTimeInterval() {return this;}
00491   virtual const TimeInterval *asTimeInterval() const {return this;}
00492 
00493   eyedb::Status setUsecs(eyedblib::int64 );
00494   eyedblib::int64 getUsecs(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00495   virtual ~TimeInterval() {garbageRealize();}
00496   // TimeInterval User Part
00497 
00498   private:
00499     char string_time_interval[32];
00500 
00501     virtual void userCopy(const Object &);
00502     virtual void userInitialize();
00503     void setClientData();
00504   public:
00505 
00506   static TimeInterval * time_interval(Database *, eyedblib::int64 usecs);
00507   static TimeInterval * time_interval(Database *, eyedblib::int32 day, eyedblib::int16 hours, eyedblib::int16 min, eyedblib::int16 sec, eyedblib::int16 msec, eyedblib::int16 usec);
00508   eyedblib::int32 day() const;
00509   eyedblib::int16 hour() const;
00510   eyedblib::int16 minute() const;
00511   eyedblib::int16 second() const;
00512   eyedblib::int16 millisecond() const;
00513   eyedblib::int16 microsecond() const;
00514   Bool is_zero() const;
00515   const char * toString() const;
00516   TimeInterval & plus(const TimeInterval & i);
00517   TimeInterval & minus(const TimeInterval & i);
00518   TimeInterval & product(eyedblib::int64 val);
00519   TimeInterval & quotient(eyedblib::int64 val);
00520   Bool is_equal(const TimeInterval & i) const;
00521   Bool is_greater(const TimeInterval & i) const;
00522   Bool is_greater_or_equal(const TimeInterval & i) const;
00523   Bool is_less(const TimeInterval & i) const;
00524   Bool is_less_or_equal(const TimeInterval & i) const;
00525   Status set_usecs(eyedblib::int64 usecs);
00526   
00527 
00528  protected:
00529   TimeInterval(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00530   TimeInterval(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00531   TimeInterval(const TimeInterval *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00532 
00533  private:
00534   void initialize(eyedb::Database *_db);
00535 
00536  public: /* restricted */
00537   TimeInterval(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00538   TimeInterval(const TimeInterval *, eyedb::Bool = eyedb::False);
00539   TimeInterval(const eyedb::Class *, eyedb::Data);
00540 };
00541 
00542 class OString : public eyedb::Struct {
00543 
00544  public:
00545   OString(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00546   OString(const OString& x);
00547 
00548   virtual eyedb::Object *clone() const {return new OString(*this);};
00549 
00550   OString& operator=(const OString& x);
00551 
00552   virtual OString *asOString() {return this;}
00553   virtual const OString *asOString() const {return this;}
00554 
00555   eyedb::Status setS(const std::string &);
00556   eyedb::Status setS(unsigned int a0, char );
00557   std::string getS(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00558   char getS(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00559   virtual ~OString() {garbageRealize();}
00560   // OString User Part
00561 
00562     static OString * ostring(Database * db);
00563     static OString * ostring(Database * db, const char * s);
00564     static OString * ostring(Database * db, const char * s, int len);
00565     static OString * ostring(Database * db, const char * s, int offset, int len);
00566     static OString * ostring(Database * db, const OString & s);
00567     static OString * ostring(Database * db, char s);
00568     static OString * ostring(Database * db, int s);
00569     static OString * ostring(Database * db, double s);
00570     static OString * concat(Database * db, const char * s1, const char * s2);
00571     static char * substr(const char *, int offset, int len);
00572     static char * toLower(const char *);
00573     static char * toUpper(const char *);
00574     static char * rtrim(const char *);
00575     static char * ltrim(const char *);
00576 
00577     Status setChar(char c, int offset);
00578     char getChar(int offset) const;
00579 
00580     OString & append(const char * s);
00581     OString & append(const char * s, int len);
00582     OString & append(const char * s, int offset, int len);
00583     OString & prepend(const char * s);
00584     OString & prepend(const char * s, int len);
00585     OString & prepend(const char * s, int offset, int len);
00586     OString & insert(int offset, const char *);
00587     OString & insert(int offset, const char *, int len);
00588     OString & insert(int offset, const char *, int offset2, int len);
00589 
00590     int first(const char *) const;
00591     int last(const char *) const;
00592     int find(const char *, int offset) const;
00593     OString * substr(int offset, int len) const;
00594     OString * substr(const char * regexp, int offset) const;
00595 
00596     OString & erase(int offset, int len);
00597     OString & replace(int offset, int len, const char *);
00598     OString & replace(int offset, int len, const char *, int len2);
00599     OString & replace(int offset, int len, const char *, int offset2, int len2);
00600     OString & replace(const char * s1, const char * s2);
00601     OString & assign(const char *);
00602     OString & assign(const char *, int len);
00603     OString & assign(const char *, int offset, int len);
00604     Status reset();
00605 
00606     OString & toLower();
00607     OString & toUpper();
00608 
00609     OString & rtrim();
00610     OString & ltrim();
00611 
00612     int compare(const char *) const;
00613     int compare(const char *, int to) const;
00614     int compare(const char *, int from, int to) const;
00615     Bool is_null() const;
00616     Bool match(const char * regexp) const;
00617 
00618     int length() const;
00619     char ** split(const char * separator, int & nb_pieces) const;
00620     char ** regexp_split(const char * regexp_separator, int & nb_pieces) const;
00621     
00622 
00623  protected:
00624   OString(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00625   OString(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00626   OString(const OString *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00627 
00628  private:
00629   void initialize(eyedb::Database *_db);
00630 
00631  public: /* restricted */
00632   OString(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00633   OString(const OString *, eyedb::Bool = eyedb::False);
00634   OString(const eyedb::Class *, eyedb::Data);
00635 };
00636 
00637 
00638 extern eyedb::Object *utilsMakeObject(eyedb::Object *, eyedb::Bool=eyedb::True);
00639 extern eyedb::Bool utils_set_oid_check(eyedb::Bool);
00640 extern eyedb::Bool utils_get_oid_check();
00641 
00642 extern eyedb::EnumClass *ImageType_Class;
00643 extern eyedb::EnumClass *Month_Class;
00644 extern eyedb::EnumClass *Weekday_Class;
00645 extern eyedb::StructClass *Image_Class;
00646 extern eyedb::StructClass *CURL_Class;
00647 extern eyedb::StructClass *WConfig_Class;
00648 extern eyedb::StructClass *Date_Class;
00649 extern eyedb::StructClass *Time_Class;
00650 extern eyedb::StructClass *TimeStamp_Class;
00651 extern eyedb::StructClass *TimeInterval_Class;
00652 extern eyedb::StructClass *OString_Class;
00653 
00654 
00655 }
00656 
00657 #endif

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