00001 // ===================================================================== 00002 // $Id: TInputObjectSharedMemory.hh,v 1.2 2003/07/30 16:19:30 goiwai Exp $ 00003 // $Name: CLDAQ-1-07-01 $ 00004 // 00005 // $Log: TInputObjectSharedMemory.hh,v $ 00006 // Revision 1.2 2003/07/30 16:19:30 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TINPUTOBJECTSHAREDMEMORY_HH 00011 #define __TINPUTOBJECTSHAREDMEMORY_HH 00012 00013 #include "Tglobals.h" 00014 #include "TObjectSharedMemory.hh" 00015 #include "TInputObjectStream.hh" 00016 00017 class TStreamableObject; 00018 class TObjectFilter; 00019 class TDataRecord; 00020 class TDataSection; 00021 class TDataSegment; 00022 class TDataElement; 00023 00024 class TInputObjectSharedMemory 00025 : public TObjectSharedMemory, public TInputObjectStream 00026 { 00027 00028 private: 00029 Tbool theReadSuccessFlag; 00030 00031 public: 00032 TInputObjectSharedMemory( Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00033 TInputObjectSharedMemory( TObjectFilter* filter, Tint memsize = tDefaultMemorySize, Tint maxevt = tDefaultMaxEvent ); 00034 ~TInputObjectSharedMemory(); 00035 00036 public: 00037 Tint Read( TStreamableObject& object ); 00038 00039 public: 00040 Tbool IsReadSuccess() const; 00041 00042 private: 00043 TDataRecord getDataRecord(); 00044 TDataSection getDataSection(); 00045 TDataSegment getDataSegment(); 00046 TDataElement getDataElement(); 00047 Tvoid readProperties( Tint& recsize, Tobject_t& type, Tstring& id, Tsize_t& entries ); 00048 }; 00049 00050 inline Tbool TInputObjectSharedMemory::IsReadSuccess() const 00051 { 00052 return( theReadSuccessFlag ); 00053 } 00054 00055 #endif