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.7 KiB

  1. /////////////////////////////////////////////////////////////////////////////////////
  2. // MPEG2Component.h : Declaration of the CMPEG2Component
  3. // Copyright (c) Microsoft Corporation 1999.
  4. #ifndef __MPEG2COMPONENT_H_
  5. #define __MPEG2COMPONENT_H_
  6. #pragma once
  7. #include <objectwithsiteimplsec.h>
  8. #include "MPEG2componentimpl.h"
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CMPEG2Component
  11. class ATL_NO_VTABLE CMPEG2Component :
  12. public CComObjectRootEx<CComMultiThreadModel>,
  13. public CComCoClass<CMPEG2Component, &CLSID_MPEG2Component>,
  14. public IObjectWithSiteImplSec<CMPEG2Component>,
  15. public IMPEG2ComponentImpl<CMPEG2Component>
  16. {
  17. public:
  18. CMPEG2Component() : m_bRequiresSave(false)
  19. {
  20. }
  21. REGISTER_AUTOMATION_OBJECT_WITH_TM(IDS_REG_TUNEROBJ,
  22. IDS_REG_MPEG2COMPONENT_PROGID,
  23. IDS_REG_MPEG2COMPONENT_DESC,
  24. LIBID_TunerLib,
  25. CLSID_MPEG2Component, tvBoth);
  26. DECLARE_PROTECT_FINAL_CONSTRUCT()
  27. BEGIN_COM_MAP(CMPEG2Component)
  28. COM_INTERFACE_ENTRY(IMPEG2Component)
  29. COM_INTERFACE_ENTRY(IComponent)
  30. COM_INTERFACE_ENTRY(IPersistPropertyBag)
  31. COM_INTERFACE_ENTRY(IPersist)
  32. COM_INTERFACE_ENTRY(IDispatch)
  33. COM_INTERFACE_ENTRY(IObjectWithSite)
  34. END_COM_MAP_WITH_FTM()
  35. BEGIN_CATEGORY_MAP(CMPEG2Component)
  36. IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
  37. IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
  38. IMPLEMENTED_CATEGORY(CATID_PersistsToPropertyBag)
  39. END_CATEGORY_MAP()
  40. public:
  41. bool m_bRequiresSave;
  42. BEGIN_PROP_MAP(CMPEG2Component)
  43. CHAIN_PROP_MAP(IMPEG2ComponentImpl<CMPEG2Component>)
  44. END_PROPERTY_MAP()
  45. };
  46. typedef CComQIPtr<IMPEG2Component> PQMPEG2Component;
  47. #endif //__MPEG2COMPONENT_H_