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