00001 00002 #ifndef _Q_SHARED_MEMORY_ 00003 #define _Q_SHARED_MEMORY_ 00004 00005 #include "QError.hh" 00006 00013 class QSharedMemory 00014 { 00015 public: 00017 QSharedMemory(); 00018 00024 virtual ~QSharedMemory(); 00025 00027 const QError& GetError() const { return fError; } 00028 00029 protected: 00030 00031 QError fError; 00032 00037 virtual bool Init(bool owner, int shmId) = 0; 00038 00039 bool IsOwner() const { return fOwner; } 00040 00046 void* const GetShmPointer() { return fPointer; } 00047 00056 bool InitInternal(bool owner, int shmId, int shmSize); 00057 00058 private: 00060 int fHandle; 00062 bool fOwner; 00064 void *fPointer; 00065 }; 00066 #endif