Added nice header using CVS keywords for *.[cCh] files.
[charm.git] / src / ck-ldb / LBOM.h
1 /*****************************************************************************
2  * $Source$
3  * $Author$
4  * $Date$
5  * $Revision$
6  *****************************************************************************/
7
8 #ifndef LBOM_H
9 #define LBOM_H
10
11 #include "lbdb.h"
12 #include "LBObj.h"
13
14 class LBDB;
15
16 class LBOM
17 {
18 friend class LBDB;
19
20 public:
21   LDOMid id() { return myid; };
22
23 private:
24   LBOM() { };
25
26   LBOM(LBDB *_parent, LDOMid _id,
27        void *_userData, LDCallbacks _callbacks)  {
28     parent = _parent;
29     myid = _id;
30     userData = _userData;
31     callbacks = _callbacks;
32     registering_objs = CmiFalse;
33   };
34   ~LBOM() { }
35
36   void DepositHandle(LDOMHandle _h) { myhandle = _h; };
37   void Migrate(LDObjHandle _h, int dest) { callbacks.migrate(_h,dest); };
38   CmiBool RegisteringObjs() { return registering_objs; };
39   void SetRegisteringObjs(CmiBool _set) { registering_objs = _set; };
40
41   LBDB *parent;
42   LDOMid myid;
43   LDOMHandle myhandle;
44   void *userData;
45   LDCallbacks callbacks;
46   CmiBool registering_objs;
47
48 };
49
50 #endif