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 133 of file aloxcamp.hpp.
#include <aloxcamp.hpp>
Public Static Field Index: | |
static ALIB_API config::Declaration | CODEPAGE |
Public Method Index: | |
ALoxCamp () | |
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 | |
Deleted move constructor. | |
Camp (const Camp &)=delete | |
Deleted copy constructor. | |
Camp (const NCString &resourceCategory) | |
virtual | ~Camp () |
Virtual destructor to satisfy C++ abstract type rules. | |
void | BootstrapResource (const NString &name, const String &data) |
void | BootstrapSetConfig (config::Configuration *pConfig) |
void | BootstrapSetResourcePool (lang::resources::ResourcePool *pool) |
config::Configuration & | GetConfig () |
threads::SharedLock & | GetConfigLock () |
const String & | GetResource (const NString &name) |
resources::ResourcePool & | GetResourcePool () |
bool | IsBootstrapped () |
void | operator= (Camp &&)=delete |
Deleted move assignment. | |
void | operator= (const Camp &)=delete |
Deleted copy assignment. | |
const String & | TryResource (const NString &name) |
Protected Method Index: | |
virtual void | bootstrap (BootstrapPhases phase) override |
virtual void | shutdown (ShutdownPhases phase) override |
Protected Method Index: inherited from Camp |
Additional Inherited Members | |
Public Field Index: inherited from Camp | |
NCString | ResourceCategory |
Protected Field Index: inherited from Camp | |
int | bootstrapState = 0 |
config::Configuration * | config = nullptr |
SharedLock * | configLock |
A shared lock associated to member config. | |
bool | isConfigOwner = false |
bool | isResourceOwner = false |
lang::resources::ResourcePool * | resourcePool = nullptr |
|
static |
Attributes of corresponding configuration variable ALOX/CODEPAGE used by class WindowsConsoleLogger.
Definition at line 151 of file aloxcamp.hpp.
ALoxCamp | ( | ) |
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 46 of file aloxcamp.cpp.
|
overrideprotectedvirtual |
Implementation of Camp::bootstrap.
phase | The initialization phase to perform. |
Implements Camp.
Definition at line 147 of file aloxcamp.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 82 of file aloxcamp.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 104 of file aloxcamp.cpp.
void Reset | ( | ) |
Resets this object. Concretely, the following steps are performed:
Definition at line 397 of file aloxcamp.cpp.
|
overrideprotectedvirtual |
Implementation of Camp::shutdown.
phase | The shutdown phase to perform. |
Implements Camp.
Definition at line 377 of file aloxcamp.cpp.