windows-nt/Source/XPSP1/NT/printscan/fax/activefax/faxdoc.h

288 lines
11 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// FaxDoc.h : Declaration of the CFaxDoc
#ifndef __FAXDOC_H_
#define __FAXDOC_H_
#include "resource.h" // main symbols
#include "faxsvr.h"
#include <winfax.h>
#ifdef FAXBROADCAST_ENABLED
#include "adoid.h"
#include "adoint.h"
#endif
/////////////////////////////////////////////////////////////////////////////
// CFaxDoc
class ATL_NO_VTABLE CFaxDoc :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CFaxDoc, &CLSID_FaxDoc>,
public ISupportErrorInfo,
public IDispatchImpl<IFaxDoc, &IID_IFaxDoc, &LIBID_FAXCOMLib>
{
public:
CFaxDoc()
{
m_DiscountSend = FALSE;
m_SendCoverpage = FALSE;
m_FaxCoverpageInfo = NULL;
m_FaxJobParams = NULL;
m_FileName = NULL;
m_JobId = 0;
m_TapiConnectionObject = NULL;
CFaxServer* m_pFaxServer = NULL;
m_FaxNumber = NULL;
m_Tsid = NULL;
m_BillingCode = NULL;
m_EmailAddress = NULL;;
m_DocumentName = NULL;;
m_Note = NULL;
m_Subject = NULL;
m_CoverpageName = NULL;
m_RecipientName = NULL;
m_RecipientNumber = NULL;
m_RecipientCompany = NULL;
m_RecipientAddress = NULL;
m_RecipientCity = NULL;
m_RecipientState = NULL;
m_RecipientZip = NULL;
m_RecipientCountry = NULL;
m_RecipientTitle = NULL;
m_RecipientDepartment = NULL;
m_RecipientOffice = NULL;
m_RecipientHomePhone = NULL;
m_RecipientOfficePhone = NULL;
m_SenderName = NULL;
m_SenderCompany = NULL;
m_SenderAddress = NULL;
m_SenderTitle = NULL;
m_SenderDepartment = NULL;
m_SenderOfficeLocation = NULL;
m_SenderHomePhone = NULL;
m_SenderOfficePhone = NULL;
m_SenderFax = NULL;
//
// prefill in the params...
//
FaxCompleteJobParams(&m_FaxJobParams,&m_FaxCoverpageInfo);
if (m_FaxJobParams && m_FaxCoverpageInfo) {
m_CoverpageName =SysAllocString(m_FaxCoverpageInfo->CoverPageName);
m_RecipientName =SysAllocString(m_FaxCoverpageInfo->RecName);
m_RecipientNumber =SysAllocString(m_FaxCoverpageInfo->RecFaxNumber);
m_RecipientCompany =SysAllocString(m_FaxCoverpageInfo->RecCompany);
m_RecipientAddress =SysAllocString(m_FaxCoverpageInfo->RecStreetAddress);
m_RecipientCity =SysAllocString(m_FaxCoverpageInfo->RecCity);
m_RecipientState =SysAllocString(m_FaxCoverpageInfo->RecState);
m_RecipientZip =SysAllocString(m_FaxCoverpageInfo->RecZip);
m_RecipientCountry =SysAllocString(m_FaxCoverpageInfo->RecCountry);
m_RecipientTitle =SysAllocString(m_FaxCoverpageInfo->RecTitle);
m_RecipientDepartment =SysAllocString(m_FaxCoverpageInfo->RecDepartment);
m_RecipientOffice =SysAllocString(m_FaxCoverpageInfo->RecOfficeLocation);
m_RecipientHomePhone =SysAllocString(m_FaxCoverpageInfo->RecHomePhone);
m_RecipientOfficePhone =SysAllocString(m_FaxCoverpageInfo->RecOfficePhone);
m_SenderName =SysAllocString(m_FaxCoverpageInfo->SdrName);
m_SenderFax =SysAllocString(m_FaxCoverpageInfo->SdrFaxNumber);
m_SenderCompany =SysAllocString(m_FaxCoverpageInfo->SdrCompany);
m_SenderAddress =SysAllocString(m_FaxCoverpageInfo->SdrAddress);
m_SenderTitle =SysAllocString(m_FaxCoverpageInfo->SdrTitle);
m_SenderDepartment =SysAllocString(m_FaxCoverpageInfo->SdrDepartment);
m_SenderOfficeLocation =SysAllocString(m_FaxCoverpageInfo->SdrOfficeLocation);
m_SenderHomePhone =SysAllocString(m_FaxCoverpageInfo->SdrHomePhone);
m_SenderOfficePhone =SysAllocString(m_FaxCoverpageInfo->SdrOfficePhone);
m_Note =SysAllocString(m_FaxCoverpageInfo->Note);
m_Subject =SysAllocString(m_FaxCoverpageInfo->Subject);
m_Tsid =SysAllocString(m_FaxJobParams->Tsid);
m_BillingCode =SysAllocString(m_FaxJobParams->BillingCode);
m_EmailAddress =SysAllocString(m_FaxJobParams->DeliveryReportAddress);
m_DocumentName =SysAllocString(m_FaxJobParams->DocumentName);
}
}
DECLARE_REGISTRY_RESOURCEID(IDR_FAXDOC)
BEGIN_COM_MAP(CFaxDoc)
COM_INTERFACE_ENTRY(IFaxDoc)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
// IFaxDoc
public:
~CFaxDoc();
BOOL Init(BSTR FileName,CFaxServer *pFaxServer);
BOOL SetJob();
STDMETHOD(get_FaxNumber)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_FaxNumber)(/*[in]*/ BSTR newVal);
STDMETHOD(Send)(/*[out, retval]*/long *pVal);
STDMETHOD(get_DisplayName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_DisplayName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_EmailAddress)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_EmailAddress)(/*[in]*/ BSTR newVal);
STDMETHOD(get_BillingCode)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_BillingCode)(/*[in]*/ BSTR newVal);
STDMETHOD(get_Tsid)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_Tsid)(/*[in]*/ BSTR newVal);
STDMETHOD(get_CoverpageSubject)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_CoverpageSubject)(/*[in]*/ BSTR newVal);
STDMETHOD(get_CoverpageNote)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_CoverpageNote)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderFax)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderFax)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderOfficePhone)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderOfficePhone)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderHomePhone)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderHomePhone)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderOffice)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderOffice)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderDepartment)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderDepartment)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderTitle)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderTitle)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderAddress)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderAddress)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderCompany)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderCompany)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SenderName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SenderName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientOfficePhone)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientOfficePhone)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientHomePhone)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientHomePhone)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientOffice)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientOffice)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientDepartment)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientDepartment)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientTitle)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientTitle)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientCountry)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientCountry)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientZip)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientZip)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientState)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientState)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientCity)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientCity)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientAddress)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientAddress)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientCompany)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientCompany)(/*[in]*/ BSTR newVal);
STDMETHOD(get_RecipientName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_RecipientName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_DiscountSend)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_DiscountSend)(/*[in]*/ BOOL newVal);
STDMETHOD(get_ServerCoverpage)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_ServerCoverpage)(/*[in]*/ BOOL newVal);
STDMETHOD(get_SendCoverpage)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_SendCoverpage)(/*[in]*/ BOOL newVal);
STDMETHOD(get_CoverpageName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_CoverpageName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_FileName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_FileName)(/*[in]*/ BSTR newVal);
STDMETHOD(putref_ConnectionObject)(/*[in]*/ IDispatch* newVal);
STDMETHOD(get_CallHandle)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_CallHandle)(/*[in]*/ long newVal);
#ifdef FAXBROADCAST_ENABLED
STDMETHOD(Broadcast)(VARIANT pVal);
friend BOOL CALLBACK BroadcastCallback(HANDLE FaxHandle,
DWORD RecipientNumber,
LPVOID Context,
PFAX_JOB_PARAMW JobParams,
PFAX_COVERPAGE_INFOW CoverpageInfo
);
#endif
private:
CFaxServer* m_pFaxServer;
BOOL m_DiscountSend;
BOOL m_SendCoverpage;
DWORD m_JobId;
PFAX_COVERPAGE_INFO m_FaxCoverpageInfo;
PFAX_JOB_PARAM m_FaxJobParams;
BSTR m_FileName;
IDispatch* m_TapiConnectionObject;
VARIANT* m_pVariant;
//
// job info
//
BSTR m_FaxNumber;
BSTR m_Tsid;
BSTR m_BillingCode;
BSTR m_EmailAddress;
BSTR m_DocumentName;
//
// coverpage info
//
BSTR m_Note;
BSTR m_Subject;
BSTR m_CoverpageName;
BSTR m_RecipientName;
BSTR m_RecipientNumber;
BSTR m_RecipientCompany;
BSTR m_RecipientAddress;
BSTR m_RecipientCity;
BSTR m_RecipientState;
BSTR m_RecipientZip;
BSTR m_RecipientCountry;
BSTR m_RecipientTitle;
BSTR m_RecipientDepartment;
BSTR m_RecipientOffice;
BSTR m_RecipientHomePhone;
BSTR m_RecipientOfficePhone;
BSTR m_SenderName;
BSTR m_SenderCompany;
BSTR m_SenderAddress;
BSTR m_SenderTitle;
BSTR m_SenderDepartment;
BSTR m_SenderOfficeLocation;
BSTR m_SenderHomePhone;
BSTR m_SenderOfficePhone;
BSTR m_SenderFax;
#ifdef FAXBROADCAST_ENABLED
BOOL FreeCoverpageAndJobInfo(PFAX_JOB_PARAMW JobParams,
PFAX_COVERPAGE_INFOW CoverpageInfo
);
VOID InsertTextIntoStructure(LPTSTR txt,
long i,
PFAX_JOB_PARAMW pjp,
PFAX_COVERPAGE_INFOW pci
);
BOOL RetrieveRecipientData(VARIANT* theData,
DWORD DataIndex,
PFAX_JOB_PARAMW JobParams,
PFAX_COVERPAGE_INFOW CoverpageInfo
);
BOOL RetrieveSenderData(PFAX_JOB_PARAMW pjp,
PFAX_COVERPAGE_INFOW pci
);
#endif
};
#endif //__FAXDOC_H_
#ifdef FAXBROADCAST_ENABLED
BOOL CALLBACK BroadcastCallback(HANDLE FaxHandle,
DWORD RecipientNumber,
LPVOID Context,
PFAX_JOB_PARAMW JobParams,
PFAX_COVERPAGE_INFOW CoverpageInfo
);
#endif