Leaked source code of windows server 2003
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.

66 lines
2.2 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. // File: _espopts.h
  4. // Copyright (C) 1994-1997 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. //
  8. //
  9. //-----------------------------------------------------------------------------
  10. #if !defined(LOCUTIL__espopts_h_INCLUDED)
  11. #define LOCUTIL__espopts_h_INCLUDED
  12. LTAPIENTRY BOOL RegisterOptions(CLocUIOptionSet *);
  13. LTAPIENTRY void UnRegisterOptions(const TCHAR *szName);
  14. LTAPIENTRY BOOL GetOptionValue(const TCHAR *szName, CLocOptionVal *&);
  15. LTAPIENTRY BOOL GetGroupName(const TCHAR * szName, CLString & strGroup);
  16. LTAPIENTRY BOOL SetOptionDefault(const TCHAR *szName, const CLocVariant &);
  17. LTAPIENTRY const CLocUIOptionSetList & GetOptions(void);
  18. LTAPIENTRY CLocOptionValStore * GetOptionStore(CLocUIOption::StorageType);
  19. LTAPIENTRY void SetOptionStore(CLocUIOption::StorageType, CLocOptionValStore *);
  20. LTAPIENTRY void UpdateOptionValues(void);
  21. LTAPIENTRY void SummarizeOptions(CReport *);
  22. #pragma warning(disable : 4251) // class 'foo' needs to have dll-interface
  23. // to be used by clients of class 'bar'
  24. class LTAPIENTRY CLocOptionManager
  25. {
  26. public:
  27. const CLocUIOptionSetList &GetOptions(void);
  28. CLocOptionValStore *GetOptionStore(CLocUIOption::StorageType);
  29. void SetOptionStore(CLocUIOption::StorageType, CLocOptionValStore *);
  30. BOOL RegisterOptions(CLocUIOptionSet *);
  31. void UnRegisterOptions(const TCHAR *szOptSetName);
  32. BOOL GetOptionValue(const TCHAR *szName, CLocOptionVal *&);
  33. BOOL GetOptionValue(const TCHAR *szGroupName, const TCHAR *szName,
  34. CLocOptionVal *&);
  35. void UpdateOptionValues(void);
  36. void SummarizeOptionValues(CReport *pReport);
  37. BOOL SetOptionDefault(const TCHAR *szName, const
  38. CLocVariant &varValue);
  39. void UpdateCurrentValue(CLocUIOption *pOption);
  40. BOOL GetGroupName(const TCHAR* szName, CLString& strGroup);
  41. protected:
  42. void NotifyAll(void);
  43. void GetCurrentValue(CLocUIOption *, CLocOptionVal *&);
  44. void DumpOptionSet(CLocUIOptionSet *, UINT, CReport *);
  45. private:
  46. CLocUIOptionSetList m_osOptSetList;
  47. SmartRef<CLocOptionValStore> m_spUserStore;
  48. SmartRef<CLocOptionValStore> m_spOverrideStore;
  49. };
  50. #pragma warning(default : 4251)
  51. #endif // LOCUTIL__espopts_h_INCLUDED