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.

103 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. FaxFolders.h
  5. Abstract:
  6. Declaration of the CFaxFolders Class.
  7. Author:
  8. Iv Garber (IvG) Jun, 2000
  9. Revision History:
  10. --*/
  11. #ifndef __FAXFOLDERS_H_
  12. #define __FAXFOLDERS_H_
  13. #include "resource.h" // main symbols
  14. #include "FaxCommon.h"
  15. #include "FaxOutgoingQueue.h"
  16. #include "FaxIncomingArchive.h"
  17. #include "FaxIncomingQueue.h"
  18. #include "FaxOutgoingArchive.h"
  19. //
  20. //===================== FAX FOLDERS ========================================
  21. //
  22. class ATL_NO_VTABLE CFaxFolders :
  23. public CComObjectRootEx<CComSingleThreadModel>,
  24. public ISupportErrorInfo,
  25. public IDispatchImpl<IFaxFolders, &IID_IFaxFolders, &LIBID_FAXCOMEXLib>,
  26. public CFaxInitInner
  27. {
  28. public:
  29. CFaxFolders() : CFaxInitInner(_T("FAX FOLDERS")),
  30. m_pOutgoingQueue(NULL),
  31. m_pIncomingQueue(NULL),
  32. m_pIncomingArchive(NULL),
  33. m_pOutgoingArchive(NULL)
  34. {}
  35. ~CFaxFolders()
  36. {
  37. //
  38. // free all the allocated objects
  39. //
  40. if (m_pOutgoingQueue)
  41. {
  42. delete m_pOutgoingQueue;
  43. }
  44. if (m_pIncomingQueue)
  45. {
  46. delete m_pIncomingQueue;
  47. }
  48. if (m_pOutgoingArchive)
  49. {
  50. delete m_pOutgoingArchive;
  51. }
  52. if (m_pIncomingArchive)
  53. {
  54. delete m_pIncomingArchive;
  55. }
  56. }
  57. DECLARE_REGISTRY_RESOURCEID(IDR_FAXFOLDERS)
  58. DECLARE_NOT_AGGREGATABLE(CFaxFolders)
  59. DECLARE_PROTECT_FINAL_CONSTRUCT()
  60. BEGIN_COM_MAP(CFaxFolders)
  61. COM_INTERFACE_ENTRY(IFaxFolders)
  62. COM_INTERFACE_ENTRY(IDispatch)
  63. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  64. COM_INTERFACE_ENTRY(IFaxInitInner)
  65. END_COM_MAP()
  66. // Interfaces
  67. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  68. STDMETHOD(get_OutgoingQueue)(/*[out, retval]*/ IFaxOutgoingQueue **pOutgoingQueue);
  69. STDMETHOD(get_IncomingQueue)(/*[out, retval]*/ IFaxIncomingQueue **pIncomingQueue);
  70. STDMETHOD(get_IncomingArchive)(/*[out, retval]*/ IFaxIncomingArchive **pIncomingArchive);
  71. STDMETHOD(get_OutgoingArchive)(/*[out, retval]*/ IFaxOutgoingArchive **pOutgoingArchive);
  72. private:
  73. CComContainedObject2<CFaxOutgoingQueue> *m_pOutgoingQueue;
  74. CComContainedObject2<CFaxIncomingArchive> *m_pIncomingArchive;
  75. CComContainedObject2<CFaxIncomingQueue> *m_pIncomingQueue;
  76. CComContainedObject2<CFaxOutgoingArchive> *m_pOutgoingArchive;
  77. };
  78. #endif //__FAXFOLDERS_H_