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.
|
|
//
// MODULE: BN.h
//
// PURPOSE: interface for the CBeliefNetwork class
//
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 [email protected]
//
// AUTHOR: Joe Mabel
//
// ORIGINAL DATE: 8-31-98
//
// NOTES:
// 1. Based on Print Troubleshooter DLL
//
// Version Date By Comments
//---------------------------------------------------------------------
// V3.0 8-31-98 JM
//
#if !defined(AFX_TOPIC_H__4ACF2F73_40EB_11D2_95EE_00C04FC22ADD__INCLUDED_)
#define AFX_TOPIC_H__4ACF2F73_40EB_11D2_95EE_00C04FC22ADD__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "dscread.h"
#include "apgtscac.h"
#include "counter.h"
class CBeliefNetwork : public CDSCReader { struct SNodeType { NID Nid; ESTDLBL Type; SNodeType(NID nid, ESTDLBL type) : Nid(nid), Type(type) {} };
protected: bool m_bInitialized; vector<NID> m_arrnidProblem; // NIDs of problem nodes; convenience array
vector<SNodeType> m_arrNodeTypeAll; // NIDs of all nodes; convenience array
CCache m_Cache; // cache for this topic
CHourlyDailyCounter m_countCacheHit; CHourlyDailyCounter m_countCacheMiss; bool m_bSnifferIntegration; // This belief network is designed to integrate with a
// sniffer.
private: CBeliefNetwork(); // do not instantiate
public: typedef enum {RS_OK, RS_Impossible, RS_Broken} eRecStatus; CBeliefNetwork(LPCTSTR path); virtual ~CBeliefNetwork(); int CNode(); int INode (LPCTSTR szNodeName); int GetRecommendations( const CBasisForInference & BasisForInference, CRecommendations & Recommendations); int GetProblemArray(vector<NID>* &parrnid); int GetNodeArrayIncludeType(vector<NID>& arrOut, const vector<ESTDLBL>& arrTypeInclude); int GetNodeArrayExcludeType(vector<NID>& arrOut, const vector<ESTDLBL>& arrTypeExclude); CString GetNetPropItemStr(LPCTSTR szPropName); CString GetNodePropItemStr(NID nid, LPCTSTR szPropName, IST state = 0); bool GetNetPropItemNum(LPCTSTR szPropName, double& numOut); bool GetNodePropItemNum(NID nid, LPCTSTR szPropName, double& numOut, IST state = 0); CString GetNodeSymName(NID nid); CString GetNodeFullName(NID nid); CString GetStateName(NID nid, IST state); CString GetMultilineNetProp(LPCTSTR szPropName, LPCTSTR szFormat); CString GetMultilineNodeProp(NID nid, LPCTSTR szPropName, LPCTSTR szFormat); int GetCountOfStates(NID nid); bool IsValidNID(NID nid); bool IsCauseNode(NID nid); bool IsProblemNode(NID nid); bool IsInformationalNode(NID nid); bool UsesSniffer();
protected: void Initialize(); BNTS * pBNTS(); void ResetNodes(const CBasisForInference & BasisForInference); bool SetNodes(const CBasisForInference & BasisForInference); };
#endif // !defined(AFX_TOPIC_H__4ACF2F73_40EB_11D2_95EE_00C04FC22ADD__INCLUDED_)
|