Windows-Server-2003/printscan/faxsrv/admin/mmc/outboundrule.h

154 lines
4.6 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// FILE : OutboundRule.h //
// //
// DESCRIPTION : Header file for the Outbound Routing Rule node. //
// //
// AUTHOR : yossg //
// //
// HISTORY : //
// Dec 24 1999 yossg Create //
// Dec 30 1999 yossg create ADD/REMOVE rule //
// //
// Copyright (C) 1999 - 2000 Microsoft Corporation All Rights Reserved //
/////////////////////////////////////////////////////////////////////////////
#ifndef H_FAXOUTBOUNDROUTINGRULE_H
#define H_FAXOUTBOUNDROUTINGRULE_H
#include "snapin.h"
#include "snpnode.h"
#include "Icons.h"
class CppFaxOutboundRoutingRule;
class CFaxOutboundRoutingRulesNode;
class CFaxOutboundRoutingRuleNode : public CSnapinNode <CFaxOutboundRoutingRuleNode, FALSE>
{
public:
BEGIN_SNAPINCOMMAND_MAP(CFaxOutboundRoutingRuleNode, FALSE)
END_SNAPINCOMMAND_MAP()
BEGIN_SNAPINTOOLBARID_MAP(CFaxOutboundRoutingRuleNode)
END_SNAPINTOOLBARID_MAP()
//
// Constructor
//
CFaxOutboundRoutingRuleNode (CSnapInItem * pParentNode, CSnapin * pComponentData) :
CSnapinNode<CFaxOutboundRoutingRuleNode, FALSE>(pParentNode, pComponentData )
{
m_fIsAllCountries = FALSE;
}
//
// Destructor
//
~CFaxOutboundRoutingRuleNode()
{
}
LPOLESTR GetResultPaneColInfo(int nCol);
void InitParentNode(CFaxOutboundRoutingRulesNode *pParentNode)
{
m_pParentNode = pParentNode;
}
STDMETHOD(CreatePropertyPages)(LPPROPERTYSHEETCALLBACK lpProvider,
LONG_PTR handle,
IUnknown* pUnk,
DATA_OBJECT_TYPES type);
STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
{
if (type == CCT_SCOPE || type == CCT_RESULT)
return S_OK;
return S_FALSE;
}
virtual HRESULT SetVerbs(IConsoleVerb *pConsoleVerb);
virtual HRESULT OnDelete(LPARAM arg,
LPARAM param,
IComponentData *pComponentData,
IComponent *pComponent,
DATA_OBJECT_TYPES type,
BOOL fSilent = FALSE);
virtual HRESULT OnRefresh(LPARAM arg,
LPARAM param,
IComponentData * pComponentData,
IComponent * pComponent,
DATA_OBJECT_TYPES type);
DWORD GetCountryCode() { return m_dwCountryCode; }
DWORD GetAreaCode() { return m_dwAreaCode; }
DWORD GetDeviceID() { return m_dwDeviceID; }
CComBSTR GetGroupName() { return m_bstrGroupName; }
BOOL GetIsGroup() { return m_fIsGroup; }
HRESULT Init(PFAX_OUTBOUND_ROUTING_RULE pRuleConfig);
// virtual
HRESULT OnPropertyChange(
LPARAM arg
, LPARAM param
, IComponentData * pComponentData
, IComponent * pComponent
, DATA_OBJECT_TYPES type
);
HRESULT OnShowContextHelp(
IDisplayHelp* pDisplayHelp, LPOLESTR helpFile);
private:
//
// Parent Node
//
CFaxOutboundRoutingRulesNode * m_pParentNode;
//
// Property Pages
//
CppFaxOutboundRoutingRule * m_pRuleGeneralPP;
//
// members
//
DWORD m_dwCountryCode;
DWORD m_dwAreaCode;
CComBSTR m_bstrCountryName;
DWORD m_dwDeviceID;
CComBSTR m_bstrDeviceName;
CComBSTR m_bstrGroupName;
BOOL m_fIsGroup;
BOOL m_fIsAllCountries;
FAX_ENUM_RULE_STATUS m_enumStatus;
CComBSTR m_buf;
UINT GetStatusIDS(FAX_ENUM_RULE_STATUS enumStatus);
HRESULT RefreshItemInView(IConsole *pConsole);
//
// Init
//
HRESULT InitMembers (PFAX_OUTBOUND_ROUTING_RULE pRuleConfig);
DWORD InitDeviceNameFromID (DWORD dwDeviceID);
void InitIcons ();
};
//typedef CSnapinNode<CFaxOutboundRoutingRuleNode, FALSE> CBaseFaxInboundRoutingMethodNode;
#endif //H_FAXOUTBOUNDROUTINGRULE_H