00001 // ===================================================================== 00002 // $Id: TInputObjectSocket.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-00 $ 00004 // ===================================================================== 00005 #ifndef __TINPUTOBJECTSOCKET_HH 00006 #define __TINPUTOBJECTSOCKET_HH 00007 00008 #include "Tglobals.h" 00009 #include "TObjectSocket.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 TInputObjectSocket 00020 : public TObjectSocket, public TInputObjectStream 00021 { 00022 00023 private: 00024 enum { tDefaultBackLog = 5 }; 00025 00026 private: 00027 Tint theClientDescriptor; 00028 00029 public: 00030 TInputObjectSocket( Tint port = tDefaultPortNumber ); 00031 TInputObjectSocket( TObjectFilter* filter, Tint port = tDefaultPortNumber ); 00032 ~TInputObjectSocket(); 00033 00034 public: 00035 Tint Read( TStreamableObject& object ); 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 Tvoid initialize(); 00044 00045 public: 00046 Tint GetClientDescriptor() const; 00047 // GetClientHostName() 00048 // GetClientPort() 00049 Tint OpenClient(); 00050 Tint CloseClient(); 00051 00052 }; 00053 00054 00055 inline Tint TInputObjectSocket::GetClientDescriptor() const 00056 { 00057 return( theClientDescriptor ); 00058 } 00059 00060 #endif