/*++ Copyright (c) 2000 Microsoft Corporation Module Name: FaxDocument.h Abstract: Declaration of the CFaxDocument class. Author: Iv Garber (IvG) Jun, 2000 Revision History: --*/ #ifndef __FAXDOCUMENT_H_ #define __FAXDOCUMENT_H_ #include "resource.h" // main symbols #include "FaxRecipients.h" #include "FaxServer.h" // //======================== FAX DOCUMENT =========================================== // class ATL_NO_VTABLE CFaxDocument : public CComObjectRootEx, public CComCoClass, public ISupportErrorInfo, public IDispatchImpl { public: CFaxDocument(): m_Sender (this) { DBG_ENTER(_T("FAX DOCUMENT -- CREATE")); }; ~CFaxDocument() { DBG_ENTER(_T("FAX DOCUMENT -- DESTROY")); }; DECLARE_REGISTRY_RESOURCEID(IDR_FAXDOCUMENT) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CFaxDocument) COM_INTERFACE_ENTRY(IFaxDocument) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) END_COM_MAP() // Interfaces STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); STDMETHOD(Submit)(/*[in]*/ BSTR bstrFaxServerName, /*[out, retval]*/ VARIANT *pvFaxOutgoingJobIDs); STDMETHOD(ConnectedSubmit)(/*[in]*/ IFaxServer *pFaxServer, /*[out, retval]*/ VARIANT *pvFaxOutgoingJobIDs); STDMETHOD(put_Body)(/*[in]*/ BSTR bstrBody); STDMETHOD(get_Body)(/*[out, retval]*/ BSTR *pbstrBody); STDMETHOD(put_Note)(/*[in]*/ BSTR bstrNote); STDMETHOD(get_Note)(/*[out, retval]*/ BSTR *pbstrNote); STDMETHOD(put_Subject)(/*[in]*/ BSTR bstrSubject); STDMETHOD(get_Subject)(/*[out, retval]*/ BSTR *pbstrSubject); STDMETHOD(put_CallHandle)(/*[in]*/ long lCallHandle); STDMETHOD(get_CallHandle)(/*[out, retval]*/ long *plCallHandle); STDMETHOD(put_CoverPage)(/*[in]*/ BSTR bstrCoverPage); STDMETHOD(get_CoverPage)(/*[out, retval]*/ BSTR *pbstrCoverPage); STDMETHOD(put_ScheduleTime)(/*[in]*/ DATE dateScheduleTime); STDMETHOD(get_ScheduleTime)(/*[out, retval]*/ DATE *pdateScheduleTime); STDMETHOD(put_DocumentName)(/*[in]*/ BSTR bstrDocumentName); STDMETHOD(get_DocumentName)(/*[out, retval]*/ BSTR *pbstrDocumentName); STDMETHOD(put_ReceiptAddress)(/*[in]*/ BSTR bstrReceiptAddress); STDMETHOD(get_ReceiptAddress)(/*[out, retval]*/ BSTR *pbstrReceiptAddress); STDMETHOD(put_Priority)(/*[in]*/ FAX_PRIORITY_TYPE_ENUM Priority); STDMETHOD(get_Priority)(/*[out, retval]*/ FAX_PRIORITY_TYPE_ENUM *pPriority); STDMETHOD(put_AttachFaxToReceipt)(/*[in]*/ VARIANT_BOOL bAttachFax); STDMETHOD(get_AttachFaxToReceipt)(/*[out, retval]*/ VARIANT_BOOL *pbAttachFax); STDMETHOD(putref_TapiConnection)(/*[in]*/ IDispatch* pTapiConnection); STDMETHOD(get_TapiConnection)(/*[out, retval]*/ IDispatch **ppTapiConnection); STDMETHOD(put_ReceiptType)(/*[in]*/ FAX_RECEIPT_TYPE_ENUM ReceiptType); STDMETHOD(get_ReceiptType)(/*[out, retval]*/ FAX_RECEIPT_TYPE_ENUM *pReceiptType); STDMETHOD(put_GroupBroadcastReceipts)(/*[in]*/ VARIANT_BOOL bUseGrouping); STDMETHOD(get_GroupBroadcastReceipts)(/*[out, retval]*/ VARIANT_BOOL *pbUseGrouping); STDMETHOD(put_ScheduleType)(/*[in]*/ FAX_SCHEDULE_TYPE_ENUM ScheduleType); STDMETHOD(get_ScheduleType)(/*[out, retval]*/ FAX_SCHEDULE_TYPE_ENUM *pScheduleType); STDMETHOD(put_CoverPageType)(/*[in]*/ FAX_COVERPAGE_TYPE_ENUM CoverPageType); STDMETHOD(get_CoverPageType)(/*[out, retval]*/ FAX_COVERPAGE_TYPE_ENUM *pCoverPageType); STDMETHOD(get_Recipients)(/*[out, retval]*/ IFaxRecipients **ppFaxRecipients); STDMETHOD(get_Sender)(/*[out, retval]*/ IFaxSender **ppFaxSender); HRESULT FinalConstruct(); private: CComPtr m_Recipients; CComPtr m_TapiConnection; FAX_SCHEDULE_TYPE_ENUM m_ScheduleType; FAX_RECEIPT_TYPE_ENUM m_ReceiptType; FAX_PRIORITY_TYPE_ENUM m_Priority; FAX_COVERPAGE_TYPE_ENUM m_CoverPageType; CComBSTR m_bstrBody; CComBSTR m_bstrCoverPage; CComBSTR m_bstrSubject; CComBSTR m_bstrNote; CComBSTR m_bstrDocName; CComBSTR m_bstrReceiptAddress; DATE m_ScheduleTime; long m_CallHandle; VARIANT_BOOL m_bUseGrouping; VARIANT_BOOL m_bAttachFax; CComContainedObject2 m_Sender; }; #endif //__FAXDOCUMENT_H_