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.

101 lines
3.1 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. faxreceiptoptions.h
  5. Abstract:
  6. Declaration of the CFaxReceiptOptions class.
  7. Author:
  8. Iv Garber (IvG) Jul, 2000
  9. Revision History:
  10. --*/
  11. #ifndef __FAXRECEIPTOPTIONS_H_
  12. #define __FAXRECEIPTOPTIONS_H_
  13. #include "resource.h" // main symbols
  14. #include "FaxCommon.h"
  15. //
  16. //====================== FAX RECEIPT OPTIONS =======================================
  17. //
  18. class ATL_NO_VTABLE CFaxReceiptOptions :
  19. public CComObjectRootEx<CComSingleThreadModel>,
  20. public ISupportErrorInfo,
  21. public IDispatchImpl<IFaxReceiptOptions, &IID_IFaxReceiptOptions, &LIBID_FAXCOMEXLib>,
  22. public CFaxInitInner
  23. {
  24. public:
  25. CFaxReceiptOptions() : CFaxInitInner(_T("FAX RECEIPT OPTIONS")),
  26. m_bInited(false), m_bPasswordDirty(false)
  27. {
  28. }
  29. ~CFaxReceiptOptions()
  30. {
  31. SecureZeroMemory(m_bstrPassword.m_str, (m_bstrPassword.Length() * sizeof(OLECHAR)));
  32. }
  33. DECLARE_REGISTRY_RESOURCEID(IDR_FAXRECEIPTOPTIONS)
  34. DECLARE_NOT_AGGREGATABLE(CFaxReceiptOptions)
  35. DECLARE_PROTECT_FINAL_CONSTRUCT()
  36. BEGIN_COM_MAP(CFaxReceiptOptions)
  37. COM_INTERFACE_ENTRY(IFaxReceiptOptions)
  38. COM_INTERFACE_ENTRY(IDispatch)
  39. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  40. COM_INTERFACE_ENTRY(IFaxInitInner)
  41. END_COM_MAP()
  42. // Interfaces
  43. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  44. STDMETHOD(Save)();
  45. STDMETHOD(Refresh)();
  46. STDMETHOD(put_SMTPPort)(/*[in]*/ long lSMTPPort);
  47. STDMETHOD(get_SMTPPort)(/*[out, retval]*/ long *plSMTPPort);
  48. STDMETHOD(put_SMTPUser)(/*[in]*/ BSTR bstrSMTPUser);
  49. STDMETHOD(get_SMTPUser)(/*[out, retval]*/ BSTR *pbstrSMTPUser);
  50. STDMETHOD(put_SMTPSender)(/*[in]*/ BSTR bstrSMTPSender);
  51. STDMETHOD(get_SMTPSender)(/*[out, retval]*/ BSTR *pbstrSMTPSender);
  52. STDMETHOD(put_SMTPServer)(/*[in]*/ BSTR bstrSMTPServer);
  53. STDMETHOD(get_SMTPServer)(/*[out, retval]*/ BSTR *pbstrSMTPServer);
  54. STDMETHOD(put_SMTPPassword)(/*[in]*/ BSTR bstrSMTPPassword);
  55. STDMETHOD(get_SMTPPassword)(/*[out, retval]*/ BSTR *pbstrSMTPPassword);
  56. STDMETHOD(put_AllowedReceipts)(/*[in]*/ FAX_RECEIPT_TYPE_ENUM AllowedReceipts);
  57. STDMETHOD(get_AllowedReceipts)(/*[out, retval]*/ FAX_RECEIPT_TYPE_ENUM *pAllowedReceipts);
  58. STDMETHOD(put_AuthenticationType)(/*[in]*/ FAX_SMTP_AUTHENTICATION_TYPE_ENUM Type);
  59. STDMETHOD(get_AuthenticationType)(/*[out, retval]*/ FAX_SMTP_AUTHENTICATION_TYPE_ENUM *pType);
  60. STDMETHOD(get_UseForInboundRouting)(/*[out, retval]*/ VARIANT_BOOL *pbUseForInboundRouting);
  61. STDMETHOD(put_UseForInboundRouting)(/*[in]*/ VARIANT_BOOL bUseForInboundRouting);
  62. private:
  63. bool m_bInited;
  64. bool m_bPasswordDirty; // true only if password was set in the object
  65. DWORD m_dwPort;
  66. DWORD m_dwAllowedReceipts;
  67. CComBSTR m_bstrSender;
  68. CComBSTR m_bstrUser;
  69. CComBSTR m_bstrPassword;
  70. CComBSTR m_bstrServer;
  71. VARIANT_BOOL m_bUseForInboundRouting;
  72. FAX_SMTP_AUTHENTICATION_TYPE_ENUM m_AuthType;
  73. };
  74. #endif //__FAXRECEIPTOPTIONS_H_