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.

153 lines
4.8 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // FILE : OutboundRule.h //
  3. // //
  4. // DESCRIPTION : Header file for the Outbound Routing Rule node. //
  5. // //
  6. // AUTHOR : yossg //
  7. // //
  8. // HISTORY : //
  9. // Dec 24 1999 yossg Create //
  10. // Dec 30 1999 yossg create ADD/REMOVE rule //
  11. // //
  12. // Copyright (C) 1999 - 2000 Microsoft Corporation All Rights Reserved //
  13. /////////////////////////////////////////////////////////////////////////////
  14. #ifndef H_FAXOUTBOUNDROUTINGRULE_H
  15. #define H_FAXOUTBOUNDROUTINGRULE_H
  16. #include "snapin.h"
  17. #include "snpnode.h"
  18. #include "Icons.h"
  19. class CppFaxOutboundRoutingRule;
  20. class CFaxOutboundRoutingRulesNode;
  21. class CFaxOutboundRoutingRuleNode : public CSnapinNode <CFaxOutboundRoutingRuleNode, FALSE>
  22. {
  23. public:
  24. BEGIN_SNAPINCOMMAND_MAP(CFaxOutboundRoutingRuleNode, FALSE)
  25. END_SNAPINCOMMAND_MAP()
  26. BEGIN_SNAPINTOOLBARID_MAP(CFaxOutboundRoutingRuleNode)
  27. END_SNAPINTOOLBARID_MAP()
  28. //
  29. // Constructor
  30. //
  31. CFaxOutboundRoutingRuleNode (CSnapInItem * pParentNode, CSnapin * pComponentData) :
  32. CSnapinNode<CFaxOutboundRoutingRuleNode, FALSE>(pParentNode, pComponentData )
  33. {
  34. m_fIsAllCountries = FALSE;
  35. }
  36. //
  37. // Destructor
  38. //
  39. ~CFaxOutboundRoutingRuleNode()
  40. {
  41. }
  42. LPOLESTR GetResultPaneColInfo(int nCol);
  43. void InitParentNode(CFaxOutboundRoutingRulesNode *pParentNode)
  44. {
  45. m_pParentNode = pParentNode;
  46. }
  47. STDMETHOD(CreatePropertyPages)(LPPROPERTYSHEETCALLBACK lpProvider,
  48. LONG_PTR handle,
  49. IUnknown* pUnk,
  50. DATA_OBJECT_TYPES type);
  51. STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
  52. {
  53. if (type == CCT_SCOPE || type == CCT_RESULT)
  54. return S_OK;
  55. return S_FALSE;
  56. }
  57. virtual HRESULT SetVerbs(IConsoleVerb *pConsoleVerb);
  58. virtual HRESULT OnDelete(LPARAM arg,
  59. LPARAM param,
  60. IComponentData *pComponentData,
  61. IComponent *pComponent,
  62. DATA_OBJECT_TYPES type,
  63. BOOL fSilent = FALSE);
  64. virtual HRESULT OnRefresh(LPARAM arg,
  65. LPARAM param,
  66. IComponentData * pComponentData,
  67. IComponent * pComponent,
  68. DATA_OBJECT_TYPES type);
  69. DWORD GetCountryCode() { return m_dwCountryCode; }
  70. DWORD GetAreaCode() { return m_dwAreaCode; }
  71. DWORD GetDeviceID() { return m_dwDeviceID; }
  72. CComBSTR GetGroupName() { return m_bstrGroupName; }
  73. BOOL GetIsGroup() { return m_fIsGroup; }
  74. HRESULT Init(PFAX_OUTBOUND_ROUTING_RULE pRuleConfig);
  75. // virtual
  76. HRESULT OnPropertyChange(
  77. LPARAM arg
  78. , LPARAM param
  79. , IComponentData * pComponentData
  80. , IComponent * pComponent
  81. , DATA_OBJECT_TYPES type
  82. );
  83. HRESULT OnShowContextHelp(
  84. IDisplayHelp* pDisplayHelp, LPOLESTR helpFile);
  85. private:
  86. //
  87. // Parent Node
  88. //
  89. CFaxOutboundRoutingRulesNode * m_pParentNode;
  90. //
  91. // Property Pages
  92. //
  93. CppFaxOutboundRoutingRule * m_pRuleGeneralPP;
  94. //
  95. // members
  96. //
  97. DWORD m_dwCountryCode;
  98. DWORD m_dwAreaCode;
  99. CComBSTR m_bstrCountryName;
  100. DWORD m_dwDeviceID;
  101. CComBSTR m_bstrDeviceName;
  102. CComBSTR m_bstrGroupName;
  103. BOOL m_fIsGroup;
  104. BOOL m_fIsAllCountries;
  105. FAX_ENUM_RULE_STATUS m_enumStatus;
  106. CComBSTR m_buf;
  107. UINT GetStatusIDS(FAX_ENUM_RULE_STATUS enumStatus);
  108. HRESULT RefreshItemInView(IConsole *pConsole);
  109. //
  110. // Init
  111. //
  112. HRESULT InitMembers (PFAX_OUTBOUND_ROUTING_RULE pRuleConfig);
  113. DWORD InitDeviceNameFromID (DWORD dwDeviceID);
  114. void InitIcons ();
  115. };
  116. //typedef CSnapinNode<CFaxOutboundRoutingRuleNode, FALSE> CBaseFaxInboundRoutingMethodNode;
  117. #endif //H_FAXOUTBOUNDROUTINGRULE_H