working on the frame controller, this might get messy

This commit is contained in:
MitchellHansen
2017-10-01 17:01:05 -07:00
parent 4d6cecc7e0
commit 5fcf1c0e44
12 changed files with 100 additions and 95 deletions

View File

@@ -3,6 +3,7 @@
#include <iostream>
#include "Event.hpp"
#include <memory>
#include <list>
class VrEventPublisher;
@@ -22,12 +23,19 @@ class VrEventPublisher {
public:
virtual ~VrEventPublisher() {};
virtual void subscribe(VrEventSubscriber *subscriber, vr::Event::EventType type);
virtual void subscribe(VrEventSubscriber *subscriber, std::vector<vr::Event::EventType> type);
virtual void unsubscribe(VrEventSubscriber *s, vr::Event::EventType c);
virtual void notify_subscribers(std::unique_ptr<vr::Event> event);
virtual void subscribe(VrEventSubscriber *subscriber, vr::Event::EventType type) final;
virtual void subscribe(VrEventSubscriber *subscriber, std::vector<vr::Event::EventType> type) final;
virtual void unsubscribe(VrEventSubscriber *s, vr::Event::EventType c) final;
private:
std::map<vr::Event::EventType, std::vector<VrEventSubscriber*>> subscribers;
protected:
virtual void notify_subscribers(std::unique_ptr<vr::Event> event) final;
virtual void dispatch_events() final;
virtual void generate_events() = 0;
std::list<std::unique_ptr<vr::Event>> event_queue;
};