Compounds | |
class | AnyConfig::AcAutoDelete |
A mini-class to auto-release AcConfiguration pointers. More... | |
class | AnyConfig::AcBufFileConfig |
A merge of the AcMemConfig and AcFileConfig classes. More... | |
class | AnyConfig::AcCfgSource |
Configuration source or configuration "pointer". More... | |
class | AnyConfig::AcConfiguration |
The base class for all configuration classes. More... | |
interface | AnyConfig::CorbaConfig |
The interface specification for the Corba configuration server. More... | |
class | AnyConfig::AcCorbaConfig |
This class implements a remote AcWriteAbleConfig using CORBA. More... | |
class | AnyConfig::CorbaConfig_impl |
The implementation of AnyConfig::CorbaConfig. More... | |
class | AnyConfig::AcEnvConfig |
Looks for sections and keys in the environment. More... | |
class | AnyConfig::AcException |
Exception meant for debugging. More... | |
class | AnyConfig::AcFileConfig |
Uses an .INI style file for the configuration. More... | |
class | AnyConfig::AcMemCfgItem |
Holds a name-value pair. More... | |
class | AnyConfig::AcMemCfgSection::MemCfgItemIterator |
class | AnyConfig::AcMemCfgSection |
Holds a section (list of name-value pairs). More... | |
class | AnyConfig::AcMemConfig::MemCfgSectionIterator |
class | AnyConfig::AcMemConfig |
Holds an in-memory configuration. More... | |
class | AnyConfig::AcMySQLConfig |
An AcWriteableConfig which uses a MySQL database as source. More... | |
class | AnyConfig::AcRegConfig |
Access the registry for configuration information. More... | |
struct | AnyConfig::CorbaConfig::AcSection |
A single section. More... | |
struct | AnyConfig::CorbaConfig::AcValuePair |
A simple key/value pair. More... | |
class | AnyConfig::AcWriteableConfig |
The base class for all configuration classes that allow updating. More... | |
Typedefs | |
typedef int | HKEY |
Typedef to avoid compiler complains. More... | |
Functions | |
AcConfiguration* | loadRedundantConfig (AcConfiguration *pSource, FILE *pfReport=NULL) |
Redundant configuration handling. More... | |
void | MasterConfig (int argn, char *argv[]) |
MasterConfig starts another program after using AnyConfig to build its native configuration. More... | |
void | AcCorbaInit (void *pOrb) |
Special function to use avoid creating an extra ORB. More... | |
Variables | |
bool | acfThrowExceptions = false |
Normally AnyConfig does not throw exceptions. More... |
|
Typedef to avoid compiler complains.
|
|
Special function to use avoid creating an extra ORB.
|
|
MasterConfig starts another program after using AnyConfig to build its native configuration.
MasterConfig needs 1 argument, the section of the default configuration to use. See AcConfiguration::findAnyConfig() on how it obtains the default configuration.
If anybody does implement these, feel free to modify the tag names or add some of your own, these are just here as a discussion item.
|
|
Redundant configuration handling. This code supports some fall-back and fail-over configuration handling. The parent configuration must contain special keywords in the (specified) section for this to work:
FAILOVER, on the other hand, assumes that the failure of the PRIMARY configuration indicates the program should be started with some kind of 'emergency' configuration.
The following scenario is applied, depending on which of the above keywords are specified: if (primary_ok) if (copy2back_exists AND fallback_exists AND copy2back_ok) copy2back->copyTo (fallback) if (copy2fail_exists AND failover_exists AND copy2fail_ok) copy2fail->copyTo (failover) return primary else if (secundary_exists AND secundary_ok) return secundary else if (failover_exists) if (fallback_exists AND fallback_ok) return fallback else return failover else if (fallback_exists AND fallback_ok) return fallback else *** FAILED to load configuration *** Remember that AnyConfig has no intrinsic knowledge of your environment or operating conditions! You must ultimately handle the various conditions yourself.
|
|
Normally AnyConfig does not throw exceptions. If you need to figure out why things aren't working, however, you can set this flag. |