/******************************************************************** Minecraft: Pocket Edition - Decompilation Project Copyright (C) 2023 iProgramInCpp The following code is licensed under the BSD 1 clause license. SPDX-License-Identifier: BSD-1-Clause ********************************************************************/ #pragma once #include #include #include "PingedCompatibleServer.hpp" #include "BitStream.h" #include "RakPeerInterface.h" #include "Packet.hpp" class Packet; class RakNetInstance { public: RakNetInstance(); ~RakNetInstance(); void announceServer(const std::string& name); void clearServerList(); bool connect(const char* host, int port); void disconnect(); RakNet::RakPeerInterface* getPeer(); std::vector* getServerList(); bool host(const std::string& name, int port, int maxConnections); bool isMyLocalGuid(const RakNet::RakNetGUID& guid); void pingForHosts(int port); void runEvents(NetEventCallback*); void send(Packet* packet); void send(const RakNet::RakNetGUID& guid, Packet* packet); void stopPingForHosts(); public: RakNet::RakPeerInterface* m_pRakPeerInterface; bool m_bIsHost; int field_C; RakNet::RakNetGUID m_guid; int field_1C; std::vector m_servers; bool m_bPingingForHosts; int m_hostPingPort; int m_startedPingingAt; };