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