#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include "main.h"

#define EMS_STRUCTURE_CFG_FILE "/app/config/ems/ems_structure.json" 
#define ENG_ASS_CFG_FILE "/app/config/ems/energy_assign_cfg.json"
//added by yut
#define ENG_SVC_STATE "/app/config/ems/energy_assign_save.json"
#define EMS_CFG_SAVE_FILE "/app/config/ems/ems_cfg_save.json"
#define EMS_CFG_FILE "/app/config/ems/ems_cfg.json" 

//added by yut
void energy_state_config(energy_var_t *var,char *cfg_file);
void energy_state_config_load_ems(energy_var_t *var,char *cfg_file);
void energy_state_config_load_ems_cfg(energy_var_t *var,char *cfg_file);
void energy_load_config(energy_var_t *var,char *cfg_file);
void energy_load_config_from_ems_structure(energy_var_t *var, char *cfg_file);


#define GET_JSON_VALUE_DY_STRING_LOG(a, b, c) \
    GET_JSON_VALUE_DY_STRING(a, b, c);        \
    dbg_syslog(LOG_INFO, "key:%s :%s", b, c);

#define GET_JSON_VALUE_INT_LOG(a, b, c) \
    GET_JSON_VALUE_INT(a, b, c);        \
    dbg_syslog(LOG_INFO, "key:%s :%d", b, c);

#define GET_JSON_VALUE_STRING_LOG(a, b, c) \
    GET_JSON_VALUE_STRING(a, b, c);        \
    dbg_syslog(LOG_INFO, "key:%s :%s", b, c);

#define GET_JSON_VALUE_DOUBLE_LOG(a, b, c)     \
    GET_JSON_VALUE_DOUBLE(a, b, c); \
    dbg_syslog(LOG_INFO, "key:%s :%f", b, c);
