windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/upssvc/apcsmart/cfgmgr.h

92 lines
1.9 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
*
* NOTES:
*
* REVISIONS:
* pcy11Dec92: Added extern _theConfigManager so others can use me.
* hw12Dec92: Added structure _ConfigItemList_T.
* rct19Jan93: Overloaded some methods...took out itemCodeList
* rct26Jan93: Added remove methods
* tje15Mar93: Made ConfigManager an abstract base class to support multiple types of cfgmgr's
* pcy09Sep93: cfgmgr should be an obj to allow object status returns
* cad04Mar94: added remove and rename for components
* pav02Jul96: Added Item to handle lists (i.e. - SmartScheduling)
* mholly06Oct98 : Discontinue use of a cache
*/
#ifndef _INC__CFGMGR_H
#define _INC__CFGMGR_H
#include "_defs.h"
#include "list.h"
#include "cfgcodes.h"
#include "icodes.h"
//
// Defines
//
_CLASSDEF(ConfigManager)
_CLASSDEF(IniConfigManager)
//
// Uses
//
_CLASSDEF(TAttribute)
_CLASSDEF(List)
extern PConfigManager _theConfigManager;
//
// _ConfigItemList_T is struct used as the entries in
// the ConfigItemList defined in stdcfg.cxx
// ConfigItemList contains the default values for
// items that can come from the ConfigManager
//
#define LAST_ENTRY -1
struct _ConfigItemList_T {
INT code;
PCHAR componentName;
PCHAR itemName;
PCHAR defaultValue;
};
class ConfigManager : public Obj {
public:
ConfigManager();
virtual INT Get( INT, PCHAR ) = 0;
//++srb
//virtual INT Set( INT, PCHAR ) = 0;
virtual INT GetListValue( PCHAR, PCHAR, PCHAR ) = 0;
protected:
virtual _ConfigItemList_T * getItemCode( INT aCode ) = 0;
virtual _ConfigItemList_T * getItemCode( PCHAR aComponent, PCHAR anItem ) = 0;
};
class IniConfigManager : public ConfigManager {
public:
IniConfigManager();
virtual ~IniConfigManager();
INT Get( INT, PCHAR );
//++srb
//INT Set( INT, PCHAR );
INT GetListValue( PCHAR, PCHAR, PCHAR );
private:
_ConfigItemList_T * getItemCode( INT aCode );
_ConfigItemList_T * getItemCode( PCHAR aComponent, PCHAR anItem );
};
#endif