20 lines
345 B
C++
20 lines
345 B
C++
#pragma once
|
|
|
|
namespace sp {
|
|
|
|
template <typename TMessageID, typename THandler>
|
|
class MessageBase {
|
|
public:
|
|
using HandlerType = THandler;
|
|
using MessageIdType = TMessageID;
|
|
|
|
MessageBase() {}
|
|
virtual ~MessageBase() {}
|
|
|
|
virtual MessageIdType GetId() const = 0;
|
|
|
|
virtual void Dispatch(HandlerType& handler) const = 0;
|
|
};
|
|
|
|
} // namespace sp
|