bowen liu
/
mbed-os-example-blinky
ex
Fork of mbed-os-example-mbed5-blinky by
Embed:
(wiki syntax)
Show/hide line numbers
baidu_ca_handler.h
00001 // Copyright 2017 Baidu Inc. All Rights Reserved. 00002 // Author: Su Hao (suhao@baidu.com) 00003 // 00004 // Description: Handler 00005 00006 #ifndef BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H 00007 #define BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H 00008 00009 #include "rtos.h" 00010 #include "baidu_ca_message.h" 00011 00012 namespace duer { 00013 00014 class Handler { 00015 public: 00016 class OnMessageListener { 00017 public: 00018 00019 virtual bool on_message(Message& message) = 0; 00020 00021 virtual ~OnMessageListener() {} 00022 00023 }; 00024 00025 Handler(); 00026 00027 virtual ~Handler(); 00028 00029 void send_message(int what, void* object); 00030 00031 void send_message(const Message& message); 00032 00033 void set_on_message_listener(OnMessageListener* listener); 00034 00035 protected: 00036 00037 virtual void handle_message(Message& message); 00038 00039 private: 00040 00041 void loop(); 00042 00043 rtos::Thread _thread; 00044 rtos::Queue<Message, 20> _queue; 00045 OnMessageListener* _listener; 00046 }; 00047 00048 } // namespace duer 00049 00050 #endif // BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H
Generated on Tue Jul 12 2022 16:28:52 by 1.7.2