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

Last change on this file since 3185 was 3185, checked in by jrpelegrina, 2 years ago

Update new version: 3.15.02

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/timer.h>
8#include "socket.h"
9
10#define NETCONFBUFFERSIZE 100
11
12class COptions;
13
14class CNetConfWizard final : public wxWizard, protected CWrapEngine, protected fz::event_handler
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 OnRestart(wxCommandEvent& event);
38        void OnFinish(wxWizardEvent& event);
39        void OnTimer(wxTimerEvent& event);
40        void OnExternalIPAddress2(wxCommandEvent&);
41
42        virtual void operator()(fz::event_base const& ev);
43        void OnExternalIPAddress();
44        void OnSocketEvent(CSocketEventSource*, SocketEventType t, int error);
45       
46        void DoOnSocketEvent(CSocketEventSource*, SocketEventType t, int error);
47
48        void OnReceive();
49        void ParseResponse(const char* line);
50        void OnClose();
51        void OnConnect();
52        void OnSend();
53        void CloseSocket();
54        bool Send(wxString cmd);
55        void OnDataReceive();
56        void OnDataClose();
57
58        void OnAccept();
59
60        void SendNextCommand();
61
62        wxString GetExternalIPAddress();
63
64        int CreateListenSocket();
65        int CreateListenSocket(unsigned int port);
66
67        wxString m_nextLabelText;
68
69        // Test data
70        CSocket* m_socket{};
71        int m_state;
72
73        char m_recvBuffer[NETCONFBUFFERSIZE];
74        int m_recvBufferPos;
75        bool m_testDidRun;
76        bool m_connectSuccessful;
77
78        enum testResults
79        {
80                unknown,
81                successful,
82                mismatch,
83                tainted,
84                mismatchandtainted,
85                servererror,
86                externalfailed,
87                datatainted
88        } m_testResult;
89
90        CExternalIPResolver* m_pIPResolver;
91        wxString m_externalIP;
92
93        CSocket* m_pSocketServer{};
94        CSocket* m_pDataSocket{};
95        int m_listenPort;
96        bool gotListReply;
97        int m_data;
98
99        char* m_pSendBuffer;
100
101        wxTimer m_timer;
102};
103
104#endif //__NETCONFWIZARD_H__
Note: See TracBrowser for help on using the repository browser.