#ifndef __NORTH_JSONCT_H
#define __NORTH_JSONCT_H

#include "north_mqtt.h"

#define N_NORTH_IEC104_CONRTOL 0        // iec104通道北向投切索引
#define N_NORTH_MODBUS_CONTROL 1        // modbus通道北向投切索引

typedef enum NORTH_COMM_STATUS_E
{
    NORTH_COMM_STATUS_DISCONNECT = 0,   // 未连接
    NORTH_COMM_STATUS_CONNECTED  = 1,   // 已连接
    NORTH_COMM_STATUS_DISLOGIN   = 2,   // 未登陆
} NORTH_COMM_STATUS_E;

int north_parse_all_plan(cJSON *messages, int channel_index);
void north_save_all_plan_to_file(cJSON *plan, int channel_index);
void north_get_all_plan_from_file(void);
int save_modbus_plan_to_file(int north_channel_id);




char *_report_AllDev_data_print(mqt_north_var_t *var, int *cnt, int mi);
char *_report_SingleDev_data_print(mqt_north_channel_t *channel, char *device_type, char *no, char* function_id, int mi);
char *_report_allalarm_print(mqt_north_channel_t *channel, int *cnt, char* function_id, int mi);
char *_report_alarm_print(mqt_north_var_t *var, int *cnt, char* function_id, int mi);
int login_prase(login_info_t *info, const char *str);
char *_login_print(mqt_north_var_t *var, login_info_t *info, char *gw_sn);
char *_heartbeat_print(mqt_north_var_t *var, int mi, char *gw_sn);
char *_lc_cabno_print(mqt_north_var_t *var,int mi);


#endif
