28 lines
723 B
C
28 lines
723 B
C
|
#ifndef __ALARMCLOCKSERVER_H__
|
||
|
#define __ALARMCLOCKSERVER_H__
|
||
|
|
||
|
#include "ZeroMQSocket.h"
|
||
|
#include <Singleton.h>
|
||
|
#include <boost/asio/steady_timer.hpp>
|
||
|
|
||
|
class AlarmClockServer {
|
||
|
friend class Amass::Singleton<AlarmClockServer>;
|
||
|
|
||
|
public:
|
||
|
void listen(const std::string_view &host, const std::string_view &port);
|
||
|
void setAlarmTime(uint8_t hour, uint8_t minute);
|
||
|
void textToSpeech(const std::string_view &text);
|
||
|
void currentDatatime();
|
||
|
|
||
|
protected:
|
||
|
AlarmClockServer(boost::asio::io_context &context);
|
||
|
void startPublishHeartBeat();
|
||
|
void playRandomMusic();
|
||
|
void stopPlayMusic();
|
||
|
|
||
|
private:
|
||
|
ZeroMQ::Socket m_publisher;
|
||
|
boost::asio::steady_timer m_timer;
|
||
|
};
|
||
|
|
||
|
#endif // __ALARMCLOCKSERVER_H__
|