Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

oSysDatabase.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------
00002 #ifndef oSysDatabase_h
00003 #define oSysDatabase_h 1
00004 //------------------------------------------------------------------------------
00005 
00006 #include "d_Varray.h"
00007 #include "d_Object.h"
00008 #include "d_Dictionary.h"
00009 
00010 #include "oSysClass.h"
00011 #include "oSysLog.h"
00012 #include "oSysSegment.h"
00013 //------------------------------------------------------------------------------
00014 class _ODLL oDomain;
00015 //------------------------------------------------------------------------------
00016 class oSysDatabase : public d_Object
00017 {
00018   public:
00019     oSysDatabase( const char* iName, const char* iUrl );
00020 
00021     void d_activate();
00022     void d_deactivate();
00023 
00024     // SCHEMA CONTROL
00025     d_Ref<oSysClass> getClass( const char* iClassName );
00026     d_Ref<oSysClass> addClass( d_String iName, d_ULong iStart, d_ULong iStep );
00027     void renameClass( d_String iOldName, d_String iNewName );
00028     void removeClass( d_String iName );
00029 
00030     // DATA SEGMENTS CONTROL
00031     void addDataSeg( d_String iPath, d_ULong iStart, d_ULong iStep );
00032     void changeSizeDataSeg( d_String iPath, d_ULong iValue );
00033     void changeStepDataSeg( d_String iPath, d_ULong iValue );
00034     void removeDataSeg( d_String iPath );
00035 
00036         d_Dictionary< d_String, d_String >& getNotes();
00037         d_String getNote( const char* iNote );
00038         void setNote( const char* iNote, const char* iValue );
00039 
00040     // ANCESTORS
00041     const char* getName();
00042     const char* getUrl();
00043     oDomain* getDomain();
00044 
00045     // INTERNAL CONSTRUCTOR
00046     oSysDatabase( d_Object::DynaFactoryConstructor* iObj ){;}
00047 
00048   private:
00049     d_String  name;
00050     d_String  url;
00051 
00052     d_Dictionary< d_String, d_Ref< oSysClass > > classes;
00053     d_Varray< d_Ref< oSysSegment > > dataSegs;
00054     d_Dictionary< d_String, d_String > notes;
00055 
00056     oDomain*  domain; // TRANSIENT
00057 
00058     // FRIENDSHIP
00059     friend class oSysClass;
00060     friend class oStorage;
00061 };
00062 //------------------------------------------------------------------------------
00063 //------------------------------------------------------------------------------
00064 
00065 #endif
00066 

Generated on Fri Nov 29 17:12:13 2002 for Orient ODBMS Just Edition v. 2.0e by doxygen1.3-rc1