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.

102 lines
3.2 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. class ATL_NO_VTABLE CFaxServer :
  16. public CComObjectRootEx<CComSingleThreadModel>,
  17. public CComCoClass<CFaxServer, &CLSID_FaxServer>,
  18. public IDispatchImpl<IFaxServer, &IID_IFaxServer, &LIBID_FAXCOMLib>
  19. {
  20. public:
  21. CFaxServer();
  22. ~CFaxServer();
  23. HANDLE GetFaxHandle() { return m_FaxHandle; };
  24. DECLARE_REGISTRY_RESOURCEID(IDR_FAXSERVER)
  25. BEGIN_COM_MAP(CFaxServer)
  26. COM_INTERFACE_ENTRY(IFaxServer)
  27. COM_INTERFACE_ENTRY(IDispatch)
  28. END_COM_MAP()
  29. public:
  30. STDMETHOD(get_DiscountRateEndMinute)(/*[out, retval]*/ short *pVal);
  31. STDMETHOD(put_DiscountRateEndMinute)(/*[in]*/ short newVal);
  32. STDMETHOD(get_DiscountRateEndHour)(/*[out, retval]*/ short *pVal);
  33. STDMETHOD(put_DiscountRateEndHour)(/*[in]*/ short newVal);
  34. STDMETHOD(get_DiscountRateStartMinute)(/*[out, retval]*/ short *pVal);
  35. STDMETHOD(put_DiscountRateStartMinute)(/*[in]*/ short newVal);
  36. STDMETHOD(get_DiscountRateStartHour)(/*[out, retval]*/ short *pVal);
  37. STDMETHOD(put_DiscountRateStartHour)(/*[in]*/ short newVal);
  38. STDMETHOD(get_ServerMapiProfile)(/*[out, retval]*/ BSTR *pVal);
  39. STDMETHOD(put_ServerMapiProfile)(/*[in]*/ BSTR newVal);
  40. STDMETHOD(get_ArchiveDirectory)(/*[out, retval]*/ BSTR *pVal);
  41. STDMETHOD(put_ArchiveDirectory)(/*[in]*/ BSTR newVal);
  42. STDMETHOD(get_ArchiveOutboundFaxes)(/*[out, retval]*/ BOOL *pVal);
  43. STDMETHOD(put_ArchiveOutboundFaxes)(/*[in]*/ BOOL newVal);
  44. STDMETHOD(get_PauseServerQueue)(/*[out, retval]*/ BOOL *pVal);
  45. STDMETHOD(put_PauseServerQueue)(/*[in]*/ BOOL newVal);
  46. STDMETHOD(get_ServerCoverpage)(/*[out, retval]*/ BOOL *pVal);
  47. STDMETHOD(put_ServerCoverpage)(/*[in]*/ BOOL newVal);
  48. STDMETHOD(get_UseDeviceTsid)(/*[out, retval]*/ BOOL *pVal);
  49. STDMETHOD(put_UseDeviceTsid)(/*[in]*/ BOOL newVal);
  50. STDMETHOD(get_Branding)(/*[out, retval]*/ BOOL *pVal);
  51. STDMETHOD(put_Branding)(/*[in]*/ BOOL newVal);
  52. STDMETHOD(get_DirtyDays)(/*[out, retval]*/ long *pVal);
  53. STDMETHOD(put_DirtyDays)(/*[in]*/ long newVal);
  54. STDMETHOD(get_RetryDelay)(/*[out, retval]*/ long *pVal);
  55. STDMETHOD(put_RetryDelay)(/*[in]*/ long newVal);
  56. STDMETHOD(get_Retries)(/*[out, retval]*/ long *pVal);
  57. STDMETHOD(put_Retries)(/*[in]*/ long newVal);
  58. STDMETHOD(GetJobs)(VARIANT *retval);
  59. STDMETHOD(CreateDocument)(BSTR FileName, VARIANT *retval);
  60. STDMETHOD(GetPorts)(VARIANT* retval);
  61. STDMETHOD(Disconnect)();
  62. STDMETHOD(Connect)(BSTR ServerName);
  63. private:
  64. BOOL UpdateConfiguration();
  65. BOOL RetrieveConfiguration();
  66. DWORD m_LastFaxError;
  67. HANDLE m_FaxHandle;
  68. BOOL m_Branding;
  69. DWORD m_Retries;
  70. DWORD m_RetryDelay;
  71. DWORD m_DirtyDays;
  72. BOOL m_UseDeviceTsid;
  73. BOOL m_ServerCp;
  74. BOOL m_PauseServerQueue;
  75. FAX_TIME m_StartCheapTime;
  76. FAX_TIME m_StopCheapTime;
  77. BOOL m_ArchiveOutgoingFaxes;
  78. BSTR m_ArchiveDirectory;
  79. };
  80. BSTR GetDeviceStatus(DWORD);
  81. BSTR GetQueueStatus(DWORD);
  82. #endif //__FAXSERVER_H_