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.

92 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. privobjs.h
  5. Abstract:
  6. Declaration of the CPrivateData class
  7. Author:
  8. mquinton 08-19-98
  9. Notes:
  10. Revision History:
  11. --*/
  12. #ifndef __PRIVATE_H_
  13. #define __PRIVATE_H_
  14. #include "resource.h" // main symbols
  15. class CPrivateEvent :
  16. public CTAPIComObjectRoot<CPrivateEvent>,
  17. public CComDualImpl<ITPrivateEvent, &IID_ITPrivateEvent, &LIBID_TAPI3Lib>,
  18. public CObjectSafeImpl
  19. {
  20. public:
  21. CPrivateEvent() : m_pCall(NULL),
  22. m_pAddress(NULL),
  23. m_pCallHub(NULL),
  24. m_pEventInterface(NULL),
  25. m_lEventCode(0)
  26. {}
  27. void
  28. FinalRelease();
  29. static HRESULT FireEvent(
  30. CTAPI * pTapi,
  31. ITCallInfo * pCall,
  32. ITAddress * pAddress,
  33. ITCallHub * pCallHub,
  34. IDispatch * pEventInterface,
  35. long lEventCode
  36. );
  37. DECLARE_MARSHALQI(CPrivateEvent)
  38. DECLARE_QI()
  39. DECLARE_TRACELOG_CLASS(CPrivateEvent)
  40. BEGIN_COM_MAP(CPrivateEvent)
  41. COM_INTERFACE_ENTRY(IDispatch)
  42. COM_INTERFACE_ENTRY(ITPrivateEvent)
  43. COM_INTERFACE_ENTRY(IObjectSafety)
  44. COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI)
  45. COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM)
  46. END_COM_MAP()
  47. protected:
  48. ITCallInfo * m_pCall;
  49. ITAddress * m_pAddress;
  50. ITCallHub * m_pCallHub;
  51. IDispatch * m_pEventInterface;
  52. long m_lEventCode;
  53. #if DBG
  54. PWSTR m_pDebug;
  55. #endif
  56. public:
  57. STDMETHOD(get_Address)(ITAddress ** ppAddress);
  58. STDMETHOD(get_Call)(ITCallInfo ** ppCallInfo);
  59. STDMETHOD(get_CallHub)(ITCallHub ** ppCallHub);
  60. STDMETHOD(get_EventCode)(long * plEventCode);
  61. STDMETHOD(get_EventInterface)(IDispatch ** pEventInterface);
  62. };
  63. #endif