00001 // ===================================================================== 00002 // $Id: TInputObjectSharedMemory.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-00 $ 00004 // ===================================================================== 00005 #ifndef __TINPUTOBJECTSHAREDMEMORY_HH 00006 #define __TINPUTOBJECTSHAREDMEMORY_HH 00007 00008 #include "Tglobals.h" 00009 #include "TObjectSharedMemory.hh" 00010 #include "TInputObjectStream.hh" 00011 00012 class TStreamableObject; 00013 class TObjectFilter; 00014 class TDataRecord; 00015 class TDataSection; 00016 class TDataSegment; 00017 class TDataElement; 00018 00019 class TInputObjectSharedMemory 00020 : public TObjectSharedMemory, public TInputObjectStream 00021 { 00022 00023 private: 00024 Tbool theReadSuccessFlag; 00025 00026 public: 00027 TInputObjectSharedMemory( Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00028 TInputObjectSharedMemory( TObjectFilter* filter, Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00029 ~TInputObjectSharedMemory(); 00030 00031 public: 00032 Tint Read( TStreamableObject& object ); 00033 00034 public: 00035 Tbool IsReadSuccess() const; 00036 00037 private: 00038 TDataRecord getDataRecord(); 00039 TDataSection getDataSection(); 00040 TDataSegment getDataSegment(); 00041 TDataElement getDataElement(); 00042 Tvoid readProperties( Tint& recsize, Tobject_t& type, Tstring& id, Tsize_t& entries ); 00043 }; 00044 00045 inline Tbool TInputObjectSharedMemory::IsReadSuccess() const 00046 { 00047 return( theReadSuccessFlag ); 00048 } 00049 00050 #endif