00001 // ===================================================================== 00036 // ===================================================================== 00037 #ifndef CLDAQ__TOUTPUTOBJECTSOCKET_HH 00038 #define CLDAQ__TOUTPUTOBJECTSOCKET_HH 00039 00040 #include "Tglobals.h" 00041 #include "TObjectSocket.hh" 00042 #include "TOutputObjectStream.hh" 00043 00044 class TStreamableObject; 00045 class TObjectFilter; 00046 class TOutputObjectFilter; 00047 00048 00068 class TOutputObjectSocket 00069 : public TObjectSocket, public TOutputObjectStream 00070 { 00071 00072 private: 00073 Tstring theServerName; 00074 struct hostent* theHostInformation; 00075 00076 public: 00077 TOutputObjectSocket( const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00078 TOutputObjectSocket( Tint port ); 00079 TOutputObjectSocket( TOutputObjectFilter* filter, const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00080 TOutputObjectSocket( TOutputObjectFilter* filter, Tint port ); 00081 ~TOutputObjectSocket(); 00082 00083 public: 00084 Tint Write( TStreamableObject& object ); 00085 00086 public: 00087 const Tstring& GetServerName() const; 00088 00089 private: 00090 Tvoid initialize(); 00091 00092 #ifdef __CLDAQ_ROOT_DLL 00093 ClassDef(TOutputObjectSocket,0) 00094 #endif 00095 00096 }; 00097 00098 inline const Tstring& TOutputObjectSocket::GetServerName() const 00099 { 00100 return theServerName; 00101 } 00102 00103 #endif