Main Page | Class List | File List | Class Members | File Members

TelepatiPkgMemMng.h

00001 /* TelepatiPkgMemMng
00002    
00003    Memory manager per i TelepatiPkg. Si occupa della creazione, gestione e distruzione dell'area di memoria condivisa necessaria per lo scambio di messaggi di tipo TelepatiPkg (o ereditieri) tra oggetti OPENR
00004 */
00005 
00006 #ifndef TELEPATIPKGMEMMNG_H_DEF
00007 #define TELEPATIPKGMEMMNG_H_DEF
00008 
00009 #include "TelepatiPkg.h"
00010 #include <OPENR/RCRegion.h>
00011 #include <OPENR/OSyslog.h>
00012 
00013 using namespace std;
00014 
00015 class TelepatiPkgMemMng {
00016 #include "TelepatiCfg.h"
00017  public:
00018   TelepatiPkgMemMng() { 
00019     shareRegion=new RCRegion(SHARE_REGION_MAX_SIZE);
00020     OSYSDEBUG(("Creata RCRegion, ref= %d\n", shareRegion->NumberOfReference()));};
00021   
00022   ~TelepatiPkgMemMng() { 
00023     OSYSDEBUG(("Quasi distsrutta RCRegion, ref= %d\n", shareRegion->NumberOfReference()));
00024     shareRegion->RemoveReference();};
00025   
00026   RCRegion* pkgToRCRegion(TelepatiPkg* pkg);  //ritorna un puntatore a memoria condivisa contenente l'obj passato come parametro
00027   TelepatiPkg* pkgFromRCRegion(RCRegion* region);  //ritorna l'oggetto contenuto nella memoria condivisa passata come parametro
00028 
00029   inline int numOfReference() { return shareRegion->NumberOfReference();};
00030   inline void justSent() { };
00031 //shareRegion->RemoveReference();}
00032 
00033  private:
00034   RCRegion* shareRegion;
00035 };
00036 
00037 
00038 #endif

Generated on Mon Oct 18 14:28:00 2004 for Telepati by  doxygen 1.3.9.1