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: APGTSCFG.H
// Fully implements class CDBLoadConfiguration
//
// PURPOSE:
// Brings together the persistent pieces ofthe online troubleshooter configuration:
// - the Topic Shop
// - the registry
// - the pool threads
// - the threads that maintain these.
// - the CRecentUse object that tracks passwords
// Provides functions to get latest values on registry variables and to acquire a
// smart pointer to a CTopic based on its name.
//
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 [email protected]
//
// AUTHOR: Roman Mach
//
// ORIGINAL DATE: 8-2-96
//
// NOTES:
//
// Version Date By Comments
//--------------------------------------------------------------------
// V3.0 9/21/98 JM this file abstracted from apgtscls.h
//
#ifndef _H_APGTSCFG
#define _H_APGTSCFG
#include "pointer.h"
#include "RegistryMonitor.h"
#include "ThreadPool.h"
#include "RecentUse.h"
//
// Provides in-memory access to registry values & full content of the resource directory
// Basically, on initialization, this sucks EVERYTHING in.
class CDBLoadConfiguration { public: CDBLoadConfiguration( HMODULE hModule, CThreadPool * pThreadPool, const CString& strTopicName, CHTMLLog *pLog); ~CDBLoadConfiguration(); // registry functions
CString GetFullResource(); CString GetVrootPath(); DWORD GetMaxWQItems(); DWORD GetCookieLife(); DWORD GetReloadDelay(); CString GetLogDir();
void GetListOfTopicNames(vector<CString>&arrstrTopic); CP_TOPIC & GetTopic(const CString & strTopic, CP_TOPIC & cpTopic, bool bNewCookie); CP_TEMPLATE & GetTemplate(const CString & strTemplate, CP_TEMPLATE & cpTemplate, bool bNewCookie); void AddTemplate( const CString & strTemplateName ); bool RetTemplateInCatalogStatus( const CString& strTemplate, bool& bValid );
void CreateErrorPage(const CString & strError, CString& out);
protected: friend class APGTSContext; #ifdef LOCAL_TROUBLESHOOTER
friend class CTSHOOTCtrl; #endif
// for use by status pages functions of APGTSContext
CTopicShop& GetTopicShop() {return m_TopicShop;} CRegistryMonitor& GetRegistryMonitor() {return m_RegistryMonitor;} CThreadPool& GetThreadPool() {return *m_pThreadPool;} CPoolQueue& GetPoolQueue() {return *m_pThreadPool->m_pPoolQueue;} CDirectoryMonitor& GetDirectoryMonitor() {return m_DirectoryMonitor;} CRecentUse& GetRecentPasswords() {return m_RecentPasswords;}
protected: CTopicShop m_TopicShop; // The collection of available topics.
CThreadPool * m_pThreadPool; CDirectoryMonitor m_DirectoryMonitor; // track changes to LST, DSC, HTI, BES files.
CRegistryMonitor m_RegistryMonitor; // access to registry values.
CRecentUse m_RecentPasswords;
protected: DWORD GetMaxThreads(); DWORD GetThreadsPP(); bool HasDetailedEventLogging(); }; #endif // _H_APGTSCFG
|