CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

iConfigManager Struct Reference
[Utilities]

The config manager is used to make a number of config file objects look like a single object. More...

#include <cfgmgr.h>

Inheritance diagram for iConfigManager:

iConfigFile iBase csConfigManager List of all members.

Public Types

enum  
 Default priority values (you may use other values if you want). More...


Public Methods

virtual void AddDomain (iConfigFile *, int priority)=0
 add a configuration domain. More...

virtual iConfigFileAddDomain (char const *path, iVFS *, int priority)=0
 Add a configuration domain. More...

virtual void RemoveDomain (iConfigFile *)=0
 remove a configuration domain. More...

virtual void RemoveDomain (char const *path)=0
 remove a configuration domain. More...

virtual iConfigFileLookupDomain (char const *path) const=0
 return a pointer to a single config domain. More...

virtual void SetDomainPriority (char const *path, int priority)=0
 set the priority of a config domain. More...

virtual void SetDomainPriority (iConfigFile *, int priority)=0
 set the priority of a config domain. More...

virtual int GetDomainPriority (char const *path) const=0
 return the priority of a config domain. More...

virtual int GetDomainPriority (iConfigFile *) const=0
 return the priority of a config domain. More...

virtual bool SetDynamicDomain (iConfigFile *)=0
 Change the dynamic domain. More...

virtual iConfigFileGetDynamicDomain () const=0
 return a pointer to the dynamic config domain. More...

virtual void SetDynamicDomainPriority (int priority)=0
 set the priority of the dynamic config domain. More...

virtual int GetDynamicDomainPriority () const=0
 return the priority of the dynamic config domain. More...

virtual void FlushRemoved ()=0
 flush all removed config files (only required in optimize mode). More...


Detailed Description

The config manager is used to make a number of config file objects look like a single object.

To do this, every config file object (also called 'domain') is assigned a priority value. Options from config files with higher priority override options from config files with lower priority. These 'lower' options are not really deleted, so if you access the 'lower' config file directly you will still find their real value. If two config objects use the same priority value, it is not defined which of them takes precedence.

One config object is the so-called 'dynamic' object. When you change something in the global configuration, these changes are applied to the dynamic config object. The changed key is removed from all objects with higher priority. The dynamic object is given to the config manager at construction and cannot be changed later. It has always priority 0 (medium).

Differences in behaviour compared to a normal confguration object are:

Definition at line 65 of file iutil/cfgmgr.h.


Member Enumeration Documentation

anonymous enum
 

Default priority values (you may use other values if you want).

Definition at line 79 of file iutil/cfgmgr.h.


Member Function Documentation

virtual iConfigFile* iConfigManager::AddDomain char const *    path,
iVFS  ,
int    priority
[pure virtual]
 

Add a configuration domain.

The new config file is also returned. If you want to store the pointer yourself, you must first IncRef it.

Implemented in csConfigManager.

virtual void iConfigManager::AddDomain iConfigFile  ,
int    priority
[pure virtual]
 

add a configuration domain.

Implemented in csConfigManager.

virtual void iConfigManager::FlushRemoved   [pure virtual]
 

flush all removed config files (only required in optimize mode).

Implemented in csConfigManager.

virtual int iConfigManager::GetDomainPriority iConfigFile   const [pure virtual]
 

return the priority of a config domain.

Implemented in csConfigManager.

virtual int iConfigManager::GetDomainPriority char const *    path const [pure virtual]
 

return the priority of a config domain.

Implemented in csConfigManager.

virtual iConfigFile* iConfigManager::GetDynamicDomain   const [pure virtual]
 

return a pointer to the dynamic config domain.

Implemented in csConfigManager.

virtual int iConfigManager::GetDynamicDomainPriority   const [pure virtual]
 

return the priority of the dynamic config domain.

Implemented in csConfigManager.

virtual iConfigFile* iConfigManager::LookupDomain char const *    path const [pure virtual]
 

return a pointer to a single config domain.

Implemented in csConfigManager.

virtual void iConfigManager::RemoveDomain char const *    path [pure virtual]
 

remove a configuration domain.

Implemented in csConfigManager.

virtual void iConfigManager::RemoveDomain iConfigFile   [pure virtual]
 

remove a configuration domain.

Implemented in csConfigManager.

virtual void iConfigManager::SetDomainPriority iConfigFile  ,
int    priority
[pure virtual]
 

set the priority of a config domain.

Implemented in csConfigManager.

virtual void iConfigManager::SetDomainPriority char const *    path,
int    priority
[pure virtual]
 

set the priority of a config domain.

Implemented in csConfigManager.

virtual bool iConfigManager::SetDynamicDomain iConfigFile   [pure virtual]
 

Change the dynamic domain.

The given config object must already be registered with AddDomain(). Returns false if this is not the case.

Implemented in csConfigManager.

virtual void iConfigManager::SetDynamicDomainPriority int    priority [pure virtual]
 

set the priority of the dynamic config domain.

Implemented in csConfigManager.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14