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.

86 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. FaxLoggingOptions.h
  5. Abstract:
  6. Declaration of the CFaxLoggingOptions Class.
  7. Author:
  8. Iv Garber (IvG) Jun, 2000
  9. Revision History:
  10. --*/
  11. #ifndef __FAXLOGGINGOPTIONS_H_
  12. #define __FAXLOGGINGOPTIONS_H_
  13. #include "resource.h" // main symbols
  14. #include "FaxCommon.h"
  15. #include "FaxActivityLogging.h"
  16. #include "FaxEventLogging.h"
  17. //
  18. //================== LOGGING OPTIONS =======================================
  19. //
  20. class ATL_NO_VTABLE CFaxLoggingOptions :
  21. public CComObjectRootEx<CComSingleThreadModel>,
  22. public ISupportErrorInfo,
  23. public IDispatchImpl<IFaxLoggingOptions, &IID_IFaxLoggingOptions, &LIBID_FAXCOMEXLib>,
  24. public CFaxInitInner
  25. {
  26. public:
  27. CFaxLoggingOptions() : CFaxInitInner(_T("FAX LOGGING OPTIONS")),
  28. m_pEvent(NULL),
  29. m_pActivity(NULL)
  30. {
  31. }
  32. ~CFaxLoggingOptions()
  33. {
  34. //
  35. // free all the allocated objects
  36. //
  37. if (m_pEvent)
  38. {
  39. delete m_pEvent;
  40. }
  41. if (m_pActivity)
  42. {
  43. delete m_pActivity;
  44. }
  45. }
  46. DECLARE_REGISTRY_RESOURCEID(IDR_FAXLOGGINGOPTIONS)
  47. DECLARE_NOT_AGGREGATABLE(CFaxLoggingOptions)
  48. DECLARE_PROTECT_FINAL_CONSTRUCT()
  49. BEGIN_COM_MAP(CFaxLoggingOptions)
  50. COM_INTERFACE_ENTRY(IFaxLoggingOptions)
  51. COM_INTERFACE_ENTRY(IDispatch)
  52. COM_INTERFACE_ENTRY(IFaxInitInner)
  53. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  54. END_COM_MAP()
  55. // Interfaces
  56. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  57. STDMETHOD(get_EventLogging)(/*[out, retval]*/ IFaxEventLogging **pFaxEventLogging);
  58. STDMETHOD(get_ActivityLogging)(/*[out, retval]*/ IFaxActivityLogging **pFaxActivityLogging);
  59. private:
  60. CComContainedObject2<CFaxEventLogging> *m_pEvent;
  61. CComContainedObject2<CFaxActivityLogging> *m_pActivity;
  62. };
  63. #endif //__FAXLOGGINGOPTIONS_H_