channel.h 856 B

12345678910111213141516171819202122232425262728
  1. //
  2. // Created by 李建 on 2023/12/6.
  3. //
  4. #ifndef TEST_CHANNEL_H
  5. #define TEST_CHANNEL_H
  6. // 定义虚拟通道,用来区分处理不同的消息
  7. typedef enum {
  8. SPARROW_CHANNEL_PORT_0 = 0,
  9. SPARROW_CHANNEL_PORT_1,
  10. }sparrow_channel_port;
  11. // 根据主题类型定义
  12. typedef enum {
  13. SPARROW_TOPIC_STATUS = 0,
  14. SPARROW_TOPIC_COMMAND,
  15. SPARROW_TOPIC_EVENT,
  16. SPARROW_TOPIC_TYPE_UNKNOWN
  17. }sparrow_topic_type;
  18. // 定义 通道收到消息时的回调函数
  19. typedef void (* channel_recv_callback)(char * payload, sparrow_topic_type topicType);
  20. // 注册子设备通道消息回调
  21. void register_sub_device_channel_recv(sparrow_channel_port name, channel_recv_callback callback);
  22. // 通道发送消息到子设备
  23. void channel_send_to_sub_device(sparrow_channel_port name, char * payload, sparrow_topic_type topicType);
  24. #endif //TEST_CHANNEL_H