mirror of
https://github.com/ncblakely/GiantsTools
synced 2024-10-02 19:32:12 +02:00
13 lines
339 B
C
13 lines
339 B
C
|
#pragma once
|
||
|
|
||
|
#include <functional>
|
||
|
#include <guiddef.h>
|
||
|
|
||
|
template<typename TEventType, typename TEvent>
|
||
|
struct IEventSource
|
||
|
{
|
||
|
virtual ~IEventSource() = default;
|
||
|
|
||
|
virtual GUID Listen(TEventType event, std::function<void(const TEvent&)> function) noexcept = 0;
|
||
|
virtual void Unlisten(TEventType event, GUID uuid) noexcept = 0;
|
||
|
};
|