This is a strict singleton class representing module ALib BaseCamp. The only instance is found with namespace variable alib::BASECAMP.
class CalendarDateTime
Definition at line 96 of file basecamp.hpp.
#include <basecamp.hpp>
Public Field Index: | |
bool | HasConsoleWindow |
String | LocaleFound |
bool | WaitForKeyPressOnTermination =false |
Public Field Index: inherited from Camp | |
NCString | ResourceCategory |
Public Method Index: | |
ALIB_API | BaseCamp () |
ALIB_API bool | IsDebuggerPresent () |
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 ALIB_API void | bootstrap (BootstrapPhases phase) override |
virtual ALIB_API void | shutdown (ShutdownPhases phase) override |
Protected Method Index: inherited from Camp |
Additional Inherited Members | |
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 |
bool HasConsoleWindow |
This flag indicates if the current process has console output window attached. While this is not detectable in Unix like systems (or just with huge efforts), in windows it is. The determination is performed in bootstrap and done as follows
true
is returned.In addition, this public flag may be modified at run-time (after method Bootstrap was invoked).
Definition at line 128 of file basecamp.hpp.
String LocaleFound |
This string is set during bootstrapping in the case that a locale information was found (via standard environment variables or ALib variable LOCALE) and successfully set.
Otherwise this string is nulled.
Definition at line 134 of file basecamp.hpp.
bool WaitForKeyPressOnTermination =false |
If true
, within Shutdown, it is waited for a key press in the console window.
By default, this flag is enabled when debugging a console application under Visual Studio.
This default behavior can be overruled by setting configuration variable ALIB/WAIT_FOR_KEY_PRESS.
In addition, this public flag may be modified at run-time (after method Bootstrap was invoked).
Definition at line 111 of file basecamp.hpp.
BaseCamp | ( | ) |
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 155 of file basecamp.cpp.
|
overrideprotectedvirtual |
Implementation of Camp::bootstrap.
In phase BootstrapPhases::Final performs:
In glibc versions of ALib (GNU/unix) probably invoke glibc method setlocale(), depending on the setting of the environment variables LANG and LANGUAGE and depending on ALib configuration variable ALIB/LOCALE.
In addition, invokes NumberFormat::SetFromLocale on static singleton NumberFormat::Global.
phase | The initialization phase to perform. |
Implements Camp.
Definition at line 163 of file basecamp.cpp.
bool IsDebuggerPresent | ( | ) |
If true
, the current process is under the hood of a debugger.
true
if the application is run in a debugger. Definition at line 1057 of file basecamp.cpp.
|
overrideprotectedvirtual |
Terminates this camp.
phase | The shutdown phase to perform. |
Implements Camp.
Definition at line 1004 of file basecamp.cpp.