source: filezilla/trunk/fuentes/src/interface/netconfwizard.h @ 130

Last change on this file since 130 was 130, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 2.0 KB
Line 
1#ifndef __NETCONFWIZARD_H__
2#define __NETCONFWIZARD_H__
3
4#include <wx/wizard.h>
5#include "wrapengine.h"
6#include "externalipresolver.h"
7#include <wx/socket.h>
8#include <wx/timer.h>
9
10#define NETCONFBUFFERSIZE 100
11
12class COptions;
13
14class CNetConfWizard final : public wxWizard, protected CWrapEngine, protected CEventHandler
15{
16public:
17        CNetConfWizard(wxWindow* parent, COptions* pOptions, CFileZillaEngineContext & context);
18        virtual ~CNetConfWizard();
19
20        bool Load();
21        bool Run();
22
23protected:
24
25        void PrintMessage(const wxString& msg, int type);
26
27        void ResetTest();
28
29        wxWindow* m_parent;
30        COptions* m_pOptions;
31
32        std::vector<wxWizardPageSimple*> m_pages;
33
34        DECLARE_EVENT_TABLE()
35        void OnPageChanging(wxWizardEvent& event);
36        void OnPageChanged(wxWizardEvent& event);
37        void OnSocketEvent(wxSocketEvent& event);
38        void OnRestart(wxCommandEvent& event);
39        void OnFinish(wxWizardEvent& event);
40        void OnTimer(wxTimerEvent& event);
41        void OnExternalIPAddress2(wxCommandEvent&);
42
43        virtual void operator()(CEventBase const& ev);
44        void OnExternalIPAddress();
45
46        void OnReceive();
47        void ParseResponse(const char* line);
48        void OnClose();
49        void OnConnect();
50        void OnSend();
51        void CloseSocket();
52        bool Send(wxString cmd);
53        void OnDataReceive();
54        void OnDataClose();
55
56        void OnAccept();
57
58        void SendNextCommand();
59
60        wxString GetExternalIPAddress();
61
62        int CreateListenSocket();
63        int CreateListenSocket(unsigned int port);
64
65        wxString m_nextLabelText;
66
67        // Test data
68        wxSocketClient* m_socket;
69        int m_state;
70
71        char m_recvBuffer[NETCONFBUFFERSIZE];
72        int m_recvBufferPos;
73        bool m_testDidRun;
74        bool m_connectSuccessful;
75
76        enum testResults
77        {
78                unknown,
79                successful,
80                mismatch,
81                tainted,
82                mismatchandtainted,
83                servererror,
84                externalfailed,
85                datatainted
86        } m_testResult;
87
88        CExternalIPResolver* m_pIPResolver;
89        wxString m_externalIP;
90
91        wxSocketServer* m_pSocketServer;
92        wxSocketBase* m_pDataSocket;
93        int m_listenPort;
94        bool gotListReply;
95        int m_data;
96
97        char* m_pSendBuffer;
98
99        wxTimer m_timer;
100};
101
102#endif //__NETCONFWIZARD_H__
Note: See TracBrowser for help on using the repository browser.