00001 #ifndef __sstream_h__
00002 #define __sstream_h__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <socket++/sockinet.h>
00013
00024 class sstream:public iosockinet {
00025 char _name[256];
00026 char _service[256];
00027 int connected;
00028 public:
00029 sstream():iosockinet(sockbuf::sock_stream) {
00030 _name[0] = '\0';
00031 _service[0] = '\0';
00032 connected = 0;
00033 setstate(std::ios::badbit);
00034 rdbuf()->setname ("upstream server socket");
00035 } sstream(char *name,
00036 char *service):iosockinet(sockbuf::sock_stream) {
00037 rdbuf()->setname ("upstream server socket");
00038 connectTo(name, service);
00039 }
00040 sstream(char *name, char *service,
00041 char *from):iosockinet(sockbuf::sock_stream) {
00042 rdbuf()->setname ("upstream server socket");
00043 connectTo(name, service, from);
00044 }
00045 ~sstream() {
00046 disconnect();
00047 }
00048
00049 const char *hostname() {
00050 return _name;
00051 }
00052 const char *servicename() {
00053 return _service;
00054 }
00055 int is_connected();
00056 void connectTo(char *name, char *service);
00057 void connectTo(char *name, char *service, char *from);
00058 void disconnect();
00059 };
00060
00061 #endif