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.

61 lines
1.2 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: P R O V I D E R . H
  7. //
  8. // Contents: Registrar abstraction for a provider.
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 14 Sep 2000
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "uhres.h" // main symbols
  17. #include "upnphost.h"
  18. #include "hostp.h"
  19. #include "UString.h"
  20. #include "ComUtility.h"
  21. #include "Table.h"
  22. #include "RegDef.h"
  23. // Typedefs
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CProvider
  26. class CProvider
  27. {
  28. public:
  29. CProvider();
  30. ~CProvider();
  31. HRESULT HrInitialize(
  32. const wchar_t * szProgIDProviderClass,
  33. const wchar_t * szInitString,
  34. const wchar_t * szContainerId);
  35. void Transfer(CProvider & ref);
  36. void Clear();
  37. private:
  38. CProvider(const CProvider &);
  39. CProvider & operator=(const CProvider &);
  40. CUString m_strContainerId;
  41. IUPnPDeviceProviderPtr m_pDeviceProvider;
  42. };
  43. inline void TypeTransfer(CProvider & dst, CProvider & src)
  44. {
  45. dst.Transfer(src);
  46. }
  47. inline void TypeClear(CProvider & type)
  48. {
  49. type.Clear();
  50. }