00001 // ===================================================================== 00002 // $Id: TInputObjectSocket.hh,v 1.2 2003/07/30 16:19:30 goiwai Exp $ 00003 // $Name: CLDAQ-1-07-01 $ 00004 // 00005 // $Log: TInputObjectSocket.hh,v $ 00006 // Revision 1.2 2003/07/30 16:19:30 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TINPUTOBJECTSOCKET_HH 00011 #define __TINPUTOBJECTSOCKET_HH 00012 00013 #include "Tglobals.h" 00014 #include "TObjectSocket.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 TInputObjectSocket 00025 : public TObjectSocket, public TInputObjectStream 00026 { 00027 00028 private: 00029 enum { tDefaultBackLog = 5 }; 00030 00031 private: 00032 Tint theClientDescriptor; 00033 00034 public: 00035 TInputObjectSocket( Tint port = tDefaultPortNumber ); 00036 TInputObjectSocket( TObjectFilter* filter, Tint port = tDefaultPortNumber ); 00037 ~TInputObjectSocket(); 00038 00039 public: 00040 Tint Read( TStreamableObject& object ); 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 Tvoid initialize(); 00049 00050 public: 00051 Tint GetClientDescriptor() const; 00052 // GetClientHostName() 00053 // GetClientPort() 00054 Tint OpenClient(); 00055 Tint CloseClient(); 00056 00057 }; 00058 00059 00060 inline Tint TInputObjectSocket::GetClientDescriptor() const 00061 { 00062 return( theClientDescriptor ); 00063 } 00064 00065 #endif