19 #include "PrfThermometer.h" 34 typedef std::basic_string<unsigned char>
ustring;
48 : m_taskHandle(other.m_taskHandle)
49 , m_scheduler(other.m_scheduler)
51 , m_sync((bool)other.m_sync)
57 bool isSync()
const {
return m_sync; }
60 void scheduleTaskPeriodic(
const std::string& clientId,
const std::string& task,
const std::chrono::seconds& sec,
61 const std::chrono::system_clock::time_point& tp = std::chrono::system_clock::now())
74 m_scheduler->
removeTask(clientId, m_taskHandle);
80 std::atomic_bool m_sync{
false};
95 void updateConfiguration(
const rapidjson::Value& cfg);
97 void setDaemon(
IDaemon* daemon)
override;
98 virtual void setSerializer(
ISerializer* serializer)
override;
99 virtual void setMessaging(
IMessaging* messaging)
override;
104 void update(
const rapidjson::Value& cfg)
override;
105 void start()
override;
106 void stop()
override;
109 void handleMsgFromMessaging(
const ustring& msg);
110 void handleTaskFromScheduler(
const std::string& task);
112 void processFrcFromScheduler(
const std::string& task);
113 void processPrfThermometerFromTaskQueue(PrfThermometerSchd& pm);
114 void processPrfThermometerFromScheduler(
const std::string& task);
116 bool getFrc() {
return m_frcActive; }
117 void setFrc(
bool val);
121 uint16_t m_frcPeriod = 5;
122 uint16_t m_sleepPeriod = 60;
128 std::vector<PrfThermometerSchd> m_watchedThermometers;
130 bool m_frcActive =
false;
132 std::unique_ptr<TaskQueue<PrfThermometerSchd*>> m_taskQueue;
virtual ~ScheduleDpaTask()
Definition: ServiceExample.h:55
long TaskHandle
Task handle is task identification.
Definition: IScheduler.h:32
Definition: ProtocolBridgeClientService.h:38
virtual TaskHandle scheduleTaskPeriodic(const std::string &clientId, const std::string &task, const std::chrono::seconds &sec, const std::chrono::system_clock::time_point &tp=std::chrono::system_clock::now())=0
Schedule periodic task.
void setSync(bool val)
Definition: ServiceExample.h:58
ISerializer interface.
Definition: ISerializer.h:31
static const TaskHandle TASK_HANDLE_INVALID
Invalid task handle.
Definition: IScheduler.h:35
void removeSchedule(const std::string &clientId)
Definition: ProtocolBridgeClientService.h:73
std::basic_string< unsigned char > ustring
Definition: ServiceExample.h:31
virtual void removeTask(const std::string &clientId, TaskHandle hndl)=0
Remove task for client.
IDaemon interface.
Definition: IDaemon.h:31
IScheduler interface.
Definition: IScheduler.h:28
IService interface.
Definition: IService.h:30
bool isSync() const
Definition: ServiceExample.h:57
IMessaging interface.
Definition: IMessaging.h:29
const std::string & getName() const override
Get name of the instance.
Definition: ServiceExample.h:100
bool isScheduled()
Definition: ServiceExample.h:67
ScheduleDpaTask(const T &dpt, IScheduler *schd)
Definition: ServiceExample.h:41
std::basic_string< unsigned char > ustring
Definition: ProtocolBridgeClientService.h:33
ScheduleDpaTask< PrfThermometer > PrfThermometerSchd
Definition: ServiceExample.h:86
ScheduleDpaTask(const ScheduleDpaTask &other)
Definition: ServiceExample.h:47
Definition: ServiceExample.h:88
void scheduleTaskPeriodic(const std::string &clientId, const std::string &task, const std::chrono::seconds &sec, const std::chrono::system_clock::time_point &tp=std::chrono::system_clock::now())
Definition: ServiceExample.h:60
T & getDpa()
Definition: ServiceExample.h:78