Source code of Windows XP (NT5)
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.

105 lines
3.1 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. faxsvr.h
  5. Abstract:
  6. This module contains the fax server class definitions.
  7. Author:
  8. Wesley Witt (wesw) 20-May-1997
  9. Revision History:
  10. --*/
  11. #ifndef __FAXSERVER_H_
  12. #define __FAXSERVER_H_
  13. #include "resource.h" // main symbols
  14. #include "winfax.h"
  15. #include "winfaxp.h"
  16. class ATL_NO_VTABLE CFaxServer :
  17. public CComObjectRootEx<CComSingleThreadModel>,
  18. public CComCoClass<CFaxServer, &CLSID_FaxServer>,
  19. public IDispatchImpl<IFaxServer, &IID_IFaxServer, &LIBID_FAXCOMLib>
  20. {
  21. public:
  22. CFaxServer();
  23. ~CFaxServer();
  24. HANDLE GetFaxHandle() { return m_FaxHandle; };
  25. DECLARE_REGISTRY_RESOURCEID(IDR_FAXSERVER)
  26. BEGIN_COM_MAP(CFaxServer)
  27. COM_INTERFACE_ENTRY(IFaxServer)
  28. COM_INTERFACE_ENTRY(IDispatch)
  29. END_COM_MAP()
  30. public:
  31. STDMETHOD(get_DiscountRateEndMinute)(/*[out, retval]*/ short *pVal);
  32. STDMETHOD(put_DiscountRateEndMinute)(/*[in]*/ short newVal);
  33. STDMETHOD(get_DiscountRateEndHour)(/*[out, retval]*/ short *pVal);
  34. STDMETHOD(put_DiscountRateEndHour)(/*[in]*/ short newVal);
  35. STDMETHOD(get_DiscountRateStartMinute)(/*[out, retval]*/ short *pVal);
  36. STDMETHOD(put_DiscountRateStartMinute)(/*[in]*/ short newVal);
  37. STDMETHOD(get_DiscountRateStartHour)(/*[out, retval]*/ short *pVal);
  38. STDMETHOD(put_DiscountRateStartHour)(/*[in]*/ short newVal);
  39. STDMETHOD(get_ServerMapiProfile)(/*[out, retval]*/ BSTR *pVal);
  40. STDMETHOD(put_ServerMapiProfile)(/*[in]*/ BSTR newVal);
  41. STDMETHOD(get_ArchiveDirectory)(/*[out, retval]*/ BSTR *pVal);
  42. STDMETHOD(put_ArchiveDirectory)(/*[in]*/ BSTR newVal);
  43. STDMETHOD(get_ArchiveOutboundFaxes)(/*[out, retval]*/ BOOL *pVal);
  44. STDMETHOD(put_ArchiveOutboundFaxes)(/*[in]*/ BOOL newVal);
  45. STDMETHOD(get_PauseServerQueue)(/*[out, retval]*/ BOOL *pVal);
  46. STDMETHOD(put_PauseServerQueue)(/*[in]*/ BOOL newVal);
  47. STDMETHOD(get_ServerCoverpage)(/*[out, retval]*/ BOOL *pVal);
  48. STDMETHOD(put_ServerCoverpage)(/*[in]*/ BOOL newVal);
  49. STDMETHOD(get_UseDeviceTsid)(/*[out, retval]*/ BOOL *pVal);
  50. STDMETHOD(put_UseDeviceTsid)(/*[in]*/ BOOL newVal);
  51. STDMETHOD(get_Branding)(/*[out, retval]*/ BOOL *pVal);
  52. STDMETHOD(put_Branding)(/*[in]*/ BOOL newVal);
  53. STDMETHOD(get_DirtyDays)(/*[out, retval]*/ long *pVal);
  54. STDMETHOD(put_DirtyDays)(/*[in]*/ long newVal);
  55. STDMETHOD(get_RetryDelay)(/*[out, retval]*/ long *pVal);
  56. STDMETHOD(put_RetryDelay)(/*[in]*/ long newVal);
  57. STDMETHOD(get_Retries)(/*[out, retval]*/ long *pVal);
  58. STDMETHOD(put_Retries)(/*[in]*/ long newVal);
  59. STDMETHOD(GetJobs)(VARIANT *retval);
  60. STDMETHOD(CreateDocument)(BSTR FileName, VARIANT *retval);
  61. STDMETHOD(GetPorts)(VARIANT* retval);
  62. STDMETHOD(Disconnect)();
  63. STDMETHOD(Connect)(BSTR ServerName);
  64. private:
  65. BOOL UpdateConfiguration();
  66. BOOL RetrieveConfiguration();
  67. DWORD m_LastFaxError;
  68. HANDLE m_FaxHandle;
  69. BOOL m_Branding;
  70. DWORD m_Retries;
  71. DWORD m_RetryDelay;
  72. DWORD m_DirtyDays;
  73. BOOL m_UseDeviceTsid;
  74. BOOL m_ServerCp;
  75. BOOL m_PauseServerQueue;
  76. FAX_TIME m_StartCheapTime;
  77. FAX_TIME m_StopCheapTime;
  78. BOOL m_ArchiveOutgoingFaxes;
  79. BSTR m_ArchiveDirectory;
  80. BSTR m_InboundProfile;
  81. };
  82. BSTR GetDeviceStatus(DWORD);
  83. BSTR GetQueueStatus(DWORD);
  84. #endif //__FAXSERVER_H_