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.

114 lines
3.7 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // FILE : InboundRoutingMethods.h //
  3. // //
  4. // DESCRIPTION : Header file for the Fax Inbound Routing Methods Node //
  5. // //
  6. // AUTHOR : yossg //
  7. // //
  8. // HISTORY : //
  9. // Dec 1 1999 yossg Create //
  10. // //
  11. // Copyright (C) 1999 Microsoft Corporation All Rights Reserved //
  12. /////////////////////////////////////////////////////////////////////////////
  13. #ifndef H_FAXINBOUNDROUTINGMETHODS_H
  14. #define H_FAXINBOUNDROUTINGMETHODS_H
  15. #include "snapin.h"
  16. #include "snpnres.h"
  17. #include "InboundRoutingMethod.h"
  18. class CFaxDeviceNode;
  19. class CFaxInboundRoutingMethodNode;
  20. class CFaxInboundRoutingMethodsNode : public CNodeWithResultChildrenList<
  21. CFaxInboundRoutingMethodsNode,
  22. CFaxInboundRoutingMethodNode,
  23. CSimpleArray<CFaxInboundRoutingMethodNode*>,
  24. FALSE>
  25. {
  26. public:
  27. BEGIN_SNAPINCOMMAND_MAP(CFaxInboundRoutingMethodsNode, FALSE)
  28. END_SNAPINCOMMAND_MAP()
  29. BEGIN_SNAPINTOOLBARID_MAP(CFaxInboundRoutingMethodsNode)
  30. END_SNAPINTOOLBARID_MAP()
  31. //
  32. // Constructor
  33. //
  34. CFaxInboundRoutingMethodsNode(CSnapInItem * pParentNode, CSnapin * pComponentData) :
  35. CNodeWithResultChildrenList<CFaxInboundRoutingMethodsNode, CFaxInboundRoutingMethodNode, CSimpleArray<CFaxInboundRoutingMethodNode*>, FALSE>(pParentNode, pComponentData )
  36. {
  37. m_pFaxInboundMethodsConfig = NULL;
  38. m_dwNumOfInboundMethods = 0;
  39. }
  40. //
  41. // Destructor
  42. //
  43. ~CFaxInboundRoutingMethodsNode()
  44. {
  45. if (NULL != m_pFaxInboundMethodsConfig)
  46. {
  47. FaxFreeBuffer(m_pFaxInboundMethodsConfig);
  48. }
  49. }
  50. //
  51. // get data from RPC
  52. //
  53. HRESULT InitRPC();
  54. virtual HRESULT PopulateResultChildrenList();
  55. virtual HRESULT InsertColumns(IHeaderCtrl *pHeaderCtrl);
  56. virtual HRESULT SetVerbs(IConsoleVerb *pConsoleVerb);
  57. void InitParentNode(CFaxDeviceNode *pParentNode)
  58. {
  59. m_pParentNode = pParentNode;
  60. }
  61. virtual HRESULT OnRefresh(LPARAM arg,
  62. LPARAM param,
  63. IComponentData *pComponentData,
  64. IComponent * pComponent,
  65. DATA_OBJECT_TYPES type);
  66. HRESULT DoRefresh(CSnapInObjectRootBase *pRoot);
  67. STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
  68. {
  69. if (type == CCT_SCOPE || type == CCT_RESULT)
  70. return S_OK;
  71. return S_FALSE;
  72. }
  73. HRESULT InitDisplayName();
  74. HRESULT OnShowContextHelp(
  75. IDisplayHelp* pDisplayHelp, LPOLESTR helpFile);
  76. private:
  77. static CColumnsInfo m_ColsInfo;
  78. PFAX_ROUTING_METHOD m_pFaxInboundMethodsConfig;
  79. DWORD m_dwNumOfInboundMethods;
  80. CFaxDeviceNode * m_pParentNode;
  81. };
  82. typedef CNodeWithResultChildrenList<CFaxInboundRoutingMethodsNode, CFaxInboundRoutingMethodNode, CSimpleArray<CFaxInboundRoutingMethodNode*>, FALSE>
  83. CBaseFaxInboundRoutingMethodsNode;
  84. #endif //H_FAXINBOUNDROUTINGMETHODS_H