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