#pragma once /** * \file PacketHandler.h * \brief File containing the blitz::protocol::PacketHandler class */ #include #include namespace blitz { namespace protocol { class PacketDispatcher; #define DeclarePacket(PacketName, ...) virtual void Visit(const packets::PacketName&); virtual void HandlePacket(const packets::PacketName&) {} /** * \class PacketHandler * \brief Class used to handle packets */ class PacketHandler : public PacketVisitor { public: PacketHandler() {} ~PacketHandler() {} DeclareAllPacket() }; #undef DeclarePacket } // namespace protocol } // namespace blitz