00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxConfigureServant_h
00010 #define HxConfigureServant_h
00011
00012 #include <OB/CORBA.h>
00013 #include "HxCorbaConfigure_skel.h"
00014
00015 class HxDataObjectManager;
00016
00017
00019 class HxObjectUsageServant : public POA_HxCorba::ObjectUsage,
00020 public PortableServer::RefCountServantBase
00021 {
00022 public:
00023 HxObjectUsageServant(HxDataObjectManager* mgr);
00024 virtual ~HxObjectUsageServant();
00025
00026 virtual CORBA::Long getUsed(const char* unit)
00027 throw(CORBA::SystemException);
00028 virtual CORBA::Long getTotalLimit(const char* unit)
00029 throw(CORBA::SystemException);
00030 virtual void setTotalLimit(const char* unit, CORBA::Long limit)
00031 throw(CORBA::SystemException);
00032 virtual CORBA::Long getObjectLimit(const char* unit)
00033 throw(CORBA::SystemException);
00034 virtual void setObjectLimit(const char* unit, CORBA::Long limit)
00035 throw(CORBA::SystemException);
00036 virtual HxCorba::StringSeq* listUnits() throw(CORBA::SystemException);
00037
00038 virtual void close() throw(CORBA::SystemException);
00039
00040 private:
00041 HxDataObjectManager* _mgr;
00042 };
00043
00044
00046 class HxConfigureServant : public POA_HxCorba::Configure
00047 {
00048 public:
00049 HxConfigureServant();
00050 virtual ~HxConfigureServant();
00051
00052 virtual void shutdown()
00053 throw(CORBA::SystemException);
00054 virtual HxCorba::ObjectUsage_ptr getDefaultObjectUsage()
00055 throw(CORBA::SystemException);
00056 virtual HxCorba::ObjectUsage_ptr getObjectUsage(const char* name)
00057 throw(CORBA::SystemException);
00058 virtual HxCorba::StringSeq* listObjectUsages()
00059 throw(CORBA::SystemException);
00060
00061 private:
00062 PortableServer::POA_var _rootPOA;
00063 };
00064
00065 #endif //HxConfigureServant_h