// ConnectSocket.h : header file #if !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_) #define AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #define LISTSIZE 235 typedef struct { BYTE bsql; BYTE tabcount; BYTE code[100]; DWORD count[100]; DWORD length[100]; }SENDHEAD; class CDataSocket; class CConnectSocket : public CSocket { BOOL m_bLogin; //------------------------------ BYTE *g_ListData[LISTSIZE]; int g_ListLeng[LISTSIZE]; int g_ListSize[LISTSIZE]; BYTE *m_pRevBuf; int m_reved; int m_dateleng; enum // Token ID's { TOK_ABOR, TOK_BYE, TOK_CDUP, TOK_CWD, TOK_DELE, TOK_DIR, TOK_HELP, TOK_LIST, TOK_MKD, TOK_NOOP, TOK_PASS, TOK_PASV, TOK_PORT, TOK_PWD, TOK_QUIT, TOK_REST, TOK_RETR, TOK_RMD, TOK_RNFR, TOK_RNTO, TOK_SIZE, TOK_STOR, TOK_SYST, TOK_TYPE, TOK_USER, TOK_ERROR, }; BOOL m_bSendOK; public: CDatabase *m_pConndb; CDatabase *m_pdb; CArraym_dbarray; SENDHEAD g_sendhead; int m_bPassiveMode; int m_nRemotePort; CDataSocket *m_pDataSocket; struct CFTPCommand { int m_nTokenID; char *m_pszName; BOOL m_bHasArguments; char *m_pszDescription; }; // Attributes public: BOOL MyExecuteSQL(CString sql); void DeleteMemberReg(CString str); void Updatememberreg2(CString memberno); void UpdateMemberCard(CString memberno); void Updatesingleincomemoney(CString id); void UpdateMemberReg3(CString memberno); void UpdateMemberReg4(CString memberno); void UpdateMemberCard2(CString memberno); void UpdateMemberCard3(CString memberno); void UpdateMemberCard2Balance(CString memberno); void UpdateDressBalance(CString dressno); void UpdateBuKuan(CString id); void UpdateBurnCdReg(CString id); void UpdateBuKuan2(CString id); void GetOldStatus2(CArray*array, CString autoid, CString &status1, CString &status2, CString &status3, CString &status4, CString &oldno); void GetDataFromCode(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen,IN DWORD &arraysize,IN CString filter); void GetDataFromCode2(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter); void GetDataFromCode3(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter); void GetDataFromCode4(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter); void GetDataFromCodeMsg(BYTE &code, BYTE **szDataBuf, DWORD &nDataLen, DWORD &arraysize); unsigned long net_Send(IN void *pHeader, IN void *pMessage, IN unsigned long ulDataLen); unsigned long net_Send2(IN void *pMessage, IN unsigned long ulDataLen); void processChatMessageRequest(IN void *pChatMsg); BOOL HasConnectionDropped(void); BOOL SendResponse(LPCTSTR pstrFormat, ...); void FireStatusMessage(LPCTSTR lpszStatus, int nType); BOOL GetRxCommand(CString &command, CString &args); BOOL CreateDataConnection(int nTransferType, LPCTSTR lpszData); void DestroyDataConnection(); // Operations public: CConnectSocket(); virtual ~CConnectSocket(); void ParseCommand(); // Overrides public: void Init(); void UpdateBuKuan3(); CWinThread* m_pThread; BOOL m_bLoggedon; CString m_strUserName; // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CConnectSocket) public: virtual void OnClose(int nErrorCode); virtual void OnReceive(int nErrorCode); virtual void OnConnect(int nErrorCode); //}}AFX_VIRTUAL // Generated message map functions //{{AFX_MSG(CConnectSocket) // NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG // Implementation protected: CStringList m_strCommands; void GetRxLine(); BOOL m_bRenameFile; DWORD m_dwRestartOffset; CString m_strRenameFile; CString m_RxBuffer; CString m_strCurrentDir; }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_)