00001
00002
00003
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);
00027 TelepatiPkg* pkgFromRCRegion(RCRegion* region);
00028
00029 inline int numOfReference() { return shareRegion->NumberOfReference();};
00030 inline void justSent() { };
00031
00032
00033 private:
00034 RCRegion* shareRegion;
00035 };
00036
00037
00038 #endif