added distribution events
This commit is contained in:
19
FlippR-Driver/src/input/DistributingEvent.cpp
Normal file
19
FlippR-Driver/src/input/DistributingEvent.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// Created by rhetenor on 21.09.18.
|
||||
//
|
||||
|
||||
#include "DistributingEvent.h"
|
||||
|
||||
void FlippR_Driver::Input::DistributingEvent::distribute()
|
||||
{
|
||||
std::chrono::milliseconds elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - last_activation);
|
||||
if(elapsed_time > deactivation_time)
|
||||
{
|
||||
event_notifier->distribute_event(std::shared_ptr<Event>(this)); // todo why new shared ptr?
|
||||
}
|
||||
}
|
||||
|
||||
FlippR_Driver::Input::DistributingEvent::DistributingEvent(char address, int priority, std::string name,
|
||||
std::chrono::milliseconds deactivation_time, std::shared_ptr<IEventNotifier> event_notifier)
|
||||
: Event(address, priority, name), deactivation_time(deactivation_time), event_notifier(event_notifier)
|
||||
{}
|
||||
Reference in New Issue
Block a user