#ifndef _DECL_LBDatabase_H_
#define _DECL_LBDatabase_H_
#include "charm++.h"
/* DECLS: readonly CkGroupID lbdb;
 */

/* DECLS: mainchare LBDBInit{
LBDBInit();
};
 */
class LBDBInit;
class CProxy_LBDBInit: public virtual _CK_CID{
  public:
    static int __idx;
    static void __register(const char *s, size_t size);
    CProxy_LBDBInit(CkChareID __cid) { ckSetChareId(__cid); }
    CkChareID ckGetChareId(void) { return _ck_cid; }
    void ckSetChareId(CkChareID __cid) {_CHECK_CID(__cid,__idx);_ck_cid=__cid;}
/* DECLS: LBDBInit();
 */
    static void ckNew(int onPE=CK_PE_ANY);
    static void ckNew(CkChareID* pcid, int onPE=CK_PE_ANY);
    CProxy_LBDBInit(int onPE=CK_PE_ANY);
    static int  __idx_LBDBInit;
    static int  ckIdx_LBDBInit() { return __idx_LBDBInit; }
    static void _call_LBDBInit(CkArgMsg* msg, LBDBInit* obj);
};

/* DECLS: group LBDatabase{
void LBDatabase(void);
};
 */
class LBDatabase;
class CProxy_LBDatabase:  public virtual _CK_GID{
  public:
    static int __idx;
    static void __register(const char *s, size_t size);
    CProxy_LBDatabase(CkGroupID _gid) { _ck_gid = _gid; _setChare(0); }
    CProxy_LBDatabase(CkChareID __cid) { ckSetChareId(__cid); }
    CkChareID ckGetChareId(void) { return _ck_cid; }
    void ckSetChareId(CkChareID __cid){_CHECK_CID(__cid,__idx);_ck_cid=__cid;_setChare(1);}
    CkGroupID ckGetGroupId(void) { return _ck_gid; }
    void ckSetGroupId(CkGroupID _gid){_ck_gid=_gid;_setChare(0);}
    LBDatabase* ckLocalBranch(void) {
      return (LBDatabase *) CkLocalBranch(_ck_gid);
    }
    static LBDatabase* ckLocalBranch(CkGroupID gID) {
      return (LBDatabase *) CkLocalBranch(gID);
    }
/* DECLS: void LBDatabase(void);
 */
    static CkGroupID ckNew(void);
    static CkGroupID ckNewSync(void);
    CProxy_LBDatabase(int retEP, CkChareID *cid);
    CProxy_LBDatabase(void);
    static int  __idx_LBDatabase_void;
    static int  ckIdx_LBDatabase(void) { return __idx_LBDatabase_void; }
    static void _call_LBDatabase_void(void* msg, LBDatabase* obj);
};

extern void _registerLBDatabase(void);
#endif
