#ifndef __NETSHAREINFO_HEADER_20150718__ #define __NETSHAREINFO_HEADER_20150718__ #pragma once #define USE_FIX_SHARE 1 // 使用固定共享,旧版本使用; #define MIN_CAPACITY 5 // 硬盘最小可用容量; #define MAX_CAPACITY 20 // 硬盘最小可用容量; class CNetShareInfo { CNetShareInfo(void); public: ~CNetShareInfo(void); static CNetShareInfo* GetInstance() { static CNetShareInfo* pInstance = NULL; if ( pInstance == NULL ) { pInstance = new CNetShareInfo; } return pInstance; } public: static BOOL m_bInit; static LPCTSTR m_lpHostName; static CString m_lpDomain; static CArray *m_pAryOfNetShareInfo; private: // 加载指定目录下的所有相片; static BOOL LoadSpecifiedDirectory(IN LPCTSTR lpSpecifiedDirectory, OUT CStringArray &AryOfImgPath); static BOOL LoadSelectedImageDirectory(IN LPCTSTR lpSpecifiedDirectory, IN CStringArray &AryOfSelectedImages, OUT CStringArray &AryOfImgPath); static BOOL FindPhotoFromNo(IN CString& strName, IN LPCTSTR lpDir, OUT CString& strFilePath); public: static BOOL Initialize(IN LPCTSTR lpDomain, IN LPCTSTR lpHostName, IN CArray *pAryOfNetShareInfo); #if USE_FIX_SHARE static void GetLoaclShareDirectory(IN int const nPhotoType, OUT LPTSTR lpResultPath); #endif static BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum); ////////////////////////////////////////////////////////////////////////// //导入时; // 获取可用的共享目录; static BOOL GetEnableShareDirectory( IN const int &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, OUT LPTSTR lpEnableShareDirectory); ////////////////////////////////////////////////////////////////////////// // 导出时; // 加载选中的相片名; static BOOL LoadSelectedImages( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, IN CStringArray& AryOfSelectedImages, OUT CStringArray& AryOfSelectedImagePaths); // 按选中相片名加载相片; static BOOL LoadOrderBySelectedImages( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, IN CStringArray& AryOfSelectedImages, OUT CStringArray& AryOfSelectedImagePaths); // 加载选中的相片名(相片名前带子目录名,如:"内景\005") // 需要注意的是,这个景点名称必须是订单的一级子目录,不能是二级子目录; static BOOL LoadSelectedImagesEx( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, IN CStringArray& AryOfSelectedImages, OUT CStringArray& AryOfSelectedImagePaths); // 加载订单景点或套系的相片; static BOOL LoadSceneryImages( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, IN LPCTSTR lpScenery, OUT CStringArray& AryOfSceneryImagePaths, OUT CStringArray* pAryOfSceneryDirectory = NULL ); // 加载订单全部相片; static BOOL LoadOrderImages( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, OUT CStringArray& AryOfOrderImagePaths, OUT CStringArray* pAryOfOrderDirectory = NULL ); ////////////////////////////////////////////////////////////////////////// // 删除时; // 获取要删除的订单的全部共享路径,以备删除目录使用; static BOOL GetOrderDirectory( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, OUT CStringArray &AryOfOrderDirectory); // 获取要删除的景点的全部共享路径,以备删除目录使用; static BOOL GetSceneryDirectory( IN CONST INT &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpScenery, IN LPCTSTR lpDomain, OUT CStringArray &AryOfSceneryDirectory); // 获取要删除的相片的共享路径; // 使用函数:LoadSelectedImages的返回参数; // 加载指定目录下的全部相片; static BOOL LoadSpecifiedDirectories(IN CStringArray &AryOfDirectories,IN CStringArray &AryOfRetval); }; #endif