1 // This is a simple class to handle socket connections
2 // (Paul Brannan 6/15/98)
8 enum NetworkType
{TN_NETSOCKET
, TN_NETPIPE
};
10 typedef int(*Naws_func_t
)(char *, int, int);
15 BOOL local_echo
; // Paul Brannan 8/25/98
16 BOOL line_mode
; // Paul Brannan 12/31/98
17 NetworkType net_type
; // Paul Brannan 3/18/99
18 HANDLE pipeIn
, pipeOut
; // Paul Brannan 3/18/99
19 Naws_func_t naws_func
;
23 TNetwork(SOCKET s
= 0): socket(s
), local_echo(1), line_mode(1),
24 net_type(TN_NETSOCKET
), naws_func((Naws_func_t
)NULL
),
25 local_address((char *)NULL
) {}
26 ~TNetwork() {if(local_address
) delete[] local_address
;}
28 void SetSocket(SOCKET s
);
29 SOCKET
GetSocket() {return socket
;}
30 void SetPipe(HANDLE pIn
, HANDLE pOut
);
31 void SetNawsFunc(Naws_func_t func
) {naws_func
= func
;}
32 void SetLocalAddress(char *buf
);
33 const char* GetLocalAddress() {return local_address
;}
35 NetworkType
get_net_type() {return net_type
;}
37 int WriteString(const char *str
, const int length
);
38 int ReadString (char *str
, const int length
);
40 BOOL
get_local_echo() {return local_echo
;}
41 void set_local_echo(BOOL b
) {local_echo
= b
;}
43 BOOL
get_line_mode() {return line_mode
;}
44 void set_line_mode(BOOL b
) {line_mode
= b
;}
46 void do_naws(int width
, int height
);