framework_compat.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "framework_compat.h"
  2. #include "esp_log.h"
  3. #include <stdio.h>
  4. static void *g_event_monitor = NULL;
  5. int iotx_event_regist_cb(void (*monitor_cb)(int event))
  6. {
  7. g_event_monitor = (void *)monitor_cb;
  8. return 0;
  9. }
  10. int iotx_event_post(int event)
  11. {
  12. if (g_event_monitor == NULL)
  13. {
  14. return -1;
  15. }
  16. ((void (*)(int))g_event_monitor)(event);
  17. return 0;
  18. }
  19. typedef struct
  20. {
  21. int eventid;
  22. void *callback;
  23. } impl_event_map_t;
  24. static impl_event_map_t g_impl_event_map[] = {
  25. {IOT_CONNECT_CLOUD_FAILT, NULL},
  26. {IOT_CONNECT_CLOUD_SUCCESS, NULL},
  27. {IOT_LOGIN_FAILT, NULL},
  28. {IOT_LOGIN_SUCCESS, NULL},
  29. {IOT_REGISTER_FAILT, NULL},
  30. {IOT_REGISTER_SUCCESS, NULL}};
  31. void *iotx_event_callback(int evt)
  32. {
  33. if (evt < 0 || evt >= sizeof(g_impl_event_map) / sizeof(impl_event_map_t))
  34. {
  35. return NULL;
  36. }
  37. return g_impl_event_map[evt].callback;
  38. }
  39. DEFINE_EVENT_CALLBACK(IOT_CONNECT_CLOUD_FAILT, void(*callback)(void));
  40. DEFINE_EVENT_CALLBACK(IOT_CONNECT_CLOUD_SUCCESS, void(*callback)(void));
  41. DEFINE_EVENT_CALLBACK(IOT_LOGIN_FAILT, void(*callback)(void));
  42. DEFINE_EVENT_CALLBACK(IOT_LOGIN_SUCCESS, void(*callback)(void));
  43. DEFINE_EVENT_CALLBACK(IOT_REGISTER_FAILT, void(*callback)(void));
  44. DEFINE_EVENT_CALLBACK(IOT_REGISTER_SUCCESS, void(*callback)(void));