Synesis Software STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ...

Pantheios Stock Front-ends
[Pantheios Front-end API]


Detailed Description

Pre-built front-ends supplied with the Pantheios library.

Pantheios comes with several pre-written stock front-end libraries, which cover most common needs for diagnostic logging. They also serve as good examples of how to write a custom front-end.


Modules

 Pantheios all Stock Front-end
 Front-end library that allows all severity levels in all modes.
 Pantheios fail Stock Front-end
 Front-end library that does not initialise.
 Pantheios N Stock Front-end
 Front-end library that can filter N back-ends.
 Pantheios null Stock Front-end
 Front-end library that suppresses all severity levels in all modes.
 Pantheios simple Stock Front-end
 Front-end library that allows all severity levels in debug mode and NOTICE and higher in release mode.
 Pantheios Windows Registry Stock Front-end
 Front-end library that allows all severity levels in debug mode and NOTICE and higher in release mode.

Functions

PAN_CHAR_T const * pantheios_fe_getAppProcessIdentity (void)
 Callback function defined by the application, invoked during API initialisation.

Variables

PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY []
 The application must define this variable, to contain the application name/identity.


Function Documentation

PAN_CHAR_T const* pantheios_fe_getAppProcessIdentity ( void   ) 

Callback function defined by the application, invoked during API initialisation.

Note:
This function is only required when the callback version of the front-end library is used.

This function *MUST NOT* throw an exception, and *MUST NOT* return NULL. If the implementation fails to acquire/produce the identity, it must call pantheios_exitProcess(1). It may optionally call pantheios_util_onBailOut4() first.


Variable Documentation

PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[]

The application must define this variable, to contain the application name/identity.

For example:

  /\* C or C++; multibyte or wide string build \*\/
  PANTHEIOS_EXTERN_C PAN_CHAR_T const   PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("my.app");

  // C: multibyte string build
  extern "C" char const                 PANTHEIOS_FE_PROCESS_IDENTITY[] = "my.app";

  // C++: wide string build
  extern "C" wchar_t const              PANTHEIOS_FE_PROCESS_IDENTITY[] = L"my.app";

Note:
The process identity must not contain any whitespace characters.
Examples:
c/example.c.core.pantheios_logprintf/example.c.core.pantheios_logprintf.c, c/example.c.extended_severity/example.c.extended_severity.c, c/example.c.log_n/example.c.log_n.c, c/example.c.N/example.c.N.c, cpp/backends/example.cpp.backends.callback/example.cpp.backends.callback.cpp, cpp/backends/example.cpp.backends.file.callback/example.cpp.backends.file.callback.cpp, cpp/backends/example.cpp.backends.file.lrsplit/example.cpp.backends.file.lrsplit.cpp, cpp/backends/example.cpp.backends.file/example.cpp.backends.file.cpp, cpp/backends/example.cpp.backends.mx.1/example.cpp.backends.mx.1.cpp, cpp/backends/example.cpp.backends.mx.2/example.cpp.backends.mx.2.cpp, cpp/contract/example.cpp.contract.PANTHEIOS_ASSERT/example.cpp.contract.PANTHEIOS_ASSERT.cpp, cpp/contract/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT.cpp, cpp/format/example.cpp.format.highres/example.cpp.format.highres.cpp, cpp/format/example.cpp.format.lowres/example.cpp.format.lowres.cpp, cpp/format/example.cpp.format.pad/example.cpp.format.pad.cpp, cpp/inserters/example.cpp.inserter.args/example.cpp.inserter.args.cpp, cpp/inserters/example.cpp.inserter.b/example.cpp.inserter.b.cpp, cpp/inserters/example.cpp.inserter.b64/example.cpp.inserter.b64.cpp, cpp/inserters/example.cpp.inserter.blob/example.cpp.inserter.blob.cpp, cpp/inserters/example.cpp.inserter.character/example.cpp.inserter.character.cpp, cpp/inserters/example.cpp.inserter.hex_ptr/example.cpp.inserter.hex_ptr.cpp, cpp/inserters/example.cpp.inserter.hostid/example.cpp.inserter.hostid.cpp, cpp/inserters/example.cpp.inserter.i/example.cpp.inserter.i.cpp, cpp/inserters/example.cpp.inserter.integer/example.cpp.inserter.integer.cpp, cpp/inserters/example.cpp.inserter.m2w/example.cpp.inserter.m2w.cpp, cpp/inserters/example.cpp.inserter.p/example.cpp.inserter.p.cpp, cpp/inserters/example.cpp.inserter.pointer/example.cpp.inserter.pointer.cpp, cpp/inserters/example.cpp.inserter.processid/example.cpp.inserter.processid.cpp, cpp/inserters/example.cpp.inserter.real/example.cpp.inserter.real.cpp, cpp/inserters/example.cpp.inserter.threadid/example.cpp.inserter.threadid.cpp, cpp/inserters/example.cpp.inserter.w2m/example.cpp.inserter.w2m.cpp, cpp/inserters/example.cpp.inserter.xi/example.cpp.inserter.xi.cpp, cpp/inserters/example.cpp.inserter.xp/example.cpp.inserter.xp.cpp, cpp/linking/example.cpp.linking.implicit_link_1/example.cpp.linking.implicit_link_1.cpp, cpp/misc/example.cpp.misc.101/example.cpp.misc.101.cpp, cpp/misc/example.cpp.misc.custom_type_1/example.cpp.misc.custom_type_1.cpp, cpp/misc/example.cpp.misc.extended_severity_information/example.cpp.misc.extended_severity_information.cpp, cpp/misc/example.cpp.misc.hetero1/example.cpp.misc.hetero1.cpp, cpp/misc/example.cpp.misc.no_namespace/example.cpp.misc.no_namespace.cpp, cpp/misc/example.cpp.misc.strings/example.cpp.misc.strings.cpp, cpp/tracing/example.cpp.tracing.standard/example.cpp.tracing.standard.cpp, and cpp/tracing/example.cpp.tracing.with_function/example.cpp.tracing.with_function.cpp.


pantheios Library documentation © Matthew Wilson & Synesis Software, 2006-2011 SourceForge.net Logo