nx_video_source_sdk  1.0
Video Source SDK
Macros | Enumerations | Functions | Variables
ini_config_c.h File Reference
#include <stdbool.h>

Go to the source code of this file.

Macros

#define NX_INI_FLAG(DEFAULT, PARAM, DESCR)   bool PARAM
 
#define NX_INI_INT(DEFAULT, PARAM, DESCR)   int PARAM
 
#define NX_INI_STRING(DEFAULT, PARAM, DESCR)   const char* PARAM
 
#define NX_INI_FLOAT(DEFAULT, PARAM, DESCR)   float PARAM
 
#define NX_KIT_C_API
 

Enumerations

enum  NxIniOutput { NX_INI_OUTPUT_NONE, NX_INI_OUTPUT_STDOUT, NX_INI_OUTPUT_STDERR }
 

Functions

NX_KIT_C_API bool nx_ini_isEnabled (void)
 
NX_KIT_C_API void nx_ini_setOutput (enum NxIniOutput output)
 
NX_KIT_C_API void nx_ini_reload (void)
 
NX_KIT_C_API const char * nx_ini_iniFile (void)
 
NX_KIT_C_API void nx_ini_setIniFilesDir (const char *value)
 
NX_KIT_C_API const char * nx_ini_iniFilesDir (void)
 
NX_KIT_C_API const char * nx_ini_iniFilePath (void)
 

Variables

struct Ini NX_INI_STRUCT
 
NX_KIT_C_API struct Ini ini
 

Detailed Description

C99 wrapper for C++ module "ini_config". Only one .ini instance is supported. Can be included in both C++ and C99 source files.

If compiled into a library, define -DNX_KIT_C_API as needed for import/export directives.

In your C99 program, use .ini file as follows:

    #include "ini.h"
    ...
    int main()
    {
        nx_ini_reload();
        ...
        if (ini.myFlag)
            ...
    }

In your C99 project, add nx/kit/ini_config.cpp and the following files:

ini.h:

    #pragma once
    #define NX_INI_FILE "my_module.ini"
    #define NX_INI_STRUCT \
    { \
        NX_INI_FLAG(0, myFlag, "Description"); \
        NX_INI_INT(7, myInt, "Description"); \
        NX_INI_STRING("default value", myStr, "Description"); \
    }
    #include <ini_config_c.h>

ini.cpp:


#include "ini.h"

#include <ini_config_c_impl.h>