#ifndef _INFRA_COMPAT_H_ #define _INFRA_COMPAT_H_ enum iot_event_t { IOT_REGISTER_SUCCESS = 0, IOT_LOGIN_SUCCESS, IOT_CONNECT_CLOUD_SUCCESS, IOT_REGISTER_FAILT, IOT_LOGIN_FAILT, IOT_CONNECT_CLOUD_FAILT, }; int iotx_event_post(int event); // 注册事件回调 int iotx_event_regist_cb(void (*monitor_cb)(int event)); #define IOT_RegisterCallback(evt, cb) iotx_register_for_##evt(cb); #define DECLARE_EVENT_CALLBACK(evt, cb) int iotx_register_for_##evt(cb); #define DEFINE_EVENT_CALLBACK(evt, cb) int iotx_register_for_##evt(cb) { \ if (evt < 0 || evt >= sizeof(g_impl_event_map)/sizeof(impl_event_map_t)) {return -1;} \ g_impl_event_map[evt].callback = (void *)callback;return 0;} DECLARE_EVENT_CALLBACK(IOT_REGISTER_SUCCESS, void(*cb)(void)) DECLARE_EVENT_CALLBACK(IOT_LOGIN_SUCCESS, void(*cb)(void)) DECLARE_EVENT_CALLBACK(IOT_CONNECT_CLOUD_SUCCESS, void(*cb)(void)) DECLARE_EVENT_CALLBACK(IOT_REGISTER_FAILT, void(*cb)(void)) DECLARE_EVENT_CALLBACK(IOT_LOGIN_FAILT, void(*cb)(void)) DECLARE_EVENT_CALLBACK(IOT_REGISTER_FAILT, void(*cb)(void)) #endif