00001
00002
00003
00004
00005
00006
00007 #include <string.h>
00008
00009 class VBDRoot;
00010 class VBDObject;
00011
00012 #define vbdNullIndex 0L
00013
00014
00015
00016
00017 class VBDRoot {
00018 protected:
00019
00020
00021 long S_Owner;
00022 long S_Index;
00023 int S_State;
00024
00025 BOOL isModified;
00026
00027 enum VBDState
00028 {
00029 D_AWAKE,
00030 D_DEAD,
00031 D_SLEEP,
00032 D_TOCREATE,
00033 D_TODELETE,
00034 D_SYSTEM
00035 };
00036
00037
00038 VBDRoot(): S_Owner(vbdNullIndex),
00039 S_Index(vbdNullIndex),
00040 S_State(D_AWAKE),
00041 isModified(FALSE) { }
00042
00043 virtual ~VBDRoot() { }
00044
00045
00046 long& Owner() { return S_Owner; }
00047 long& Index() { return S_Index; }
00048 int& State() { return S_State; }
00049
00050 BOOL& IsModified() { return isModified; }
00051
00052 };
00053
00054
00055
00056
00057 class VBDObject : public VBDRoot
00058 {
00059 protected:
00060
00061 string S_Name;
00062
00063 public:
00064
00065 VBDObject() : S_Name("none") { }
00066 virtual ~VBDObject() { }
00067
00068
00069 char* S_Name() { return (char*) S_Name.c_str(); }
00070
00071 };
00072