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.

104 lines
3.2 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. FaxJobStatus.h
  5. Abstract:
  6. Declaration of the CFaxJobStatus Class.
  7. Author:
  8. Iv Garber (IvG) Jun, 2000
  9. Revision History:
  10. --*/
  11. #ifndef __FAXJOBSTATUS_H_
  12. #define __FAXJOBSTATUS_H_
  13. #include "resource.h" // main symbols
  14. #include "FaxCommon.h"
  15. //
  16. //==================== JOB STATUS ==========================================
  17. //
  18. class ATL_NO_VTABLE CFaxJobStatus :
  19. public CComObjectRootEx<CComSingleThreadModel>,
  20. public ISupportErrorInfo,
  21. public IDispatchImpl<IFaxJobStatus, &IID_IFaxJobStatus, &LIBID_FAXCOMEXLib>
  22. {
  23. public:
  24. CFaxJobStatus()
  25. {
  26. DBG_ENTER(_T("FAX JOB STATUS -- CREATE"));
  27. }
  28. ~CFaxJobStatus()
  29. {
  30. DBG_ENTER(_T("FAX JOB STATUS -- DESTROY"));
  31. }
  32. DECLARE_REGISTRY_RESOURCEID(IDR_FAXJOBSTATUS)
  33. DECLARE_NOT_AGGREGATABLE(CFaxJobStatus)
  34. DECLARE_PROTECT_FINAL_CONSTRUCT()
  35. BEGIN_COM_MAP(CFaxJobStatus)
  36. COM_INTERFACE_ENTRY(IFaxJobStatus)
  37. COM_INTERFACE_ENTRY(IDispatch)
  38. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  39. END_COM_MAP()
  40. // Interfaces
  41. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  42. STDMETHOD(get_Size)(/*[out, retval]*/ long *plSize);
  43. STDMETHOD(get_Pages)(/*[out, retval]*/ long *plPages);
  44. STDMETHOD(get_TSID)(/*[out, retval]*/ BSTR *pbstrTSID);
  45. STDMETHOD(get_CSID)(/*[out, retval]*/ BSTR *pbstrCSID);
  46. STDMETHOD(get_Retries)(/*[out, retval]*/ long *plRetries);
  47. STDMETHOD(get_DeviceId)(/*[out, retval]*/ long *plDeviceId);
  48. STDMETHOD(get_CallerId)(/*[out, retval]*/ BSTR *pbstrCallerId);
  49. STDMETHOD(get_CurrentPage)(/*[out, retval]*/ long *plCurrentPage);
  50. STDMETHOD(get_Status)(/*[out, retval]*/ FAX_JOB_STATUS_ENUM *pStatus);
  51. STDMETHOD(get_JobType)(/*[out, retval]*/ FAX_JOB_TYPE_ENUM *pJobType);
  52. STDMETHOD(get_ScheduledTime)(/*[out, retval]*/ DATE *pdateScheduledTime);
  53. STDMETHOD(get_ExtendedStatus)(/*[out, retval]*/ BSTR *pbstrExtendedStatus);
  54. STDMETHOD(get_TransmissionEnd)(/*[out, retval]*/ DATE *pdateTransmissionEnd);
  55. STDMETHOD(get_TransmissionStart)(/*[out, retval]*/ DATE *pdateTransmissionStart);
  56. STDMETHOD(get_RoutingInformation)(/*[out, retval]*/ BSTR *pbstrRoutingInformation);
  57. STDMETHOD(get_AvailableOperations)(/*[out, retval]*/ FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
  58. STDMETHOD(get_ExtendedStatusCode)(/*[out, retval]*/ FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
  59. // Internal Use
  60. HRESULT Init(FAX_JOB_STATUS *pJobStatus);
  61. DWORD GetJobId(void) { return m_dwJobId; };
  62. private:
  63. DWORD m_dwSize;
  64. DWORD m_dwJobId;
  65. DWORD m_dwRetries;
  66. DWORD m_dwDeviceId;
  67. DWORD m_dwPageCount;
  68. DWORD m_dwCurrentPage;
  69. DWORD m_dwQueueStatus;
  70. DWORD m_dwValidityMask;
  71. DWORD m_dwAvailableOperations;
  72. CComBSTR m_bstrTSID;
  73. CComBSTR m_bstrCSID;
  74. CComBSTR m_bstrCallerId;
  75. CComBSTR m_bstrRoutingInfo;
  76. CComBSTR m_bstrExtendedStatus;
  77. SYSTEMTIME m_dtScheduleTime;
  78. SYSTEMTIME m_dtTransmissionEnd;
  79. SYSTEMTIME m_dtTransmissionStart;
  80. FAX_JOB_TYPE_ENUM m_JobType;
  81. FAX_JOB_EXTENDED_STATUS_ENUM m_ExtendedStatusCode;
  82. };
  83. #endif //__FAXJOBSTATUS_H_