#ifndef __dm_COMMON_H
#define __dm_COMMON_H

#include <string.h>
#include <syslog.h>
#include "ipc_session.h"
#include "lnxall_list.h"
#include "dy_utils/dy_common.h"
#include "dy_utils/dy_pp.h"
#include "dy_utils/dy_db.h"
#include "dy_utils/dy_ipc.h"

#define REPORT_KEEP_TIMES 10*60


typedef  struct
{
    int intv;
    time_t stop_times;
}gateway_report_arg_t;

typedef struct _dm_var_s
{
    ipc_session_t* session; //内部broker的MQTT session，用于进程间通信
    char sn_str[SN_MAX_LEN];
    char proc_name[PROGRAM_NAME_LEN];
    int module_slow_timer_fd;
    int last_report_state;
    gateway_report_arg_t report_arg;
} dm_var_t;


extern int dm_handle_mqtt_data(dm_var_t *var, ipc_msg_t *mqtt_msg);
#endif
