#ifndef EVENT_H__ #define EVENT_H__ #include <map> #include <string> #include <memory> #include <boost/asio.hpp> typedef std::map<std::string, std::string> EventType; namespace i2p { namespace event { class EventListener { public: virtual ~EventListener() {}; virtual void HandleEvent(const EventType & ev) = 0; }; class EventCore { public: void QueueEvent(const EventType & ev); void SetListener(EventListener * l); private: EventListener * m_listener = nullptr; }; #ifdef WITH_EVENTS extern EventCore core; #endif } } void EmitEvent(const EventType & ev); #endif