00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TOUTPUTOBJECTSOCKET_HH 00023 #define __TOUTPUTOBJECTSOCKET_HH 00024 00025 #include "Tglobals.h" 00026 #include "TObjectSocket.hh" 00027 #include "TOutputObjectStream.hh" 00028 00029 class TStreamableObject; 00030 class TObjectFilter; 00031 00032 00052 class TOutputObjectSocket 00053 : public TObjectSocket, public TOutputObjectStream 00054 { 00055 00056 private: 00057 Tstring theServerName; 00058 struct hostent* theHostInformation; 00059 00060 public: 00061 TOutputObjectSocket( const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00062 TOutputObjectSocket( Tint port ); 00063 TOutputObjectSocket( TObjectFilter* filter, const Tstring& hostname = "localhost", Tint port = tDefaultPortNumber ); 00064 TOutputObjectSocket( TObjectFilter* filter, Tint port ); 00065 ~TOutputObjectSocket(); 00066 00067 public: 00068 Tint Write( TStreamableObject& object ); 00069 00070 public: 00071 const Tstring& GetServerName() const; 00072 00073 private: 00074 Tvoid initialize(); 00075 00076 }; 00077 00078 inline const Tstring& TOutputObjectSocket::GetServerName() const 00079 { 00080 return theServerName; 00081 } 00082 00083 #endif