diff options
| author | Shauren <shauren.trinity@gmail.com> | 2017-05-11 22:29:51 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2017-05-11 22:29:51 +0200 |
| commit | 3a418a0bbc8e155e5395595c5e25c038d3c7c773 (patch) | |
| tree | 45359566bd6e360dd133e7ef43bc2a42e26baf56 /src/server/game/Server/Protocol | |
| parent | 8abc56c540b5d2c583e40ad3d302c43068778ed1 (diff) | |
Core/Common: Include cleanup
Diffstat (limited to 'src/server/game/Server/Protocol')
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 49 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 49 |
2 files changed, 57 insertions, 41 deletions
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 56f5cd1128d..103f3ebbd4d 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -17,8 +17,11 @@ */ #include "Opcodes.h" +#include "Log.h" #include "WorldSession.h" #include "Packets/AllPackets.h" +#include <iomanip> +#include <sstream> template<class PacketClass, void(WorldSession::*HandlerFunction)(PacketClass&)> class PacketHandler : public ClientOpcodeHandler @@ -61,6 +64,21 @@ struct get_packet_class<void(WorldSession::*)(PacketClass&)> using type = PacketClass; }; +OpcodeTable::OpcodeTable() +{ + memset(_internalTableClient, 0, sizeof(_internalTableClient)); + memset(_internalTableServer, 0, sizeof(_internalTableServer)); +} + +OpcodeTable::~OpcodeTable() +{ + for (uint16 i = 0; i < NUM_OPCODE_HANDLERS; ++i) + { + delete _internalTableClient[i]; + delete _internalTableServer[i]; + } +} + template<typename Handler, Handler HandlerFunction> void OpcodeTable::ValidateAndSetClientOpcode(OpcodeClient opcode, char const* name, SessionStatus status, PacketProcessing processing) { @@ -1818,3 +1836,34 @@ void OpcodeTable::Initialize() #undef DEFINE_SERVER_OPCODE_HANDLER }; + +template<typename T> +inline std::string GetOpcodeNameForLoggingImpl(T id) +{ + uint32 opcode = uint32(id); + std::ostringstream ss; + ss << '['; + + if (static_cast<uint32>(id) < NUM_OPCODE_HANDLERS) + { + if (OpcodeHandler const* handler = opcodeTable[id]) + ss << handler->Name; + else + ss << "UNKNOWN OPCODE"; + } + else + ss << "INVALID OPCODE"; + + ss << " 0x" << std::hex << std::setw(4) << std::setfill('0') << std::uppercase << opcode << std::nouppercase << std::dec << " (" << opcode << ")]"; + return ss.str(); +} + +std::string GetOpcodeNameForLogging(OpcodeClient opcode) +{ + return GetOpcodeNameForLoggingImpl(opcode); +} + +std::string GetOpcodeNameForLogging(OpcodeServer opcode) +{ + return GetOpcodeNameForLoggingImpl(opcode); +} diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index c764b6d669e..58834139c01 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -23,10 +23,10 @@ #ifndef _OPCODES_H #define _OPCODES_H -#include "Common.h" -#include <iomanip> +#include "Define.h" +#include <string> -enum ConnectionType +enum ConnectionType : int8 { CONNECTION_TYPE_REALM = 0, CONNECTION_TYPE_INSTANCE = 1, @@ -1785,8 +1785,6 @@ enum PacketProcessing class WorldPacket; class WorldSession; -#pragma pack(push, 1) - class OpcodeHandler { public: @@ -1820,23 +1818,12 @@ public: class OpcodeTable { public: - OpcodeTable() - { - memset(_internalTableClient, 0, sizeof(_internalTableClient)); - memset(_internalTableServer, 0, sizeof(_internalTableServer)); - } + OpcodeTable(); OpcodeTable(OpcodeTable const&) = delete; OpcodeTable& operator=(OpcodeTable const&) = delete; - ~OpcodeTable() - { - for (uint16 i = 0; i < NUM_OPCODE_HANDLERS; ++i) - { - delete _internalTableClient[i]; - delete _internalTableServer[i]; - } - } + ~OpcodeTable(); void Initialize(); @@ -1862,29 +1849,9 @@ class OpcodeTable extern OpcodeTable opcodeTable; -#pragma pack(pop) - -/// Lookup opcode name for human understandable logging (T = OpcodeClient|OpcodeServer) -template<typename T> -inline std::string GetOpcodeNameForLogging(T id) -{ - uint32 opcode = uint32(id); - std::ostringstream ss; - ss << '['; - - if (static_cast<uint32>(id) < NUM_OPCODE_HANDLERS) - { - if (OpcodeHandler const* handler = opcodeTable[id]) - ss << handler->Name; - else - ss << "UNKNOWN OPCODE"; - } - else - ss << "INVALID OPCODE"; - - ss << " 0x" << std::hex << std::setw(4) << std::setfill('0') << std::uppercase << opcode << std::nouppercase << std::dec << " (" << opcode << ")]"; - return ss.str(); -} +/// Lookup opcode name for human understandable logging +std::string GetOpcodeNameForLogging(OpcodeClient opcode); +std::string GetOpcodeNameForLogging(OpcodeServer opcode); #endif /// @} |
