00001 // ===================================================================== 00032 // ===================================================================== 00033 #ifndef CLDAQ__TOUTPUTOBJECTSOCKET_HH 00034 #define CLDAQ__TOUTPUTOBJECTSOCKET_HH 00035 00036 #include "Tglobals.h" 00037 #include "TObjectSocket.hh" 00038 #include "TOutputObjectStream.hh" 00039 00040 class TStreamableObject; 00041 class TObjectFilter; 00042 class TOutputObjectFilter; 00043 00044 00064 class TOutputObjectSocket 00065 : public TObjectSocket, public TOutputObjectStream 00066 { 00067 00068 private: 00069 Tstring theServerName; 00070 struct hostent* theHostInformation; 00071 00072 public: 00073 TOutputObjectSocket( const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00074 TOutputObjectSocket( Tint port ); 00075 TOutputObjectSocket( TOutputObjectFilter* filter, const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00076 TOutputObjectSocket( TOutputObjectFilter* filter, Tint port ); 00077 ~TOutputObjectSocket(); 00078 00079 public: 00080 Tint Write( TStreamableObject& object ); 00081 00082 public: 00083 const Tstring& GetServerName() const; 00084 00085 private: 00086 Tvoid initialize(); 00087 00088 }; 00089 00090 inline const Tstring& TOutputObjectSocket::GetServerName() const 00091 { 00092 return theServerName; 00093 } 00094 00095 #endif