Files
Simple-Protocol-Lib/include/sp/MessageBase.h
2025-02-05 15:00:19 +01:00

18 lines
374 B
C++

#pragma once
#include <sp/Message.h>
namespace sp {
template <typename TDerived>
class MessageBase : public Message {
protected:
virtual void DispatchImpl(Handler& handler) override {
handler.Handle(static_cast<TDerived&>(*this));
}
virtual void WriteImpl(DataBuffer& buffer) const = 0;
virtual void ReadImpl(const DataBuffer& buffer) = 0;
};
} // namespace sp