solanaceae_toxcore/solanaceae/core/tox_event_provider_base.hpp

20 lines
462 B
C++

#pragma once
#include "./tox_event_interface.hpp"
#include <vector>
#include <array>
// implements common code for tox event dispatching
struct ToxEventProviderBase : public ToxEventProviderI {
protected:
void dispatchEvents(const Tox_Events* events);
public: // event provider
virtual void subscribe(ToxEventI* object, const Tox_Event event_type) override;
protected:
std::array<std::vector<ToxEventI*>, 39> _subscribers; // rn 39 event types
};