nx_metadata_sdk  1.0
Metadata SDK
ini_config_c.h
Go to the documentation of this file.
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
55 #if !defined(__cplusplus)
56  #include <stdbool.h>
57 #endif // !defined(__cplusplus)
58 
59 #if defined(__cplusplus)
60  extern "C" {
61 #endif
62 
63 #define NX_INI_FLAG(DEFAULT, PARAM, DESCR) bool PARAM
64 #define NX_INI_INT(DEFAULT, PARAM, DESCR) int PARAM
65 #define NX_INI_STRING(DEFAULT, PARAM, DESCR) const char* PARAM
66 #define NX_INI_FLOAT(DEFAULT, PARAM, DESCR) float PARAM
67 #define NX_INI_DOUBLE(DEFAULT, PARAM, DESCR) double PARAM
68 
69 struct Ini NX_INI_STRUCT; //< Ini struct definition: expands using the macros defined above.
70 
71 #undef NX_INI_FLAG
72 #undef NX_INI_INT
73 #undef NX_INI_STRING
74 #undef NX_INI_FLOAT
75 #undef NX_INI_DOUBLE
76 
77 enum NxIniOutput { NX_INI_OUTPUT_NONE, NX_INI_OUTPUT_STDOUT, NX_INI_OUTPUT_STDERR };
78 
79 #if !defined(NX_KIT_C_API)
80  #define NX_KIT_C_API
81 #endif
82 
83 NX_KIT_C_API extern struct Ini ini; //< Declaration of Ini instance global variable.
84 
85 // See the documentation of the respective methods of class IniConfig in "ini_config.h".
86 NX_KIT_C_API bool nx_ini_isEnabled(void);
87 NX_KIT_C_API void nx_ini_setOutput(enum NxIniOutput output);
88 NX_KIT_C_API void nx_ini_reload(void);
89 NX_KIT_C_API const char* nx_ini_iniFile(void);
90 NX_KIT_C_API void nx_ini_setIniFilesDir(const char* value);
91 NX_KIT_C_API const char* nx_ini_iniFilesDir(void);
92 NX_KIT_C_API const char* nx_ini_iniFilePath(void);
93 
94 #if defined(__cplusplus)
95  } // extern "C"
96 #endif
static TestIni & ini()
Definition: ini_config_ut.cpp:72