ex
Fork of mbed-os-example-mbed5-blinky by
Diff: DuerOS-Light-SDK-v1.1.0/duer-os-light/src/iot-baidu-ca-scheduler/baidu_ca_handler.h
- Revision:
- 47:9e361da97763
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DuerOS-Light-SDK-v1.1.0/duer-os-light/src/iot-baidu-ca-scheduler/baidu_ca_handler.h Tue Jul 18 16:54:45 2017 +0800
@@ -0,0 +1,50 @@
+// Copyright 2017 Baidu Inc. All Rights Reserved.
+// Author: Su Hao (suhao@baidu.com)
+//
+// Description: Handler
+
+#ifndef BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H
+#define BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H
+
+#include "rtos.h"
+#include "baidu_ca_message.h"
+
+namespace duer {
+
+class Handler {
+public:
+ class OnMessageListener {
+ public:
+
+ virtual bool on_message(Message& message) = 0;
+
+ virtual ~OnMessageListener() {}
+
+ };
+
+ Handler();
+
+ virtual ~Handler();
+
+ void send_message(int what, void* object);
+
+ void send_message(const Message& message);
+
+ void set_on_message_listener(OnMessageListener* listener);
+
+protected:
+
+ virtual void handle_message(Message& message);
+
+private:
+
+ void loop();
+
+ rtos::Thread _thread;
+ rtos::Queue<Message, 20> _queue;
+ OnMessageListener* _listener;
+};
+
+} // namespace duer
+
+#endif // BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SCHEDULER_BAIDU_CA_HANDLER_H
