Horus Doc || Corba Reference || Corba   Client Server   Stubs C++   Stubs Java   Servant Generator  

HxDataObjectManager.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2001, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Marc Navarro            (mnavarro@wins.uva.nl)
00007  */
00008 
00009 #ifndef HxDataObjectManager_h
00010 #define HxDataObjectManager_h
00011 
00012 #include <OB/CORBA.h>
00013 #include "HxString.h"
00014 #include "HxStringList.h"
00015 #include <map>
00016 
00017 
00027 class HxDataObjectManager
00028 {
00029 public:
00030     virtual             ~HxDataObjectManager();
00031 
00035     static void         init(const char* poaName);
00036     
00038     static HxDataObjectManager* getDefault();
00040     static HxDataObjectManager* get(const char* name);
00041 
00045     static void         getNameList(HxStringListBackInserter slPtr);
00046 
00048     virtual void        objectCreated(const PortableServer::ObjectId& oid) = 0;
00049 
00053     virtual void        objectAccessed(const PortableServer::ObjectId& oid) = 0;
00054     
00058     virtual void        objectUsed(const PortableServer::ObjectId& oid) = 0;
00059 
00061     virtual void        objectDeleted(const PortableServer::ObjectId& oid) = 0;
00062 
00066     virtual void        setTotalLimit(HxString unit, int value) = 0;
00067     virtual int         getTotalLimit(HxString unit) = 0;
00068 
00072     virtual void        setObjectLimit(HxString unit, int value) = 0;
00073     virtual int         getObjectLimit(HxString unit) = 0;
00074 
00075     virtual int         getUsed(HxString unit) = 0;
00076 
00078     virtual void        getUnitList(HxStringListBackInserter slPtr) = 0;
00079 
00080 protected:
00081     static void         put(HxDataObjectManager* mgr, const char* name);
00082 
00083 private:
00084     typedef std::map<HxString, HxDataObjectManager*> Map;
00085 
00086     static Map                  _map;
00087     static HxDataObjectManager* _default;
00088 };
00089 
00090 #endif //HxDataObjectManager_h

Generated on Tue Feb 3 14:20:11 2004 for CorbaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001