mirror of
https://github.com/yuzu-emu/yuzu.git
synced 2025-06-11 17:57:58 -05:00
network: Move global state into a seperate class
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
This commit is contained in:
@ -9,11 +9,12 @@
|
||||
|
||||
namespace Network {
|
||||
|
||||
static std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games
|
||||
static std::shared_ptr<Room> g_room; ///< Room (Server) for network games
|
||||
// TODO(B3N30): Put these globals into a networking class
|
||||
RoomNetwork::RoomNetwork() {
|
||||
g_room = std::make_shared<Room>();
|
||||
g_room_member = std::make_shared<RoomMember>();
|
||||
}
|
||||
|
||||
bool Init() {
|
||||
bool RoomNetwork::Init() {
|
||||
if (enet_initialize() != 0) {
|
||||
LOG_ERROR(Network, "Error initalizing ENet");
|
||||
return false;
|
||||
@ -24,15 +25,15 @@ bool Init() {
|
||||
return true;
|
||||
}
|
||||
|
||||
std::weak_ptr<Room> GetRoom() {
|
||||
std::weak_ptr<Room> RoomNetwork::GetRoom() {
|
||||
return g_room;
|
||||
}
|
||||
|
||||
std::weak_ptr<RoomMember> GetRoomMember() {
|
||||
std::weak_ptr<RoomMember> RoomNetwork::GetRoomMember() {
|
||||
return g_room_member;
|
||||
}
|
||||
|
||||
void Shutdown() {
|
||||
void RoomNetwork::Shutdown() {
|
||||
if (g_room_member) {
|
||||
if (g_room_member->IsConnected())
|
||||
g_room_member->Leave();
|
||||
|
@ -10,16 +10,25 @@
|
||||
|
||||
namespace Network {
|
||||
|
||||
/// Initializes and registers the network device, the room, and the room member.
|
||||
bool Init();
|
||||
class RoomNetwork {
|
||||
public:
|
||||
RoomNetwork();
|
||||
|
||||
/// Returns a pointer to the room handle
|
||||
std::weak_ptr<Room> GetRoom();
|
||||
/// Initializes and registers the network device, the room, and the room member.
|
||||
bool Init();
|
||||
|
||||
/// Returns a pointer to the room member handle
|
||||
std::weak_ptr<RoomMember> GetRoomMember();
|
||||
/// Returns a pointer to the room handle
|
||||
std::weak_ptr<Room> GetRoom();
|
||||
|
||||
/// Unregisters the network device, the room, and the room member and shut them down.
|
||||
void Shutdown();
|
||||
/// Returns a pointer to the room member handle
|
||||
std::weak_ptr<RoomMember> GetRoomMember();
|
||||
|
||||
/// Unregisters the network device, the room, and the room member and shut them down.
|
||||
void Shutdown();
|
||||
|
||||
private:
|
||||
std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games
|
||||
std::shared_ptr<Room> g_room; ///< Room (Server) for network games
|
||||
};
|
||||
|
||||
} // namespace Network
|
||||
|
Reference in New Issue
Block a user