# HG changeset patch # User rubidium # Date 1170177166 0 # Node ID 78261943bb1bb5526ff6b08ab283ee413ca4eec0 # Parent 39712446b7369b74445296b952c90e3d80fb3a90 (svn r8459) -Codechange: move (Send|Recv)GRFIdentifier to NetworkSocketHandler, so it can also be used the TCP socket handler. diff --git a/src/network/core/core.cpp b/src/network/core/core.cpp --- a/src/network/core/core.cpp +++ b/src/network/core/core.cpp @@ -5,6 +5,8 @@ #include "../../stdafx.h" #include "../../debug.h" #include "os_abstraction.h" +#include "core.h" +#include "packet.h" /** * @file core.cpp Functions used to initialize/shut down the core network @@ -88,4 +90,33 @@ #endif } + +/** + * Serializes the GRFIdentifier (GRF ID and MD5 checksum) to the packet + * @param p the packet to write the data to + * @param grf the GRFIdentifier to serialize + */ +void NetworkSocketHandler::Send_GRFIdentifier(Packet *p, const GRFIdentifier *grf) +{ + uint j; + NetworkSend_uint32(p, grf->grfid); + for (j = 0; j < sizeof(grf->md5sum); j++) { + NetworkSend_uint8 (p, grf->md5sum[j]); + } +} + +/** + * Deserializes the GRFIdentifier (GRF ID and MD5 checksum) from the packet + * @param p the packet to read the data from + * @param grf the GRFIdentifier to deserialize + */ +void NetworkSocketHandler::Recv_GRFIdentifier(Packet *p, GRFIdentifier *grf) +{ + uint j; + grf->grfid = NetworkRecv_uint32(this, p); + for (j = 0; j < sizeof(grf->md5sum); j++) { + grf->md5sum[j] = NetworkRecv_uint8(this, p); + } +} + #endif /* ENABLE_NETWORK */ diff --git a/src/network/core/core.h b/src/network/core/core.h --- a/src/network/core/core.h +++ b/src/network/core/core.h @@ -6,6 +6,7 @@ #ifdef ENABLE_NETWORK #include "os_abstraction.h" +#include "../../newgrf_config.h" /** * @file core.h Base for all network types (UDP and TCP) @@ -27,6 +28,9 @@ NETWORK_RECV_STATUS_CLOSE_QUERY, ///< Done quering the server } NetworkRecvStatus; +/** Forward declaration due to circular dependencies */ +class Packet; + /** * SocketHandler for all network sockets in OpenTTD. */ @@ -66,6 +70,9 @@ * @return true when the current client has quit, false otherwise */ bool HasClientQuit() { return this->has_quit; } + + void Send_GRFIdentifier(Packet *p, const GRFIdentifier *grf); + void Recv_GRFIdentifier(Packet *p, GRFIdentifier *grf); }; #endif /* ENABLE_NETWORK */ diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -144,35 +144,6 @@ /** - * Serializes the GRFIdentifier (GRF ID and MD5 checksum) to the packet - * @param p the packet to write the data to - * @param grf the GRFIdentifier to serialize - */ -void NetworkUDPSocketHandler::Send_GRFIdentifier(Packet *p, const GRFIdentifier *grf) -{ - uint j; - NetworkSend_uint32(p, grf->grfid); - for (j = 0; j < sizeof(grf->md5sum); j++) { - NetworkSend_uint8 (p, grf->md5sum[j]); - } -} - -/** - * Deserializes the GRFIdentifier (GRF ID and MD5 checksum) from the packet - * @param p the packet to read the data from - * @param grf the GRFIdentifier to deserialize - */ -void NetworkUDPSocketHandler::Recv_GRFIdentifier(Packet *p, GRFIdentifier *grf) -{ - uint j; - grf->grfid = NetworkRecv_uint32(this, p); - for (j = 0; j < sizeof(grf->md5sum); j++) { - grf->md5sum[j] = NetworkRecv_uint8(this, p); - } -} - - -/** * Serializes the NetworkGameInfo struct to the packet * @param p the packet to write the data to * @param info the NetworkGameInfo struct to serialize diff --git a/src/network/core/udp.h b/src/network/core/udp.h --- a/src/network/core/udp.h +++ b/src/network/core/udp.h @@ -9,7 +9,6 @@ #include "core.h" #include "game.h" #include "packet.h" -#include "../../newgrf_config.h" #include "../../debug.h" /** @@ -131,10 +130,7 @@ void SendPacket(Packet *p, const struct sockaddr_in *recv); void ReceivePackets(); - void Send_GRFIdentifier(Packet *p, const GRFIdentifier *grf); void Send_NetworkGameInfo(Packet *p, const NetworkGameInfo *info); - - void Recv_GRFIdentifier(Packet *p, GRFIdentifier *grf); void Recv_NetworkGameInfo(Packet *p, NetworkGameInfo *info); };