1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //---------------------------------------------------------------------------
- #ifndef MainThreadH
- #define MainThreadH
- //---------------------------------------------------------------------------
- #include "FtpControlSocket.h"
- #include "structures.h"
- #include "FileZillaApi.h"
- #include "ApiLog.h"
- //---------------------------------------------------------------------------
- #define FZAPI_THREADMSG_PROCESSREPLY 0
- #define FZAPI_THREADMSG_COMMAND 1
- #define FZAPI_THREADMSG_TRANSFEREND 2
- #define FZAPI_THREADMSG_CANCEL 3
- #define FZAPI_THREADMSG_DISCONNECT 4
- #define FZAPI_THREADMSG_ASYNCREQUESTREPLY 5
- #define FZAPI_THREADMSG_POSTKEEPALIVE 6
- //---------------------------------------------------------------------------
- class CMainThread : public CApiLog
- {
- protected:
- CMainThread();
- public:
- // Operationen
- DWORD m_dwThreadId;
- HANDLE m_hThread;
- static CMainThread * Create(int nPriority, DWORD dwCreateFlags);
- void SetWorkingDir(t_directory * pWorkingDir);
- BOOL GetWorkingDir(t_directory * pWorkingDir);
- void SendDirectoryListing(t_directory * pDirectoryToSend);
- bool UsingMlsd();
- bool UsingUtf8();
- std::string GetTlsVersionStr();
- std::string GetCipherName();
- t_command m_LastCommand;
- void SetCurrentPath(CServerPath path);
- void Quit();
- BOOL GetCurrentServer(t_server & server);
- bool GetCurrentPath(CServerPath & dir);
- CServerPath GetCurrentPath();
- void SetConnected(BOOL bConnected = TRUE);
- BOOL m_bConnected;
- void SetBusy(BOOL bBusy);
- BOOL LastOperationSuccessful();
- void Command(const t_command & command);
- BOOL IsBusy();
- CFileZillaTools * m_pTools;
- BOOL m_bBusy;
- unsigned int m_nInternalMessageID;
- BOOL IsConnected();
- __int64 GetAsyncRequestID() const;
- __int64 GetNextAsyncRequestID();
- virtual int OnThreadMessage(UINT Msg, WPARAM wParam, LPARAM lParam);
- DWORD ResumeThread();
- BOOL PostThreadMessage( UINT message , WPARAM wParam, LPARAM lParam);
- protected:
- BOOL InitInstance();
- DWORD ExitInstance();
- DWORD Run();
- static DWORD WINAPI ThreadProc(LPVOID lpParameter);
- CCriticalSectionWrapper m_CriticalSection;
- CFtpControlSocket * m_pControlSocket;
- __int64 m_nAsyncRequestID;
- void OnTimer(WPARAM wParam, LPARAM lParam);
- protected:
- t_directory * m_pWorkingDir;
- std::map<int, int> m_Options;
- BOOL m_bQuit;
- t_command * m_pPostKeepAliveCommand;
- CServerPath m_CurrentPath;
- UINT m_nTimerID;
- virtual ~CMainThread();
- bool m_Started;
- };
- //---------------------------------------------------------------------------
- #endif MainThreadH
|