NetShareInfo.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #ifndef __NETSHAREINFO_HEADER_20150718__
  2. #define __NETSHAREINFO_HEADER_20150718__
  3. #pragma once
  4. #define USE_FIX_SHARE 1 // 使用固定共享,旧版本使用;
  5. #define MIN_CAPACITY 5 // 硬盘最小可用容量;
  6. #define MAX_CAPACITY 20 // 硬盘最小可用容量;
  7. class CNetShareInfo
  8. {
  9. CNetShareInfo(void);
  10. public:
  11. ~CNetShareInfo(void);
  12. static CNetShareInfo* GetInstance()
  13. {
  14. static CNetShareInfo* pInstance = NULL;
  15. if ( pInstance == NULL )
  16. {
  17. pInstance = new CNetShareInfo;
  18. }
  19. return pInstance;
  20. }
  21. public:
  22. static BOOL m_bInit;
  23. static LPCTSTR m_lpHostName;
  24. static CString m_lpDomain;
  25. static CArray<CStringArray,CStringArray> *m_pAryOfNetShareInfo;
  26. private:
  27. // 加载指定目录下的所有相片;
  28. static BOOL LoadSpecifiedDirectory(IN LPCTSTR lpSpecifiedDirectory, OUT CStringArray &AryOfImgPath);
  29. static BOOL LoadSelectedImageDirectory(IN LPCTSTR lpSpecifiedDirectory, IN CStringArray &AryOfSelectedImages, OUT CStringArray &AryOfImgPath);
  30. static BOOL FindPhotoFromNo(IN CString& strName, IN LPCTSTR lpDir, OUT CString& strFilePath);
  31. public:
  32. static BOOL Initialize(IN LPCTSTR lpDomain, IN LPCTSTR lpHostName, IN CArray<CStringArray,CStringArray> *pAryOfNetShareInfo);
  33. #if USE_FIX_SHARE
  34. static void GetLoaclShareDirectory(IN int const nPhotoType, OUT LPTSTR lpResultPath);
  35. #endif
  36. static BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum);
  37. //////////////////////////////////////////////////////////////////////////
  38. //导入时;
  39. // 获取可用的共享目录;
  40. static BOOL GetEnableShareDirectory(
  41. IN const int &nPhotoType,
  42. IN LPCTSTR lpOrderNum,
  43. IN LPCTSTR lpDomain,
  44. OUT LPTSTR lpEnableShareDirectory);
  45. //////////////////////////////////////////////////////////////////////////
  46. // 导出时;
  47. // 加载选中的相片名;
  48. static BOOL LoadSelectedImages(
  49. IN CONST INT &nPhotoType,
  50. IN LPCTSTR lpOrderNum,
  51. IN LPCTSTR lpDomain,
  52. IN CStringArray& AryOfSelectedImages,
  53. OUT CStringArray& AryOfSelectedImagePaths);
  54. // 按选中相片名加载相片;
  55. static BOOL LoadOrderBySelectedImages(
  56. IN CONST INT &nPhotoType,
  57. IN LPCTSTR lpOrderNum,
  58. IN LPCTSTR lpDomain,
  59. IN CStringArray& AryOfSelectedImages,
  60. OUT CStringArray& AryOfSelectedImagePaths);
  61. // 加载选中的相片名(相片名前带子目录名,如:"内景\005")
  62. // 需要注意的是,这个景点名称必须是订单的一级子目录,不能是二级子目录;
  63. static BOOL LoadSelectedImagesEx(
  64. IN CONST INT &nPhotoType,
  65. IN LPCTSTR lpOrderNum,
  66. IN LPCTSTR lpDomain,
  67. IN CStringArray& AryOfSelectedImages,
  68. OUT CStringArray& AryOfSelectedImagePaths);
  69. // 加载订单景点或套系的相片;
  70. static BOOL LoadSceneryImages(
  71. IN CONST INT &nPhotoType,
  72. IN LPCTSTR lpOrderNum,
  73. IN LPCTSTR lpDomain,
  74. IN LPCTSTR lpScenery,
  75. OUT CStringArray& AryOfSceneryImagePaths,
  76. OUT CStringArray* pAryOfSceneryDirectory = NULL );
  77. // 加载订单全部相片;
  78. static BOOL LoadOrderImages(
  79. IN CONST INT &nPhotoType,
  80. IN LPCTSTR lpOrderNum,
  81. IN LPCTSTR lpDomain,
  82. OUT CStringArray& AryOfOrderImagePaths,
  83. OUT CStringArray* pAryOfOrderDirectory = NULL );
  84. //////////////////////////////////////////////////////////////////////////
  85. // 删除时;
  86. // 获取要删除的订单的全部共享路径,以备删除目录使用;
  87. static BOOL GetOrderDirectory(
  88. IN CONST INT &nPhotoType,
  89. IN LPCTSTR lpOrderNum,
  90. IN LPCTSTR lpDomain,
  91. OUT CStringArray &AryOfOrderDirectory);
  92. // 获取要删除的景点的全部共享路径,以备删除目录使用;
  93. static BOOL GetSceneryDirectory(
  94. IN CONST INT &nPhotoType,
  95. IN LPCTSTR lpOrderNum,
  96. IN LPCTSTR lpScenery,
  97. IN LPCTSTR lpDomain,
  98. OUT CStringArray &AryOfSceneryDirectory);
  99. // 获取要删除的相片的共享路径;
  100. // 使用函数:LoadSelectedImages的返回参数;
  101. // 加载指定目录下的全部相片;
  102. static BOOL LoadSpecifiedDirectories(IN CStringArray &AryOfDirectories,IN CStringArray &AryOfRetval);
  103. };
  104. #endif