class RoomManagementService
(Niantic.Lightship.SharedAR.Rooms.RoomManagementService)
Overview
The RoomManagementService provides interface to access Room Management Service backend to create, remove, find Rooms. A room is an entity to connect multiple peers through server relayed network.
class RoomManagementService {
	public:
	
		struct GetOrCreateRoomAsyncTaskResult;
		// methods
	
		static RoomManagementServiceStatus CreateRoom(
			RoomParams roomParams,
			out IRoom outRoom
		);
	
		static void TryReinitializeRoomManagementService();
		static RoomManagementServiceStatus DeleteRoom(string roomId);
		static RoomManagementServiceStatus GetRoom(string roomId, out IRoom outRoom);
	
		static RoomManagementServiceStatus QueryRoomsByName(
			string name,
			out List<IRoom> rooms
		);
	
		static RoomManagementServiceStatus GetAllRooms(out List<IRoom> rooms);
	
		static RoomManagementServiceStatus GetOrCreateRoomForName(
			RoomParams roomParams,
			out IRoom outRoom
		);
	
		static void GetOrCreateRoomAsync(
			string roomName,
			string roomDesc,
			uint roomCapacity,
			GetOrCreateRoomCallback doneCb
		);
	
		static async Task<GetOrCreateRoomAsyncTaskResult> GetOrCreateRoomAsync(
			string roomName,
			string roomDescription,
			uint roomCapacity
		);
	
		delegate void GetOrCreateRoomCallback(
			RoomManagementServiceStatus status,
			string room_id
		);
	};
Detailed Documentation
The RoomManagementService provides interface to access Room Management Service backend to create, remove, find Rooms. A room is an entity to connect multiple peers through server relayed network.
Methods
CreateRoom
static RoomManagementServiceStatus CreateRoom(
		RoomParams roomParams,
		out IRoom outRoom
	)
Create a new room on the server.
Parameters:
    roomParams  - Parameters of the room
    outRoom  - Created room as IRoom object. null if failed to create.
Returns:
Status of the operation
DeleteRoom
static RoomManagementServiceStatus DeleteRoom(string roomId)
Delete a room on the server.
Parameters:
    roomId  - Room ID of the room to delete
Returns:
Status of the operation
GetRoom
static RoomManagementServiceStatus GetRoom(string roomId, out IRoom outRoom)
Get a room by Room ID on the server
Parameters:
    roomId  - Room ID as a string
    outRoom  - Found Room object. Null if operation failed or room ID not found<//param>
Returns:
Status of the operation
QueryRoomsByName
static RoomManagementServiceStatus QueryRoomsByName(
		string name,
		out List<IRoom> rooms
	)
Query room(s) by name on the server
Parameters:
    name  - Name of the room to find
    rooms  - A List of rooms which has matching name
Returns:
Status of the operation
GetAllRooms
static RoomManagementServiceStatus GetAllRooms(out List<IRoom> rooms)
Get all rooms on the server, which was created by this app
Parameters:
    rooms  - List of rooms available for this app
Returns:
Status of the operation
GetOrCreateRoomForName
static RoomManagementServiceStatus GetOrCreateRoomForName(
		RoomParams roomParams,
		out IRoom outRoom
	)
Get a IRoom object that has a given name on the server. If no room found with the name, create a new room using given room parameters
Parameters:
    roomParams  - Room parameters of the room to get or create
    outRoom  - IRoom object. null if server operarion failed
Returns:
Status of the operation
GetOrCreateRoomAsync
static void GetOrCreateRoomAsync(
		string roomName,
		string roomDesc,
		uint roomCapacity,
		GetOrCreateRoomCallback doneCb
	)
An async implementation of the GetOrCreateRoom request. This function checks to see if any rooms of the name "roomName" exist and if not, it creates the room. Once the function has a valid RoomID from either of these operations, it returns it via the "doneCb". The "doneCb" has two parameters. The first is a response code in case there are service issues, and the second parameter is the room id that was found/created.
Parameters:
    roomName  - Room name to check for
    roomDesc  - Room description to use if a room needs to be made
    roomCapacity  - Room capacity to use if a room needs to be made
    doneCb  - Callback that the function calls after it errors or receives a valid room id.
GetOrCreateRoomAsync
static async Task<GetOrCreateRoomAsyncTaskResult> GetOrCreateRoomAsync(
		string roomName,
		string roomDescription,
		uint roomCapacity
	)
An async implementation of the GetOrCreateRoom request. This function checks to see if any rooms of the name "roomName" exist and if not, it creates the room. This variant returns a Task so it can be await -ed by C#'s async/await feature. The task is given two results, the status of the request and, if successful, the roomId for the request.
Parameters:
    roomName  - Room name to check for
    roomDescription  - Room description to use if a room needs to be made
    roomCapacity  - Room capacity to use if a room needs to be made
Returns:
Task with the request status and the roomId on successful requests