| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | //---------------------------------------------------------------------------#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 SuspendThread();  DWORD ResumeThread();  BOOL PostThreadMessage( UINT message , WPARAM wParam, LPARAM lParam);protected:  BOOL InitInstance();  DWORD ExitInstance();  DWORD Run();  static DWORD WINAPI ThreadProc(LPVOID lpParameter);  CCriticalSection 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();  CEvent m_EventStarted;};//---------------------------------------------------------------------------#endif MainThreadH
 |