summaryrefslogtreecommitdiff
path: root/src/common/android/multiplayer/multiplayer.h
diff options
context:
space:
mode:
authorvampiric_x <vampiric_x@yuzu-emu.org>2025-03-10 22:37:56 +0100
committerMike Lothian <mike@fireburn.co.uk>2025-05-12 12:46:19 +0100
commit17c2000510c51d7b568f439240c86ee47a2667d5 (patch)
treecfdd35e1dfa32bf1d131be419aaca92f42b1be41 /src/common/android/multiplayer/multiplayer.h
parent481bf648aa34bb83d267e838471d44ab8b10618e (diff)
android: Initial multiplayer support
And give room owners mod access on both Android and QT
Diffstat (limited to 'src/common/android/multiplayer/multiplayer.h')
-rw-r--r--src/common/android/multiplayer/multiplayer.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/common/android/multiplayer/multiplayer.h b/src/common/android/multiplayer/multiplayer.h
new file mode 100644
index 000000000..657624e45
--- /dev/null
+++ b/src/common/android/multiplayer/multiplayer.h
@@ -0,0 +1,65 @@
+// Copyright 2024 Mandarine Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <string>
+#include <vector>
+
+#include <common/common_types.h>
+#include <network/network.h>
+
+enum class NetPlayStatus : s32 {
+ NO_ERROR,
+
+ NETWORK_ERROR,
+ LOST_CONNECTION,
+ NAME_COLLISION,
+ MAC_COLLISION,
+ CONSOLE_ID_COLLISION,
+ WRONG_VERSION,
+ WRONG_PASSWORD,
+ COULD_NOT_CONNECT,
+ ROOM_IS_FULL,
+ HOST_BANNED,
+ PERMISSION_DENIED,
+ NO_SUCH_USER,
+ ALREADY_IN_ROOM,
+ CREATE_ROOM_ERROR,
+ HOST_KICKED,
+ UNKNOWN_ERROR,
+
+ ROOM_UNINITIALIZED,
+ ROOM_IDLE,
+ ROOM_JOINING,
+ ROOM_JOINED,
+ ROOM_MODERATOR,
+
+ MEMBER_JOIN,
+ MEMBER_LEAVE,
+ MEMBER_KICKED,
+ MEMBER_BANNED,
+ ADDRESS_UNBANNED,
+
+ CHAT_MESSAGE,
+};
+
+bool NetworkInit(Network::RoomNetwork* room_network);
+NetPlayStatus NetPlayCreateRoom(const std::string& ipaddress, int port,
+ const std::string& username, const std::string& password,
+ const std::string& room_name, int max_players);
+NetPlayStatus NetPlayJoinRoom(const std::string& ipaddress, int port,
+ const std::string& username, const std::string& password);
+std::vector<std::string> NetPlayRoomInfo();
+bool NetPlayIsJoined();
+bool NetPlayIsHostedRoom();
+bool NetPlayIsModerator();
+void NetPlaySendMessage(const std::string& msg);
+void NetPlayKickUser(const std::string& username);
+void NetPlayBanUser(const std::string& username);
+void NetPlayLeaveRoom();
+std::string NetPlayGetConsoleId();
+void NetworkShutdown();
+std::vector<std::string> NetPlayGetBanList();
+void NetPlayUnbanUser(const std::string& username);