BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
AbstractZWaveNetwork.h
1 #pragma once
2 
3 #include <deque>
4 
5 #include <Poco/Event.h>
6 #include <Poco/Mutex.h>
7 
8 #include "util/Loggable.h"
9 #include "zwave/ZWaveNetwork.h"
10 
11 namespace BeeeOn {
12 
20  public ZWaveNetwork,
21  protected virtual Loggable {
22 public:
24 
30  const Poco::Timespan &timeout) override;
31 
36  void interrupt() override;
37 
38 protected:
43  void notifyEvent(const PollEvent &event);
44 
45 private:
46  std::deque<PollEvent> m_eventsQueue;
47  Poco::Event m_event;
48  mutable Poco::FastMutex m_lock;
49 };
50 
51 }
void interrupt() override
Definition: AbstractZWaveNetwork.cpp:94
Representation of events reported by the ZWaveNetwork implementation via the call pollEvent()...
Definition: ZWaveNetwork.h:31
ZWaveNetwork is an interface to a real Z-Wave network.
Definition: ZWaveNetwork.h:23
Definition: Loggable.h:19
Abstract implementation of the ZWaveNetwork class. It provides a pre-implemented polling mechanism...
Definition: AbstractZWaveNetwork.h:19
void notifyEvent(const PollEvent &event)
Definition: AbstractZWaveNetwork.cpp:86
PollEvent pollEvent(const Poco::Timespan &timeout) override
Definition: AbstractZWaveNetwork.cpp:16