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.

104 lines
3.4 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // FILE : OutboundGroups.h //
  3. // //
  4. // DESCRIPTION : Header file for CFaxOutboundGroupsNode class //
  5. // //
  6. // AUTHOR : yossg //
  7. // //
  8. // HISTORY : //
  9. // Sep 29 1999 yossg create //
  10. // Jan 3 2000 yossg add new group //
  11. // //
  12. // Copyright (C) 1999 Microsoft Corporation All Rights Reserved //
  13. /////////////////////////////////////////////////////////////////////////////
  14. #ifndef H_FAXOUTBOUNDGROUPSNODE_H
  15. #define H_FAXOUTBOUNDGROUPSNODE_H
  16. #include "OutboundRouting.h"
  17. #include "snapin.h"
  18. #include "snpnscp.h" //#include "snpnode.h"
  19. class CFaxOutboundRoutingNode;
  20. class CFaxOutboundRoutingGroupNode;
  21. class CFaxOutboundGroupsNode : public CNodeWithScopeChildrenList<CFaxOutboundGroupsNode, FALSE>
  22. {
  23. public:
  24. BEGIN_SNAPINCOMMAND_MAP(CFaxOutboundGroupsNode, FALSE)
  25. SNAPINCOMMAND_ENTRY(IDM_NEW_GROUP, OnNewGroup)
  26. END_SNAPINCOMMAND_MAP()
  27. BEGIN_SNAPINTOOLBARID_MAP(CFaxOutboundGroupsNode)
  28. END_SNAPINTOOLBARID_MAP()
  29. SNAPINMENUID(IDR_OUTGROUPS_MENU)
  30. CFaxOutboundGroupsNode(CSnapInItem * pParentNode, CSnapin * pComponentData) :
  31. CNodeWithScopeChildrenList<CFaxOutboundGroupsNode, FALSE>(pParentNode, pComponentData )
  32. {
  33. m_dwNumOfGroups = FXS_ITEMS_NEVER_COUNTED;
  34. }
  35. ~CFaxOutboundGroupsNode()
  36. {
  37. }
  38. HRESULT InitRPC(PFAX_OUTBOUND_ROUTING_GROUP * pFaxGroupsConfig);
  39. virtual HRESULT PopulateScopeChildrenList();
  40. HRESULT RepopulateScopeChildrenList();
  41. virtual HRESULT InsertColumns(IHeaderCtrl* pHeaderCtrl);
  42. virtual HRESULT SetVerbs(IConsoleVerb *pConsoleVerb);
  43. STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
  44. {
  45. if (type == CCT_SCOPE || type == CCT_RESULT)
  46. return S_OK;
  47. return S_FALSE;
  48. }
  49. // virtual
  50. HRESULT OnRefresh(LPARAM arg,
  51. LPARAM param,
  52. IComponentData *pComponentData,
  53. IComponent * pComponent,
  54. DATA_OBJECT_TYPES type);
  55. HRESULT DoRefresh(CSnapInObjectRootBase *pRoot);
  56. HRESULT DoRefresh();
  57. void InitParentNode(CFaxOutboundRoutingNode *pParentNode)
  58. {
  59. m_pParentNode = pParentNode;
  60. }
  61. HRESULT InitDisplayName();
  62. HRESULT DeleteGroup(BSTR bstrName, CFaxOutboundRoutingGroupNode *pChildNode);
  63. HRESULT OnNewGroup (bool &bHandled, CSnapInObjectRootBase *pRoot);
  64. HRESULT OnShowContextHelp(
  65. IDisplayHelp* pDisplayHelp, LPOLESTR helpFile);
  66. private:
  67. static CColumnsInfo m_ColsInfo;
  68. CFaxOutboundRoutingNode * m_pParentNode;
  69. DWORD m_dwNumOfGroups;
  70. };
  71. typedef CNodeWithScopeChildrenList<CFaxOutboundGroupsNode, FALSE>
  72. CBaseFaxOutboundGroupsNode;
  73. #endif //H_FAXOUTBOUNDGROUPSNODE_H