Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.2 KiB

  1. /*++
  2. Microsoft Windows
  3. Copyright (C) Microsoft Corporation, 1994 - 1998
  4. Module Name:
  5. FileInfo.hxx
  6. Abstract:
  7. see fileinfo.cxx
  8. Author:
  9. Rahul Thombre (RahulTh) 4/5/1998
  10. Revision History:
  11. 4/5/1998 RahulTh Created this module.
  12. 6/23/1998 RahulTh Added comments
  13. --*/
  14. #ifndef __FILEINFO_HXX__
  15. #define __FILEINFO_HXX__
  16. #define _NEW_
  17. #include <map>
  18. using namespace std;
  19. class CFileInfo
  20. {
  21. friend class CScopePane;
  22. friend class CResultPane;
  23. friend class CRedirect;
  24. friend class CRedirPref;
  25. friend class CFileInfo;
  26. private:
  27. static UINT class_res_id;
  28. protected:
  29. public:
  30. long m_cookie; //the cookie for this folder
  31. CString m_szFileRoot;
  32. CRedirect* m_pRedirPage; //the pointers to the redirection info. of special folders
  33. CRedirPref* m_pSettingsPage; //the property page for redirection settings
  34. BOOL m_bSettingsInitialized; //indicates if the settings page has
  35. //received the INITDIALOG message
  36. CString m_szRelativePath; //relative path of the folder in the userprofile
  37. //it is the same as the display name except for
  38. //special descendant folders
  39. CString m_szDisplayname;
  40. CString m_szEnglishDisplayName;
  41. CString m_szTypename;
  42. HSCOPEITEM m_scopeID;
  43. DWORD m_dwFlags;
  44. BOOL m_bHideChildren;
  45. vector <CString> m_RedirGroups;
  46. vector <CString> m_RedirPaths;
  47. public:
  48. CFileInfo (LPCTSTR lpszFullPathname = NULL);
  49. ~CFileInfo(); //destructor
  50. void SetScopeItemID (IN LONG scopeID);
  51. void Initialize (long cookie, LPCTSTR szGPTPath);
  52. HRESULT LoadSection (void);
  53. DWORD SaveSection (void);
  54. DWORD Insert (const CString& szKey, const CString& szVal,
  55. BOOL fReplace, BOOL fSaveSection = TRUE);
  56. DWORD Delete (const CString& szKey, BOOL fSaveSection = TRUE);
  57. void CFileInfo::DeleteAllItems (void);
  58. };
  59. //hardcoded names of folders to avoid localization. These names are used
  60. //to create the sections in the ini file on the sysvol and we do not want
  61. //the names of the sections to get localized
  62. extern WCHAR * g_szEnglishNames [];
  63. #endif //__FILEINFO_HXX__