59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
#ifndef CONFIG_ENGINE_H
|
|
#define CONFIG_ENGINE_H
|
|
#include <uthash/uthash.h>
|
|
#include <sqlite3.h>
|
|
|
|
#include "smart_sound.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define GLOBAL_CFG_FILE_PATH ("/mnt/UDISK/global.db")
|
|
|
|
|
|
typedef enum
|
|
{
|
|
CFG_TYPE_STRING = 0,
|
|
CFG_TYPE_INT = 1,
|
|
CFG_TYPE_DOUBLE = 2,
|
|
} CFG_DATA_TYPE;
|
|
|
|
typedef struct
|
|
{
|
|
char* pKeyName;
|
|
int keyType;
|
|
int keyModule;
|
|
|
|
union
|
|
{
|
|
char* pStrValue;
|
|
int intValue;
|
|
double doubleValue;
|
|
};
|
|
|
|
UT_hash_handle hh; ///< UT Hash handle
|
|
} CFG_ITEM, *PCFG_ITEM;
|
|
|
|
typedef void (*OnCfgMsg)(DBUS_CMD cmd, PCFG_ITEM pMsg, int err);
|
|
|
|
int CfgGlobalEnvInit(void);
|
|
|
|
void CfgItemPrint(const char* pPrefix, PCFG_ITEM pCfgItem);
|
|
|
|
int CfgGetKeyValue(const char* pKeyName, PCFG_ITEM* pItem);
|
|
int CfgChangeKeyValue(const char *pKeyName, PCFG_ITEM pItem, int saveToDB);
|
|
int CfgAddKeyValue(const char *pKeyName, PCFG_ITEM pItem, int saveToDB);
|
|
|
|
void CfgSetIntValue(const char* pTags, int iValue);
|
|
|
|
void OnCfgMsgProcess(MODULE_NAME dest, DBUS_CMD busCmd, const char *pJsonStr);
|
|
|
|
int Sqlite3SyncDB(sqlite3* pSqlMemory, const char* pMemDbName, const char* pDBFilePath, const char* pFileDbName, int isSave);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|