diff options
author | James Rowe <jroweboy@gmail.com> | 2018-01-12 03:21:20 +0100 |
---|---|---|
committer | James Rowe <jroweboy@gmail.com> | 2018-01-13 03:11:03 +0100 |
commit | ebf9a784a9f7f4148a669dbb39e7cd50df779a14 (patch) | |
tree | d585685a1c0a34b903af1d086d62560bf56bb29f /src/network/room.h | |
parent | config: Default CPU core to Unicorn. (diff) | |
download | yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.gz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.bz2 yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.lz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.xz yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.tar.zst yuzu-ebf9a784a9f7f4148a669dbb39e7cd50df779a14.zip |
Diffstat (limited to '')
-rw-r--r-- | src/network/room.h | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/network/room.h b/src/network/room.h deleted file mode 100644 index 8285a4d0c..000000000 --- a/src/network/room.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2017 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include <array> -#include <memory> -#include <string> -#include <vector> -#include "common/common_types.h" - -namespace Network { - -constexpr u32 network_version = 1; ///< The version of this Room and RoomMember - -constexpr u16 DefaultRoomPort = 1234; -constexpr size_t NumChannels = 1; // Number of channels used for the connection - -struct RoomInformation { - std::string name; ///< Name of the server - u32 member_slots; ///< Maximum number of members in this room -}; - -struct GameInfo { - std::string name{""}; - u64 id{0}; -}; - -using MacAddress = std::array<u8, 6>; -/// A special MAC address that tells the room we're joining to assign us a MAC address -/// automatically. -constexpr MacAddress NoPreferredMac = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - -// 802.11 broadcast MAC address -constexpr MacAddress BroadcastMac = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - -// The different types of messages that can be sent. The first byte of each packet defines the type -enum RoomMessageTypes : u8 { - IdJoinRequest = 1, - IdJoinSuccess, - IdRoomInformation, - IdSetGameInfo, - IdWifiPacket, - IdChatMessage, - IdNameCollision, - IdMacCollision, - IdVersionMismatch, - IdCloseRoom -}; - -/// This is what a server [person creating a server] would use. -class Room final { -public: - enum class State : u8 { - Open, ///< The room is open and ready to accept connections. - Closed, ///< The room is not opened and can not accept connections. - }; - - struct Member { - std::string nickname; ///< The nickname of the member. - GameInfo game_info; ///< The current game of the member - MacAddress mac_address; ///< The assigned mac address of the member. - }; - - Room(); - ~Room(); - - /** - * Gets the current state of the room. - */ - State GetState() const; - - /** - * Gets the room information of the room. - */ - const RoomInformation& GetRoomInformation() const; - - /** - * Gets a list of the mbmers connected to the room. - */ - std::vector<Member> GetRoomMemberList() const; - - /** - * Creates the socket for this room. Will bind to default address if - * server is empty string. - */ - void Create(const std::string& name, const std::string& server = "", - u16 server_port = DefaultRoomPort); - - /** - * Destroys the socket - */ - void Destroy(); - -private: - class RoomImpl; - std::unique_ptr<RoomImpl> room_impl; -}; - -} // namespace Network |