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.

90 lines
2.7 KiB

  1. /********************************************************************
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. seconfig.h
  5. Abstract:
  6. This is the Search Engine Config .h file
  7. Revision History:
  8. gschua created 3/22/2000
  9. ********************************************************************/
  10. #if !defined(__INCLUDED___PCH___SECONFIG_H___)
  11. #define __INCLUDED___PCH___SECONFIG_H___
  12. #include <MPC_config.h>
  13. #include <TaxonomyDatabase.h>
  14. namespace SearchEngine
  15. {
  16. class Config :
  17. public MPC::Config::TypeConstructor,
  18. public MPC::NamedMutex
  19. {
  20. public:
  21. class Wrapper : public MPC::Config::TypeConstructor
  22. {
  23. DECLARE_CONFIG_MAP(Wrapper);
  24. public:
  25. Taxonomy::HelpSet m_ths;
  26. CComBSTR m_bstrID;
  27. CComBSTR m_bstrOwner;
  28. CComBSTR m_bstrCLSID;
  29. CComBSTR m_bstrData;
  30. ////////////////////////////////////////
  31. //
  32. // MPC::Config::TypeConstructor
  33. //
  34. DEFINE_CONFIG_DEFAULTTAG();
  35. DECLARE_CONFIG_METHODS();
  36. //
  37. ////////////////////////////////////////
  38. };
  39. typedef std::list< Wrapper > WrapperList;
  40. typedef WrapperList::iterator WrapperIter;
  41. typedef WrapperList::const_iterator WrapperIterConst;
  42. ////////////////////////////////////////
  43. private:
  44. DECLARE_CONFIG_MAP(Config);
  45. double m_dVersion;
  46. bool m_bLoaded;
  47. WrapperList m_lstWrapper;
  48. ////////////////////////////////////////
  49. //
  50. // MPC::Config::TypeConstructor
  51. //
  52. DEFINE_CONFIG_DEFAULTTAG();
  53. DECLARE_CONFIG_METHODS();
  54. //
  55. ////////////////////////////////////////
  56. HRESULT SyncConfiguration( /*[in]*/ bool fLoad );
  57. bool FindWrapper( /*[in]*/ const Taxonomy::HelpSet& ths, /*[in ]*/ LPCWSTR szID, /*[out]*/ WrapperIter& it );
  58. public:
  59. Config();
  60. ~Config();
  61. HRESULT RegisterWrapper ( const Taxonomy::HelpSet& ths, LPCWSTR szID, LPCWSTR szOwner, LPCWSTR szCLSID, LPCWSTR szData );
  62. HRESULT UnRegisterWrapper( const Taxonomy::HelpSet& ths, LPCWSTR szID, LPCWSTR szOwner );
  63. HRESULT ResetSKU ( const Taxonomy::HelpSet& ths );
  64. HRESULT GetWrappers( /*[out]*/ WrapperIter& itBegin, /*[out]*/ WrapperIter& itEnd );
  65. };
  66. };
  67. #endif // !defined(__INCLUDED___PCH___SECONFIG_H___)