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.
135 lines
4.6 KiB
135 lines
4.6 KiB
/*++
|
|
|
|
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<CComSingleThreadModel>,
|
|
public CComCoClass<CFaxDocument, &CLSID_FaxDocument>,
|
|
public ISupportErrorInfo,
|
|
public IDispatchImpl<IFaxDocument, &IID_IFaxDocument, &LIBID_FAXCOMEXLib>
|
|
{
|
|
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<IFaxRecipients> m_Recipients;
|
|
CComPtr<IDispatch> 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<CFaxSender> m_Sender;
|
|
};
|
|
|
|
#endif //__FAXDOCUMENT_H_
|