This is the module class for ALox logging library residing in namespace alib::lox.
This is a strict singleton class. The only instance is found with namespace variable alib::ALOX.
Definition at line 106 of file aloxmodule.hpp.
#include <aloxmodule.hpp>
Public Static Field Index: | |
static ALIB_API config::VariableDecl | CODEPAGE |
Public Method Index: | |
ALox () | |
ALIB_API Lox * | Get (const NString &name, lang::CreateIfNotExists create=lang::CreateIfNotExists::No) |
ALIB_API void | Register (Lox *lox, lang::ContainerOp operation) |
ALIB_API void | Reset () |
Public Method Index: inherited from Camp | |
Camp (Camp &&)=delete | |
Camp (const Camp &)=delete | |
Camp (const NCString &resourceCategory) | |
virtual | ~Camp () |
void | BootstrapResource (const NString &name, const String &data) |
void | BootstrapSetConfig (config::Configuration *pConfig) |
void | BootstrapSetResourcePool (lang::resources::ResourcePool *pool) |
config::Configuration & | GetConfig () |
const String & | GetResource (const NString &name) |
resources::ResourcePool & | GetResourcePool () |
bool | IsBootstrapped () |
void | operator= (Camp &&)=delete |
void | operator= (const Camp &)=delete |
const String & | TryResource (const NString &name) |
Additional Inherited Members | |
Public Field Index: inherited from Camp | |
NCString | ResourceCategory |
|
static |
Attributes of corresponding configuration variable ALOX_CODE_PAGE used by class WindowsConsoleLogger .
Definition at line 124 of file aloxmodule.hpp.
ALox | ( | ) |
Constructor.
While this is public, it must not be invoked as this is a strict singleton type. (See notes in 3.2 Class Camp).
Definition at line 68 of file aloxmodule.cpp.
|
overrideprotectedvirtual |
Implementation of Camp::bootstrap .
In phase BootstrapPhases::Final performs:
phase | The initialization phase to perform. |
Implements Camp.
Definition at line 169 of file aloxmodule.cpp.
Lox * Get | ( | const NString & | name, |
lang::CreateIfNotExists | create = lang::CreateIfNotExists::No ) |
Returns a Lox with the given name. A Lox is only found if it was created and registered with ALox using Register. If not found, and parameter create is true
(the default), a new Lox is created, registered and returned.
name | The name of the Lox to search and optionally to create. Comparison is case insensitive. |
create | Denotes whether a Lox that was not found is created. Optional and defaults to CreateIfNotExists::No. |
nullptr
in case of failure. Definition at line 104 of file aloxmodule.cpp.
void Register | ( | Lox * | lox, |
lang::ContainerOp | operation ) |
Registers or un-registers a Lox object statically with ALox . Once registered, any code entity of the same process is enabled to retrieve the Lox using Get.
No two objects with the same name must be registered. If this is done, the latter will not be registered and not be found by Get. In debug-compilations, an ALib error report is written (by default raises 'assert') if a name is registered twice.
Note that name comparison is performed case in-sensitive.
If debug-logging is enabled (depends on optional compiler symbols) and used, the singleton of type % Lox provided for debug-logging is registered. This uses the name "Log"
.
Registration is not mandatory but done by default by the constructor of class Lox. Therefore, to keep a Lox private, an optional parameter is available.
lox | The Lox to register. |
operation | If ContainerOp::Remove, the given Lox is deregistered. Defaults to ContainerOp::Insert. |
Definition at line 126 of file aloxmodule.cpp.
void Reset | ( | ) |
Resets this object. Concretely the following steps are performed:
Definition at line 372 of file aloxmodule.cpp.
|
overrideprotectedvirtual |
Terminates this module.
phase | The shutdown phase to perform. |
Implements Camp.
Definition at line 352 of file aloxmodule.cpp.