DBM.h

00001 
00002 /*
00003  * EyeDB Version 2.8.4 Copyright (c) 1995-2006 SYSRA
00004  *
00005  * File 'DBM.h'
00006  *
00007  * Package Name 'DBM'
00008  *
00009  * Generated by eyedbodl at Fri Jan 18 22:13:24 2008
00010  *
00011  * ---------------------------------------------------
00012  * -------------- DO NOT EDIT THIS CODE --------------
00013  * ---------------------------------------------------
00014  *
00015  */
00016 
00017 #include <eyedb/eyedb.h>
00018 
00019 #ifndef _eyedb_DBM_
00020 #define _eyedb_DBM_
00021 
00022 namespace eyedb {
00023 
00024 class UserEntry;
00025 class DBUserAccess;
00026 class SysUserAccess;
00027 class DBEntry;
00028 class DBPropertyValue;
00029 class DBProperty;
00030 
00031 
00032 class DBM {
00033 
00034  public:
00035   DBM(int &argc, char *argv[]) {
00036     eyedb::init(argc, argv);
00037     init();
00038   }
00039 
00040   ~DBM() {
00041     release();
00042     eyedb::release();
00043   }
00044 
00045   static void init();
00046   static void release();
00047   static eyedb::Status updateSchema(eyedb::Database *db);
00048   static eyedb::Status updateSchema(eyedb::Schema *m);
00049 };
00050 
00051 class DBMDatabase : public eyedb::Database {
00052 
00053  public:
00054   DBMDatabase(const char *dbname, const char *_dbmdb_str = 0) : eyedb::Database(dbname, _dbmdb_str) {}
00055   DBMDatabase(eyedb::Connection *conn, const char *dbname, const char *_dbmdb_str, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00056   DBMDatabase(eyedb::Connection *conn, const char *dbname, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00057   DBMDatabase(const char *dbname, int _dbid, const char *_dbmdb_str = 0) : eyedb::Database(dbname, _dbid, _dbmdb_str) {}
00058   DBMDatabase(int _dbid, const char *_dbmdb_str = 0) : eyedb::Database(_dbid, _dbmdb_str) {}
00059   eyedb::Status open(eyedb::Connection *, eyedb::Database::OpenFlag, const char *user = 0, const char *passwd = 0);
00060   eyedb::Status open(eyedb::Connection *, eyedb::Database::OpenFlag, const eyedb::OpenHints *hints, const char *user = 0, const char *passwd = 0);
00061   static void setConsApp(eyedb::Database *);
00062   static eyedb::Status checkSchema(eyedb::Schema *);
00063   static eyedb::Bool getDynamicGetErrorPolicy();
00064   static eyedb::Bool getDynamicSetErrorPolicy();
00065   static void setDynamicGetErrorPolicy(eyedb::Bool policy);
00066   static void setDynamicSetErrorPolicy(eyedb::Bool policy);
00067 };
00068 
00069 enum SysAccessMode {
00070   NoSysAccessMode = 0,
00071   DBCreateSysAccessMode = 256,
00072   AddUserSysAccessMode = 512,
00073   DeleteUserSysAccessMode = 1024,
00074   SetUserPasswdSysAccessMode = 2048,
00075   AdminSysAccessMode = 768,
00076   SuperUserSysAccessMode = 4095
00077 };
00078 
00079 enum DBAccessMode {
00080   NoDBAccessMode = 0,
00081   ReadDBAccessMode = 16,
00082   WriteDBAccessMode = 32,
00083   ExecDBAccessMode = 64,
00084   ReadWriteDBAccessMode = 48,
00085   ReadExecDBAccessMode = 80,
00086   ReadWriteExecDBAccessMode = 112,
00087   AdminDBAccessMode = 113
00088 };
00089 
00090 enum UserType {
00091   EyeDBUser = 1,
00092   UnixUser = 2,
00093   StrictUnixUser = 3
00094 };
00095 
00096 class UserEntry : public eyedb::Struct {
00097 
00098  public:
00099   UserEntry(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00100   UserEntry(const UserEntry& x);
00101 
00102   virtual eyedb::Object *clone() const {return new UserEntry(*this);};
00103 
00104   UserEntry& operator=(const UserEntry& x);
00105 
00106   virtual UserEntry *asUserEntry() {return this;}
00107   virtual const UserEntry *asUserEntry() const {return this;}
00108 
00109   eyedb::Status name(const std::string &);
00110   eyedb::Status name(unsigned int a0, char );
00111   std::string name(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00112   char name(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00113 
00114   eyedb::Status passwd(const std::string &);
00115   eyedb::Status passwd(unsigned int a0, char );
00116   std::string passwd(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00117   char passwd(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00118 
00119   eyedb::Status uid(eyedblib::int32 );
00120   eyedblib::int32 uid(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00121 
00122   eyedb::Status type(UserType , eyedb::Bool _check_value = eyedb::True);
00123   UserType type(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00124   virtual ~UserEntry() {garbageRealize();}
00125 
00126  protected:
00127   UserEntry(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00128   UserEntry(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00129   UserEntry(const UserEntry *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00130 
00131  private:
00132   void initialize(eyedb::Database *_db);
00133 
00134  public: /* restricted */
00135   UserEntry(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00136   UserEntry(const UserEntry *, eyedb::Bool = eyedb::False);
00137   UserEntry(const eyedb::Class *, eyedb::Data);
00138 };
00139 
00140 class DBUserAccess : public eyedb::Struct {
00141 
00142  public:
00143   DBUserAccess(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00144   DBUserAccess(const DBUserAccess& x);
00145 
00146   virtual eyedb::Object *clone() const {return new DBUserAccess(*this);};
00147 
00148   DBUserAccess& operator=(const DBUserAccess& x);
00149 
00150   virtual DBUserAccess *asDBUserAccess() {return this;}
00151   virtual const DBUserAccess *asDBUserAccess() const {return this;}
00152 
00153   eyedb::Status dbentry(DBEntry*);
00154   DBEntry*dbentry(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00155   const DBEntry*dbentry(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00156   eyedb::Oid dbentry_oid(eyedb::Status * = 0) const;
00157   eyedb::Status dbentry_oid(const eyedb::Oid &);
00158 
00159   eyedb::Status user(UserEntry*);
00160   UserEntry*user(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00161   const UserEntry*user(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00162   eyedb::Oid user_oid(eyedb::Status * = 0) const;
00163   eyedb::Status user_oid(const eyedb::Oid &);
00164 
00165   eyedb::Status mode(DBAccessMode , eyedb::Bool _check_value = eyedb::True);
00166   DBAccessMode mode(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00167   virtual ~DBUserAccess() {garbageRealize();}
00168 
00169  protected:
00170   DBUserAccess(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00171   DBUserAccess(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00172   DBUserAccess(const DBUserAccess *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00173 
00174  private:
00175   void initialize(eyedb::Database *_db);
00176 
00177  public: /* restricted */
00178   DBUserAccess(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00179   DBUserAccess(const DBUserAccess *, eyedb::Bool = eyedb::False);
00180   DBUserAccess(const eyedb::Class *, eyedb::Data);
00181 };
00182 
00183 class SysUserAccess : public eyedb::Struct {
00184 
00185  public:
00186   SysUserAccess(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00187   SysUserAccess(const SysUserAccess& x);
00188 
00189   virtual eyedb::Object *clone() const {return new SysUserAccess(*this);};
00190 
00191   SysUserAccess& operator=(const SysUserAccess& x);
00192 
00193   virtual SysUserAccess *asSysUserAccess() {return this;}
00194   virtual const SysUserAccess *asSysUserAccess() const {return this;}
00195 
00196   eyedb::Status user(UserEntry*);
00197   UserEntry*user(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00198   const UserEntry*user(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00199   eyedb::Oid user_oid(eyedb::Status * = 0) const;
00200   eyedb::Status user_oid(const eyedb::Oid &);
00201 
00202   eyedb::Status mode(SysAccessMode , eyedb::Bool _check_value = eyedb::True);
00203   SysAccessMode mode(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00204   virtual ~SysUserAccess() {garbageRealize();}
00205 
00206  protected:
00207   SysUserAccess(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00208   SysUserAccess(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00209   SysUserAccess(const SysUserAccess *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00210 
00211  private:
00212   void initialize(eyedb::Database *_db);
00213 
00214  public: /* restricted */
00215   SysUserAccess(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00216   SysUserAccess(const SysUserAccess *, eyedb::Bool = eyedb::False);
00217   SysUserAccess(const eyedb::Class *, eyedb::Data);
00218 };
00219 
00220 class DBEntry : public eyedb::Struct {
00221 
00222  public:
00223   DBEntry(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00224   DBEntry(const DBEntry& x);
00225 
00226   virtual eyedb::Object *clone() const {return new DBEntry(*this);};
00227 
00228   DBEntry& operator=(const DBEntry& x);
00229 
00230   virtual DBEntry *asDBEntry() {return this;}
00231   virtual const DBEntry *asDBEntry() const {return this;}
00232 
00233   eyedb::Status dbname(const std::string &);
00234   eyedb::Status dbname(unsigned int a0, char );
00235   std::string dbname(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00236   char dbname(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00237 
00238   eyedb::Status dbid(eyedblib::int32 );
00239   eyedblib::int32 dbid(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00240 
00241   eyedb::Status dbfile(const std::string &);
00242   eyedb::Status dbfile(unsigned int a0, char );
00243   std::string dbfile(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00244   char dbfile(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00245 
00246   eyedb::Status default_access(DBAccessMode , eyedb::Bool _check_value = eyedb::True);
00247   DBAccessMode default_access(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00248 
00249   eyedb::Status schm(eyedb::Object*);
00250   eyedb::Object*schm(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00251   const eyedb::Object*schm(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00252   eyedb::Oid schm_oid(eyedb::Status * = 0) const;
00253   eyedb::Status schm_oid(const eyedb::Oid &);
00254 
00255   eyedb::Status comment(const std::string &);
00256   eyedb::Status comment(unsigned int a0, char );
00257   std::string comment(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00258   char comment(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00259 
00260   eyedb::Status props(unsigned int a0, DBProperty*);
00261   eyedb::Status props_cnt(unsigned int a0);
00262   DBProperty*props(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00263   const DBProperty*props(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00264   eyedb::Oid props_oid(unsigned int a0, eyedb::Status * = 0) const;
00265   eyedb::Status props_oid(unsigned int a0, const eyedb::Oid &);
00266   unsigned int props_cnt(eyedb::Status * = 0) const;
00267   virtual ~DBEntry() {garbageRealize();}
00268 
00269  protected:
00270   DBEntry(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00271   DBEntry(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00272   DBEntry(const DBEntry *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00273 
00274  private:
00275   void initialize(eyedb::Database *_db);
00276 
00277  public: /* restricted */
00278   DBEntry(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00279   DBEntry(const DBEntry *, eyedb::Bool = eyedb::False);
00280   DBEntry(const eyedb::Class *, eyedb::Data);
00281 };
00282 
00283 class DBPropertyValue : public eyedb::Struct {
00284 
00285  public:
00286   DBPropertyValue(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00287   DBPropertyValue(const DBPropertyValue& x);
00288 
00289   virtual eyedb::Object *clone() const {return new DBPropertyValue(*this);};
00290 
00291   DBPropertyValue& operator=(const DBPropertyValue& x);
00292 
00293   virtual DBPropertyValue *asDBPropertyValue() {return this;}
00294   virtual const DBPropertyValue *asDBPropertyValue() const {return this;}
00295 
00296   eyedb::Status ival(eyedblib::int64 );
00297   eyedblib::int64 ival(eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00298 
00299   eyedb::Status sval(const std::string &);
00300   eyedb::Status sval(unsigned int a0, char );
00301   std::string sval(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00302   char sval(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00303 
00304   eyedb::Status bval(const unsigned char *, unsigned int len);
00305   eyedb::Status bval(unsigned int a0, unsigned char );
00306   eyedb::Status bval_cnt(unsigned int a0);
00307   const unsigned char *bval(unsigned int *len, eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00308   unsigned char bval(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00309   unsigned int bval_cnt(eyedb::Status * = 0) const;
00310 
00311   eyedb::Status oval(eyedb::Object*);
00312   eyedb::Object*oval(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00313   const eyedb::Object*oval(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00314   eyedb::Oid oval_oid(eyedb::Status * = 0) const;
00315   eyedb::Status oval_oid(const eyedb::Oid &);
00316   virtual ~DBPropertyValue() {garbageRealize();}
00317 
00318  protected:
00319   DBPropertyValue(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00320   DBPropertyValue(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00321   DBPropertyValue(const DBPropertyValue *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00322 
00323  private:
00324   void initialize(eyedb::Database *_db);
00325 
00326  public: /* restricted */
00327   DBPropertyValue(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00328   DBPropertyValue(const DBPropertyValue *, eyedb::Bool = eyedb::False);
00329   DBPropertyValue(const eyedb::Class *, eyedb::Data);
00330 };
00331 
00332 class DBProperty : public eyedb::Struct {
00333 
00334  public:
00335   DBProperty(eyedb::Database * = 0, const eyedb::Dataspace * = 0);
00336   DBProperty(const DBProperty& x);
00337 
00338   virtual eyedb::Object *clone() const {return new DBProperty(*this);};
00339 
00340   DBProperty& operator=(const DBProperty& x);
00341 
00342   virtual DBProperty *asDBProperty() {return this;}
00343   virtual const DBProperty *asDBProperty() const {return this;}
00344 
00345   eyedb::Status key(const std::string &);
00346   eyedb::Status key(unsigned int a0, char );
00347   std::string key(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00348   char key(unsigned int a0, eyedb::Bool *isnull = 0, eyedb::Status * = 0)  const;
00349 
00350   eyedb::Status value(DBPropertyValue*);
00351   DBPropertyValue*value(eyedb::Bool *isnull = 0, eyedb::Status * = 0) ;
00352   const DBPropertyValue*value(eyedb::Bool *isnull = 0, eyedb::Status * = 0) const;
00353   virtual ~DBProperty() {garbageRealize();}
00354 
00355  protected:
00356   DBProperty(eyedb::Database *_db, const eyedb::Dataspace *_dataspace, int) : eyedb::Struct(_db, _dataspace) {}
00357   DBProperty(const eyedb::Struct *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00358   DBProperty(const DBProperty *x, eyedb::Bool share, int) : eyedb::Struct(x, share) {}
00359 
00360  private:
00361   void initialize(eyedb::Database *_db);
00362 
00363  public: /* restricted */
00364   DBProperty(const eyedb::Struct *, eyedb::Bool = eyedb::False);
00365   DBProperty(const DBProperty *, eyedb::Bool = eyedb::False);
00366   DBProperty(const eyedb::Class *, eyedb::Data);
00367 };
00368 
00369 
00370 extern eyedb::Object *DBMMakeObject(eyedb::Object *, eyedb::Bool=eyedb::True);
00371 extern eyedb::Bool DBM_set_oid_check(eyedb::Bool);
00372 extern eyedb::Bool DBM_get_oid_check();
00373 
00374 
00375 }
00376 
00377 #endif

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