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

oSysClass.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------
00002 #ifndef oSysClass_h
00003 #define oSysClass_h 1
00004 //------------------------------------------------------------------------------
00005 
00006 #include "d_Varray.h"
00007 #include "d_Object.h"
00008 #include "d_Dictionary.h"
00009 #include "oSysSegment.h"
00010 #include "oSysProperty.h"
00011 //------------------------------------------------------------------------------
00012 
00013 class _ODLL oClass;
00014 class oProperty;
00015 class oRefSeg;
00016 //------------------------------------------------------------------------------
00017 
00018 class _ODLL oSysClass : public d_Object
00019 {
00020   public:
00021     oSysClass( d_String& iClassName,
00022                d_ULong iStart, d_ULong iStep,
00023                d_UShort iId,
00024                oRefSeg* iRef );
00025     void d_activate();
00026     void d_deactivate();
00027 
00028     void addBase( d_Ref<oSysClass>& iBaseClass );
00029     void removeBase( d_String& iBaseName );
00030 
00031     d_Ref<oSysProperty> addProperty( const char* iName,
00032                                      d_UShort iType,
00033                                      d_ULong iItems = 0,
00034                                      d_Boolean iPersistent = true,
00035                                      const char* iEmbedded = "",
00036                                      const char* iValueType = "",
00037                                      d_Boolean iRelationship = false,
00038                                      d_ULong iOffset = 0,
00039                                      d_ULong iSize = 0,
00040                                      d_Char  iLoadPolicy = oSysProperty::LOAD_ALWAYS );
00041     void removeProperty( d_String iPropName );
00042 
00043     d_String getName();
00044 
00045     d_Boolean isAbstract();
00046     void setAbstract( d_Boolean iValue );
00047 
00048     d_Ref< oSysSegment > getSegment();
00049 
00050     // INTERNAL CONSTRUCTOR
00051     oSysClass( d_Object::DynaFactoryConstructor* iObj ){;}
00052   
00053   protected:
00054     void changeName( d_String& iNewName );
00055 
00056   private:
00057     d_String   name;
00058     d_UShort   id;
00059     d_String   enchryptionKey;
00060     d_Boolean  abstractClass;
00061 
00062     d_Ref< oSysSegment > segment;
00063 
00064     d_Dictionary< d_String, d_Ref< oSysClass > > bases;
00065     d_Dictionary< d_String, d_Ref< oSysProperty > > properties;
00066     d_Dictionary< d_String, d_String > notes;
00067 
00068   friend class oSysDatabase;
00069 };
00070 //------------------------------------------------------------------------------
00071 //------------------------------------------------------------------------------
00072 
00073 #endif
00074 

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