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

pantheios/backend.h File Reference


Detailed Description

[C, C++] Definition of the Pantheios Back-end API.

#include <pantheios/pantheios.h>

Go to the source code of this file.

Defines

#define PANTHEIOS_BEID_ALL   (0)
 Indicates that the operation/query applies to all back-ends.
#define PANTHEIOS_BEID_LOCAL   (1)
 Identifies the local (or only) back-end in a link-unit.
#define PANTHEIOS_BEID_REMOTE   (2)
 Identifies the remote back-end in a link-unit using local/remote splitting.
#define PANTHEIOS_BE_INIT_F_NO_PROCESS_ID   (0x00000001)
 Causes the back-end to omit the process identity from emitted log statements.
#define PANTHEIOS_BE_INIT_F_NO_THREAD_ID   (0x00001000)
 Causes the back-end to omit the thread identity from emitted log statements.
#define PANTHEIOS_BE_INIT_F_NO_DATETIME   (0x00000002)
 Causes the back-end to omit the date/time field from emitted log statements.
#define PANTHEIOS_BE_INIT_F_NO_SEVERITY   (0x00000004)
 Causes the back-end to omit the severity from emitted log statements.
#define PANTHEIOS_BE_INIT_F_USE_SYSTEM_TIME   (0x00000008)
 Causes the back-end to use system time, rather than local time, from emitted log statements.
#define PANTHEIOS_BE_INIT_F_DETAILS_AT_START   (0x00000010)
 Causes the details to be emitted at the start of the statement, rather than after the process id, time, and so on.
#define PANTHEIOS_BE_INIT_F_USE_UNIX_FORMAT   (0x00000020)
 Causes the back-end to use UNIX format for the date/time field, even on other operating systems.
#define PANTHEIOS_BE_INIT_F_HIDE_DATE   (0x00000040)
 Causes the back-end to omit the date in the date/time field (if shown).
#define PANTHEIOS_BE_INIT_F_HIDE_TIME   (0x00000080)
 Causes the back-end to omit the time in the date/time field (if shown).
#define PANTHEIOS_BE_INIT_F_HIGH_RESOLUTION   (0x00000100)
 Causes the back-end to favour high-resolution in the date/time field (if shown).
#define PANTHEIOS_BE_INIT_F_LOW_RESOLUTION   (0x00000200)
 Causes the back-end to favour low-resolution in the date/time field (if shown).
#define PANTHEIOS_BE_INIT_F_COMMON_MASK   (0x000fffff)
 Mask of stock back-end flags.
#define PANTHEIOS_BE_INIT_F_CUSTOM_MASK   (~static_cast<int>(PANTHEIOS_BE_INIT_F_COMMON_MASK))
 Mask of custom back-end flags.
#define PANTHEIOS_BE_DEFINE_BE_FUNCTIONS(id)   PANTHEIOS_BE_DEFINE_BE_FUNCTIONS_(pantheios_be_##id)
 Back-end generation macro for the Pantheios API.
#define PANTHEIOS_BE_DEFINE_BEL_FUNCTIONS(id)   PANTHEIOS_BE_DEFINE_BEL_FUNCTIONS_(pantheios_be_##id)
 Local back-end generation macro for the Pantheios API.
#define PANTHEIOS_BE_DEFINE_BER_FUNCTIONS(id)   PANTHEIOS_BE_DEFINE_BER_FUNCTIONS_(pantheios_be_##id)
 Remote back-end generation macro for the Pantheios API.

Functions

int pantheios_be_init (PAN_CHAR_T const *processIdentity, void *reserved, void **ptoken)
 Initialises the back-end API.
void pantheios_be_uninit (void *token)
 Uninitialises the back-end API.
int pantheios_be_logEntry (void *feToken, void *beToken, int severity, PAN_CHAR_T const *entry, size_t cchEntry)
 Passes a log-entry to the back-end API.


Define Documentation

#define PANTHEIOS_BE_DEFINE_BE_FUNCTIONS ( id   )     PANTHEIOS_BE_DEFINE_BE_FUNCTIONS_(pantheios_be_##id)

Back-end generation macro for the Pantheios API.

Generates the functions pantheios_be_init(), pantheios_be_uninit() and pantheios_be_logEntry() from the given back-end implementation. The given id is assumed to be common to all three back-end API functions for the given back-end implementation. In other words, for the back-end "be.loader" one would specify the id to be loader, from which the macro assumes the existence of the three functions pantheios_be_loader_init(), pantheios_be_loader_uninit() and pantheios_be_loader_logEntry().

Parameters:
id The back-end identifier, e.g. loader for the "be.loader" back-end.

#define PANTHEIOS_BE_DEFINE_BEL_FUNCTIONS ( id   )     PANTHEIOS_BE_DEFINE_BEL_FUNCTIONS_(pantheios_be_##id)

Local back-end generation macro for the Pantheios API.

Generates the functions pantheios_be_local_init(), pantheios_be_local_uninit() and pantheios_be_local_logEntry() from the given back-end implementation. The given id is assumed to be common to all three back-end API functions for the given back-end implementation. In other words, for the back-end "be.loader" one would specify the id to be loader, from which the macro assumes the existence of the three functions pantheios_be_loader_init(), pantheios_be_loader_uninit() and pantheios_be_loader_logEntry().

Parameters:
id The back-end identifier, e.g. loader for the "be.loader" back-end.

#define PANTHEIOS_BE_DEFINE_BER_FUNCTIONS ( id   )     PANTHEIOS_BE_DEFINE_BER_FUNCTIONS_(pantheios_be_##id)

Remote back-end generation macro for the Pantheios API.

Generates the functions pantheios_be_remote_init(), pantheios_be_remote_uninit() and pantheios_be_remote_logEntry() from the given back-end implementation. The given id is assumed to be common to all three back-end API functions for the given back-end implementation. In other words, for the back-end "be.loader" one would specify the id to be loader, from which the macro assumes the existence of the three functions pantheios_be_loader_init(), pantheios_be_loader_uninit() and pantheios_be_loader_logEntry().

Parameters:
id The back-end identifier, e.g. loader for the "be.loader" back-end.


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