00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TOUTPUTOBJECTSHAREDMEMORY_HH 00023 #define __TOUTPUTOBJECTSHAREDMEMORY_HH 00024 00025 #include "Tglobals.h" 00026 #include "TObjectSharedMemory.hh" 00027 #include "TOutputObjectStream.hh" 00028 00029 class TStreamableObject; 00030 class TObjectFilter; 00031 00032 00052 class TOutputObjectSharedMemory 00053 : public TObjectSharedMemory, public TOutputObjectStream 00054 { 00055 00056 public: 00057 TOutputObjectSharedMemory( Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00058 TOutputObjectSharedMemory( TObjectFilter* filter, Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00059 ~TOutputObjectSharedMemory(); 00060 00061 public: 00062 Tint Write( TStreamableObject& object ); 00063 00064 private: 00065 static Tvoid catchSignal( Tint sigid ); 00066 00067 }; 00068 00069 #endif