14# include "private_mk.h"
16# include "LibMkKernel_mk.h"
19#ifndef PARSE_C_HEADER_TO_META
95# define LC_C_BUILD_DLL
99# define LC_RT_ARGS_ONLY MK_RT mkrt
100# define LC_RT_ARGS LC_RT_ARGS_ONLY,
101# define LC_RT_CALL_ONLY mkrt
102# define LC_RT_CALL LC_RT_CALL_ONLY,
104# define LC_RT_ARGS_ONLY void
106# define LC_RT_CALL_ONLY
116#undef BEGIN_LC_C_DECLS
118#if defined(META_COMPILE_AS_CC)
119# define BEGIN_LC_C_DECLS namespace liblcconfig { using namespace libmkkernel;
120# define END_LC_C_DECLS }
121#elif defined(__cplusplus)
122# define BEGIN_LC_C_DECLS extern "C" {
123# define END_LC_C_DECLS }
125# define BEGIN_LC_C_DECLS
126# define END_LC_C_DECLS
130#ifndef PARSE_C_HEADER_TO_META
147# define LC_INSTANCE_HDL(x) MK_INSTANCE_HDL(x)
149# define LC_INSTANCE_RT_X(x) MK_INSTANCE_RT_X(x)
150# define LC_INSTANCE_RT_X_NULL(x) MK_INSTANCE_RT_X_NULL(x)
151# define LC_INSTANCE_RT_O(o) MK_INSTANCE_RT_O(o)
152# define LC_INSTANCE_RT_O_NULL(o) MK_INSTANCE_RT_O_NULL(o)
153# define LC_DESTRUCTOR_RT_X(c,x) MK_DESTRUCTOR_RT_X(c,x)
154# define LC_STATIC_RT MK_STATIC_RT
171#if defined(META_IGNORE_EXTERN)
175# if defined(DLL_EXPORT)
177# if defined(LC_C_BUILD_DLL)
178# define LC_EXTERN __declspec(dllexport)
180# define LC_EXTERN __declspec(dllimport)
184# define LC_EXTERN __attribute__ ((visibility("default")))
193#if defined(META_PRIVATE)
194# define LC_EXTERN_DATA extern
195#elif defined(META_IGNORE_EXTERN)
196# define LC_EXTERN_DATA extern
199# if defined(DLL_EXPORT)
201# if defined(LC_C_BUILD_DLL)
202# define LC_EXTERN_DATA __declspec(dllexport)
204# define LC_EXTERN_DATA __declspec(dllimport)
208# define LC_EXTERN_DATA __attribute__ ((visibility("default"))) extern
211# define LC_EXTERN_DATA extern
240#ifndef META_COMPILE_AS_CC
241__attribute__ ((constructor(200)))
249#ifndef META_COMPILE_AS_CC
250__attribute__ ((destructor(200)))
268#define LC_SET_T(_cls,_hook,_nat) ({ \
270 if ((_nat) == NULL) { \
273 ret = (_cls##_type)_hook (_nat); \
275 ret = (_cls##_type) MkObjCreate(_cls##_TT,_nat,NULL); \
294 __parser__(type=ME_CCC_LcConfigC:
"LcConfigC class handle":primary)
297 __parser__(type=ME_CCN_LcConfigC:"const - LcConfigC class handle":primary)
308 __parser__(type=ME_CCC_LcSettingC:"LcSettingC class handle":primary)
311 __parser__(type=ME_CCN_LcSettingC:"const - LcSettingC class handle":primary)
324#include "LcEnum_lc.h"
362#define LcErrorCheckI(ret) ((ret) == CONFIG_FALSE)
370#define LcErrorE_Check(lc_hdl,PROC) \
371 if (unlikely(LcErrorCheckI(PROC))) { \
372 LcConfigErrorToMQ(MkOBJ(lc_hdl), __func__,__FILE__,__LINE__); \
385__parser__(hide,overload-c-no,
class=LcConfig,doc-group=Error,prefix=Error)
404#ifndef META_DOXYGEN_SHOULD_SKIP_THIS
406 #ifdef PARSE_C_HEADER_TO_META
409 #include "libconfig.h"
506#define LcErrorC_Check(hdl,PROC) \
507 if (unlikely(LcErrorCheckI(PROC))) { \
508 OT_ERROR_LC_2_MQ(hdl); \
509 OT_ERROR_META_2_LNG(hdl); \
513#define OT_ERROR_LC_2_MQ(hdl) LcConfigErrorToMQ(MkOBJ(hdl), __func__,__FILE__,__LINE__);
#define LC_EXTERN
static library
LcErrorE
Signals an error and is used as the return value of a function …
enum MkErrorE LcConfigErrorToMQ(MK_OBJN const obj, MK_STRN const func, MK_STRN const file, MK_I32 const line)
if a libconfig funtion return a LcErrorE use this function to convert the libconfig-error into the li...
enum LcErrorTypeE LcErrorTypeE
define the error-source of a LcConfigC …
enum LcErrorE LcErrorE
define the return-code of a method-call …
void LcSetupThreadCallback(LcSetupThreadF call)
callback used to register a new runtime …
void LcSetup(void)
setup liblcconfig internal memory …
void(* LcSetupThreadF)(MK_RT mkrt)
prototype of the runtime-callback …
void LcCleanup(void)
cleanup liblcconfig internal memory …
#define __parser__global__(...)
#define __parser__push__(...)
Struct to represent the data from the LcConfigC …
Struct to represent the data from the LcSettingC …