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.

67 lines
1.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: S E R V I C E I N F O . H
  7. //
  8. // Contents: Registrar representation on a service
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 12 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 "RegDef.h"
  22. // Typedefs
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CServiceInfo
  25. class CServiceInfo
  26. {
  27. public:
  28. CServiceInfo();
  29. ~CServiceInfo();
  30. HRESULT HrInitialize(
  31. const PhysicalDeviceIdentifier & pdi,
  32. const wchar_t * szUDN,
  33. const wchar_t * szServiceId,
  34. const wchar_t * szContainerId,
  35. IUPnPDeviceControlPtr & pDeviceControl,
  36. BOOL bRunning);
  37. HRESULT HrGetEventingManager(IUPnPEventingManager ** ppEventingManager);
  38. HRESULT HrGetAutomationProxy(IUPnPAutomationProxy ** ppAutomationProxy);
  39. void Transfer(CServiceInfo & ref);
  40. void Clear();
  41. private:
  42. CServiceInfo(const CServiceInfo &);
  43. CServiceInfo & operator=(const CServiceInfo &);
  44. CUString m_strContainerId;
  45. IDispatchPtr m_pDispService;
  46. IUPnPEventingManagerPtr m_pEventingManager;
  47. IUPnPAutomationProxyPtr m_pAutomationProxy;
  48. };
  49. inline void TypeTransfer(CServiceInfo & dst, CServiceInfo & src)
  50. {
  51. dst.Transfer(src);
  52. }
  53. inline void TypeClear(CServiceInfo & type)
  54. {
  55. type.Clear();
  56. }