00001 // ===================================================================== 00036 // ===================================================================== 00037 #ifndef CLDAQ__TOUTPUTOBJECTSHAREDMEMORY_HH 00038 #define CLDAQ__TOUTPUTOBJECTSHAREDMEMORY_HH 00039 00040 #include "Tglobals.h" 00041 #include "TObjectSharedMemory.hh" 00042 #include "TOutputObjectStream.hh" 00043 00044 class TStreamableObject; 00045 class TOutputObjectFilter; 00046 00047 00067 class TOutputObjectSharedMemory 00068 : public TObjectSharedMemory, public TOutputObjectStream 00069 { 00070 00071 public: 00072 TOutputObjectSharedMemory( Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00073 TOutputObjectSharedMemory( TOutputObjectFilter* filter, Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00074 ~TOutputObjectSharedMemory(); 00075 00076 public: 00077 Tint Write( TStreamableObject& object ); 00078 00079 private: 00080 static Tvoid catchSignal( Tint sigid ); 00081 00082 #ifdef __CLDAQ_ROOT_DLL 00083 ClassDef(TOutputObjectSharedMemory,0) 00084 #endif 00085 00086 }; 00087 00088 #endif