#pragma once #include #include class IMessage { public: virtual ~IMessage(); virtual int id() const = 0; virtual String name() const = 0; virtual ByteBuffer encode() const = 0; protected: IMessage(); };