Marcelo Slomp (mslomp@linuxmail.org):
[reactos.git] / reactos / base / applications / network / telnet / src / tnclass.h
1 #ifndef __TNCLASS_H_
2 #define __TNCLASS_H_
3
4 #include <windows.h>
5 #include "tnconfig.h"
6 #include "ttelhndl.h"
7 #include "tncon.h"
8 #include "tnerror.h"
9 #include "tparams.h"
10 #include "keytrans.h"
11 #include "ansiprsr.h"
12 #include "tcharmap.h"
13 #include "tnclip.h"
14 #include "tmouse.h"
15 #include "tmapldr.h"
16
17 class Telnet {
18 public:
19 // create a telnet instance
20 Telnet();
21 // open a connection return on break/quit
22 Telnet(const char * szHost1, const char *strPort1);
23 ~Telnet();
24
25 // open a connection return on break/quit
26 int Open(const char *szHost, const char *strPort = "23");
27 int Close(); // close current connection
28 int Resume(); // resume current session
29
30 // changes to the keymap profile in the file
31 int LoadKeyMap( const char * file, const char * name);
32 void DisplayKeyMap(); // display available keymaps
33 int SwitchKeyMap(int); // switch to selected keymap
34 private:
35 SOCKET Connect();
36 void telSetConsoleTitle(const char * szHost);
37 void DoInit();
38
39 SOCKET Socket;
40 char strPort[32]; // int iPort;
41 char szHost[127];
42 volatile int bConnected;
43 volatile int bWinsockUp;
44 volatile int bNetPaused;
45 volatile int bNetFinished;
46 volatile int bNetFinish;
47
48 // The order of member classes in the class definition MUST come in
49 // this order! (Paul Brannan 12/4/98)
50 TNetwork Network;
51 TCharmap Charmap;
52 KeyTranslator KeyTrans;
53 TMapLoader MapLoader;
54 TConsole Console;
55 TTelnetHandler TelHandler;
56 TelThreadParams ThreadParams;
57 Tnclip Clipboard;
58 TMouse Mouse;
59 TScroller Scroller;
60 TANSIParser Parser;
61
62 HWND hConsoleWindow; // Paul Brannan 8/10/98
63 LPARAM oldBIcon, oldSIcon; // Paul Brannan 8/10/98
64 bool iconChange;
65
66 HANDLE hThread; // Paul Brannan 8/11/98
67 HANDLE hProcess; // Paul Brannan 7/15/99
68
69 void NewProcess(); // Paul Brannan 9/13/98
70 void SetLocalAddress(SOCKET s);
71 };
72
73 #endif
74