6 #include <Poco/Mutex.h>
7 #include <Poco/Timespan.h>
9 #include "bluetooth/HciListener.h"
10 #include "bluetooth/HciInterface.h"
11 #include "hotplug/HotplugListener.h"
12 #include "loop/StoppableLoop.h"
13 #include "util/EventSource.h"
14 #include "util/Loggable.h"
15 #include "util/PeriodicRunner.h"
77 void start()
override;
85 std::set<std::string> dongles()
const;
88 std::set<std::string> m_dongles;
89 HciInterfaceManager::Ptr m_hciManager;
92 mutable Poco::FastMutex m_lock;
Definition: HotplugListener.h:9
void setHciManager(HciInterfaceManager::Ptr manager)
Definition: HciInfoReporter.cpp:33
Executes some function periodacally based on the given interval.
Definition: PeriodicRunner.h:18
HciInfoReporter periodically collects and reports statistics information about HCI interfaces in the ...
Definition: HciInfoReporter.h:30
EventSource implements common logic for firing events to listeners.
Definition: EventSource.h:24
void start() override
Start the periodic reporting loop.
Definition: HciInfoReporter.cpp:82
Definition: StoppableLoop.h:17
void registerListener(HciListener::Ptr listener)
Definition: HciInfoReporter.cpp:43
void setEventsExecutor(AsyncExecutor::Ptr executor)
Definition: HciInfoReporter.cpp:38
void onAdd(const HotplugEvent &event) override
Check the given event whether it is a bluetooth controller. Every matching controller is added to the...
Definition: HciInfoReporter.cpp:48
Definition: HotplugEvent.h:10
Definition: Loggable.h:19
void stop() override
Stop the periodic reporting loop.
Definition: HciInfoReporter.cpp:103
void onRemove(const HotplugEvent &event) override
Check the given event whether it is a bluetooth controller. The method allows to unplug a device and ...
Definition: HciInfoReporter.cpp:65
void setStatisticsInterval(const Poco::Timespan &interval)
Definition: HciInfoReporter.cpp:25