UserManager.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #if !defined(AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_)
  2. #define AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #define FTP_DOWNLOAD 1
  7. #define FTP_UPLOAD 2
  8. #define FTP_RENAME 3
  9. #define FTP_DELETE 4
  10. #define FTP_CREATE_DIR 5
  11. #define FTP_LIST 6
  12. class CDirectory : public CObject
  13. {
  14. DECLARE_SERIAL(CDirectory)
  15. CDirectory();
  16. virtual ~CDirectory();
  17. public:
  18. virtual void Serialize(CArchive&);
  19. CDirectory (const CDirectory &dir); // copy-constructor
  20. CDirectory &operator=(const CDirectory &dir); // =-operator
  21. CString m_strDir;
  22. CString m_strAlias;
  23. BOOL m_bAllowDownload;
  24. BOOL m_bAllowUpload;
  25. BOOL m_bAllowRename;
  26. BOOL m_bAllowDelete;
  27. BOOL m_bAllowCreateDirectory;
  28. BOOL m_bIsHomeDir;
  29. };
  30. class CUser : public CObject
  31. {
  32. DECLARE_SERIAL(CUser)
  33. CUser();
  34. virtual ~CUser();
  35. public:
  36. virtual void Serialize(CArchive&);
  37. CUser (const CUser &user); // copy-constructor
  38. CUser &operator=(const CUser &user); // =-operator
  39. CString m_strName;
  40. CString m_strPassword;
  41. CArray <CDirectory, CDirectory&> m_DirectoryArray;
  42. BOOL m_bAccountDisabled;
  43. };
  44. class CUserManager
  45. {
  46. public:
  47. void GetUserList(CArray<CUser, CUser&>&array);
  48. void UpdateUserList(CArray<CUser, CUser&>&array);
  49. CUserManager();
  50. virtual ~CUserManager();
  51. CArray<CUser, CUser&> m_UserArray;
  52. BOOL Serialize(BOOL bStoring);
  53. BOOL GetUser(LPCTSTR lpszUser, CUser &user);
  54. BOOL ConvertPathToLocal(LPCTSTR lpszUser, CString &strDirectoryIn, CString &strDirectoryOut);
  55. int CheckDirectory(LPCTSTR lpszUser, CString dirname, CString strCurrentdir, int nOption, CString &strResult);
  56. int CheckFileName(LPCTSTR lpszUser, CString filename, CString strCurrentdir, int nOption, CString &strResult);
  57. int ChangeDirectory(LPCTSTR lpszUser, CString &currentdir, CString &dir);
  58. int GetDirectoryList(LPCTSTR lpszUser, LPCTSTR lpszDirectory, CString &strResult);
  59. BOOL FileExists(LPCTSTR lpszFileName, BOOL bIsDirCheck = TRUE);
  60. protected:
  61. BOOL CheckAccessRights(LPCTSTR lpszUser, LPCTSTR lpszDirectory, int nOption);
  62. CString GetFileDate(CFileFind &find);
  63. CString m_strFilename;
  64. CCriticalSection m_CriticalSection;
  65. };
  66. #endif // !defined(AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_)