ex
Fork of mbed-os-example-mbed5-blinky by
DuerOS-Light-SDK-v1.1.0/duer-os-light/src/iot-baidu-ca-scheduler/baidu_ca_handler.h
- Committer:
- TMBOY
- Date:
- 2017-07-18
- Revision:
- 47:9e361da97763
File content as of revision 47:9e361da97763:
// 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
