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.

68 lines
2.1 KiB

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