00001 // ===================================================================== 00029 // ===================================================================== 00030 #ifndef __TOUTPUTOBJECTSHAREDMEMORY_HH 00031 #define __TOUTPUTOBJECTSHAREDMEMORY_HH 00032 00033 #include "Tglobals.h" 00034 #include "TObjectSharedMemory.hh" 00035 #include "TOutputObjectStream.hh" 00036 00037 class TStreamableObject; 00038 class TOutputObjectFilter; 00039 00040 00060 class TOutputObjectSharedMemory 00061 : public TObjectSharedMemory, public TOutputObjectStream 00062 { 00063 00064 public: 00065 TOutputObjectSharedMemory( Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00066 TOutputObjectSharedMemory( TOutputObjectFilter* filter, Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00067 ~TOutputObjectSharedMemory(); 00068 00069 public: 00070 Tint Write( TStreamableObject& object ); 00071 00072 private: 00073 static Tvoid catchSignal( Tint sigid ); 00074 00075 }; 00076 00077 #endif