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.
 
 
 
 
 
 

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_