theConfig 10.0
Loading...
Searching...
No Matches
LcConfigC_Get_C_API

LcConfigC - various functions to get config-dataMore...

+ Collaboration diagram for LcConfigC_Get_C_API:

Functions

static MK_PTR LcConfigGetIncludeFunc (LC_CFG const cfg)
 return the callback-name for the include-config-file
 
static MK_PTR LcConfigGetSettingDeleteFunc (LC_CFG const cfg)
 get the __parser__(callback-name) for setting-delete
 
static enum LcConfigFormatE LcConfigGetDefaultFormat (LC_CFGN config)
 These functions, which are implemented as macros, get and set the default external format for settings in the configuration config
 
static MK_I16 LcConfigGetFloatPrecision (LC_CFGN config)
 Since v1.6 These functions get and set the number of decimal digits to output after the radix character when writing the configuration to a file or stream …
 
static MK_STRN LcConfigGetIncludeDir (LC_CFGN config)
 ConfigSetIncludeDir specifies the include directory, include_dir, relative to which the files specified in '@include' directives will be located for the configuration config
 
static MK_BOOL LcConfigGetOption (LC_CFGN config, enum LcConfigOptionsEF option)
 Since v1.7 These functions get and set the given option of the configuration config
 
static enum LcConfigOptionsEF LcConfigGetOptions (LC_CFGN config)
 These functions get and set the options for the configuration config
 
static MK_I16 LcConfigGetTabWidth (LC_CFGN config)
 These functions, which are implemented as macros, get and set the tab width for the configuration config
 

LcConfigC - LcConfigC_Get_C_API - function

enum LcConfigFormatE LcConfigGetDefaultFormatP (LC_CFGN config)
 Non-inline replacement for LcConfigGetDefaultFormat
 
MK_I16 LcConfigGetFloatPrecisionP (LC_CFGN config)
 Non-inline replacement for LcConfigGetFloatPrecision
 
MK_STRN LcConfigGetIncludeDirP (LC_CFGN config)
 Non-inline replacement for LcConfigGetIncludeDir
 
MK_PTR LcConfigGetIncludeFuncP (LC_CFG const cfg)
 Non-inline replacement for LcConfigGetIncludeFunc
 
MK_BOOL LcConfigGetOptionP (LC_CFGN config, enum LcConfigOptionsEF option)
 Non-inline replacement for LcConfigGetOption
 
enum LcConfigOptionsEF LcConfigGetOptionsP (LC_CFGN config)
 Non-inline replacement for LcConfigGetOptions
 
MK_PTR LcConfigGetSettingDeleteFuncP (LC_CFG const cfg)
 Non-inline replacement for LcConfigGetSettingDeleteFunc
 
MK_I16 LcConfigGetTabWidthP (LC_CFGN config)
 Non-inline replacement for LcConfigGetTabWidth
 

Detailed Description

LcConfigC - various functions to get config-data

Function Documentation

◆ LcConfigGetDefaultFormat()

static enum LcConfigFormatE LcConfigGetDefaultFormat ( LC_CFGN config)
inlinestatic

These functions, which are implemented as macros, get and set the default external format for settings in the configuration config

If a non-default format has not been set for a setting with SettingSetFormat, this configuration-wide default format will be used instead when that setting is written to a file or stream.

See also
ConfigSetDefaultFormat

Definition at line 217 of file LcConfigC_lc.h.

217 {
218 LC_INSTANCE_HDL(config);
219 return (enum LcConfigFormatE)config_get_default_format(config->nat);
220 }
LcConfigFormatE
set the format of a LcSettingC …
Definition LcEnum_lc.h:30
#define LC_INSTANCE_HDL(x)
#define config_get_default_format(C)
config_t * nat
internal - link between LcConfigS and native library

◆ LcConfigGetDefaultFormatP()

enum LcConfigFormatE LcConfigGetDefaultFormatP ( LC_CFGN config)

Non-inline replacement for LcConfigGetDefaultFormat

◆ LcConfigGetFloatPrecision()

static MK_I16 LcConfigGetFloatPrecision ( LC_CFGN config)
inlinestatic

Since v1.6 These functions get and set the number of decimal digits to output after the radix character when writing the configuration to a file or stream …

Valid values for digits range from 0 (no decimals) to about 15 (implementation defined). This parameter has no effect on parsing.

The default float precision is 6.

See also
ConfigSetFloatPrecision

Definition at line 223 of file LcConfigC_lc.h.

223 {
224 LC_INSTANCE_HDL(config);
225 return (MK_I16)config_get_float_precision(config->nat);
226 }
signed short int MK_I16
LIBCONFIG_API unsigned short config_get_float_precision(const config_t *config)

◆ LcConfigGetFloatPrecisionP()

MK_I16 LcConfigGetFloatPrecisionP ( LC_CFGN config)

Non-inline replacement for LcConfigGetFloatPrecision

◆ LcConfigGetIncludeDir()

static MK_STRN LcConfigGetIncludeDir ( LC_CFGN config)
inlinestatic

ConfigSetIncludeDir specifies the include directory, include_dir, relative to which the files specified in '@include' directives will be located for the configuration config

By default, there is no include directory, and all include files are expected to be relative to the current working directory. If include_dir is NULL, the default behavior is reinstated.

For example, if the include directory is set to /usr/local/etc, the include directive '@include "configs/extra.cfg"' would include the file /usr/local/etc/configs/extra.cfg.

ConfigGetIncludeDir returns the current include directory for the configuration config, or NULL if none is set.

See also
ConfigSetIncludeDir

Definition at line 229 of file LcConfigC_lc.h.

229 {
230 LC_INSTANCE_HDL(config);
231 MK_STRN __retVal__L = config_get_include_dir(config->nat);
232 return __retVal__L;
233 }
const MK_STRB * MK_STRN
#define config_get_include_dir(C)

◆ LcConfigGetIncludeDirP()

MK_STRN LcConfigGetIncludeDirP ( LC_CFGN config)

Non-inline replacement for LcConfigGetIncludeDir

◆ LcConfigGetIncludeFunc()

static MK_PTR LcConfigGetIncludeFunc ( LC_CFG const cfg)
inlinestatic

return the callback-name for the include-config-file

See also
LcConfigSetIncludeFunc

Definition at line 110 of file LcConfigC_lc.h.

112 {
113 return cfg ? cfg->fConfigIncludeData : NULL;
114}

◆ LcConfigGetIncludeFuncP()

MK_PTR LcConfigGetIncludeFuncP ( LC_CFG const cfg)

Non-inline replacement for LcConfigGetIncludeFunc

◆ LcConfigGetOption()

static MK_BOOL LcConfigGetOption ( LC_CFGN config,
enum LcConfigOptionsEF option )
inlinestatic

Since v1.7 These functions get and set the given option of the configuration config

The option is enabled if flag is CONFIG_TRUE and disabled if it is CONFIG_FALSE.

See ConfigSetOptions above for the list of available options.

See also
ConfigSetOption

Definition at line 236 of file LcConfigC_lc.h.

236 {
237 LC_INSTANCE_HDL(config);
238 return (MK_BOOL)config_get_option(config->nat, option);
239 }
bool MK_BOOL
LIBCONFIG_API int config_get_option(const config_t *config, int option)

◆ LcConfigGetOptionP()

MK_BOOL LcConfigGetOptionP ( LC_CFGN config,
enum LcConfigOptionsEF option )

Non-inline replacement for LcConfigGetOption

◆ LcConfigGetOptions()

static enum LcConfigOptionsEF LcConfigGetOptions ( LC_CFGN config)
inlinestatic

These functions get and set the options for the configuration config

The options affect how configurations are read and written. The following options are defined:

CONFIG_OPTION_AUTOCONVERT

Turning this option on enables number auto-conversion for the configuration. When this feature is enabled, an attempt to retrieve a floating point setting's value into an integer (or vice versa), or store an integer to a floating point setting's value (or vice versa) will cause the library to silently perform the necessary conversion (possibly leading to loss of data), rather than reporting failure. By default this option is turned off.

CONFIG_OPTION_SEMICOLON_SEPARATORS

This option controls whether a semicolon (';') is output after each setting when the configuration is written to a file or stream. (The semicolon separators are optional in the configuration syntax.) By default this option is turned on.

CONFIG_OPTION_COLON_ASSIGNMENT_FOR_GROUPS

This option controls whether a colon (':') is output between each group setting's name and its value when the configuration is written to a file or stream. If the option is turned off, an equals sign ('=') is output instead. (These tokens are interchangeable in the configuration syntax.) By default this option is turned on.

CONFIG_OPTION_COLON_ASSIGNMENT_FOR_NON_GROUPS

This option controls whether a colon (':') is output between each non-group setting's name and its value when the configuration is written to a file or stream. If the option is turned off, an equals sign ('=') is output instead. (These tokens are interchangeable in the configuration syntax.) By default this option is turned off.

CONFIG_OPTION_OPEN_BRACE_ON_SEPARATE_LINE

This option controls whether an open brace ('{') will be written on its own line when the configuration is written to a file or stream. If the option is turned off, the brace will be written at the end of the previous line. By default this option is turned on.

CONFIG_OPTION_ALLOW_SCIENTIFIC_NOTATION

(Since v1.7) This option controls whether scientific notation may be used as appropriate when writing floating point values (corresponding to printf 'g' format) or should never be used (corresponding to printf 'f' format). By default this option is turned off.

CONFIG_OPTION_FSYNC

(Since v1.7.1) This option controls whether the ConfigWriteFile function performs an fsync operation after writing the configuration and before closing the file. By default this option is turned off.

CONFIG_OPTION_ALLOW_OVERRIDES

(Since v1.7.3) This option controls whether duplicate settings override previous settings with the same name. If this option is turned off, duplicate settings are rejected. By default this option is turned off.

See also
ConfigSetOptions

Definition at line 242 of file LcConfigC_lc.h.

242 {
243 LC_INSTANCE_HDL(config);
244 return (enum LcConfigOptionsEF)config_get_options(config->nat);
245 }
LcConfigOptionsEF
define the configuration-option of a LcConfigC …
Definition LcEnum_lc.h:134
LIBCONFIG_API int config_get_options(const config_t *config)

◆ LcConfigGetOptionsP()

enum LcConfigOptionsEF LcConfigGetOptionsP ( LC_CFGN config)

Non-inline replacement for LcConfigGetOptions

◆ LcConfigGetSettingDeleteFunc()

static MK_PTR LcConfigGetSettingDeleteFunc ( LC_CFG const cfg)
inlinestatic

get the __parser__(callback-name) for setting-delete

See also
LcConfigSetSettingDeleteFunc

config_setting_get_hook documentation

These functions make it possible to attach arbitrary data to each setting structure, for instance a ''wrapper'' or ''peer'' object written in another programming language …

The destructor function, if one has been supplied via a call to config_set_destructor, will be called by the library to dispose of this data when the setting itself is destroyed. There is no default destructor.

See also
config_setting_set_hook

Definition at line 150 of file LcConfigC_lc.h.

152 {
153 return cfg ? cfg->fSettingDeleteData : NULL;
154}

◆ LcConfigGetSettingDeleteFuncP()

MK_PTR LcConfigGetSettingDeleteFuncP ( LC_CFG const cfg)

Non-inline replacement for LcConfigGetSettingDeleteFunc

◆ LcConfigGetTabWidth()

static MK_I16 LcConfigGetTabWidth ( LC_CFGN config)
inlinestatic

These functions, which are implemented as macros, get and set the tab width for the configuration config

The tab width affects the formatting of the configuration when it is written to a file or stream: each level of nesting is indented by width spaces, or by a single tab character if width is 0. The tab width has no effect on parsing.

Valid tab widths range from 0 to 15. The default tab width is 2.

See also
ConfigSetTabWidth

Definition at line 248 of file LcConfigC_lc.h.

248 {
249 LC_INSTANCE_HDL(config);
250 return (MK_I16)config_get_tab_width(config->nat);
251 }
LIBCONFIG_API unsigned short config_get_tab_width(const config_t *config)

◆ LcConfigGetTabWidthP()

MK_I16 LcConfigGetTabWidthP ( LC_CFGN config)

Non-inline replacement for LcConfigGetTabWidth