/** * A webadmin user record. Creates by the IWebAdminAuth instance. * * Copyright 2008 Epic Games, Inc. All Rights Reserved * * @author Michiel 'elmuerte' Hendriks */ interface IWebAdminUser; struct MessageEntry { var int counter; /** * Can be none */ var PlayerReplicationInfo sender; var string senderName; var string message; /** * Say, TeamSay, None */ var name type; var string teamName; var color teamColor; /** * INDEX_NONE if not a member of a team */ var int teamId; }; /** * Return the name of the user. This is the name used for displaying. It can be * the same as the result of getUserid(); */ function string getUsername(); /** * Return the user id, this was the name used to log in on the webadmin. */ function string getUserid(); /** * Used to check for permissions to perform given actions. * * @param path an URL containing the action description. See rfc2396 for more information. * The scheme part of the URL will be used as identifier for the interface. * The host is the IP to witch the webserver is bound. * for example: webadmin://127.0.0.1:8080/current/console * Note that the webapplication path is not included. */ function bool canPerform(string url); /** * Returns a list of all urls that were passed to #canPerform(). It does not * contain information wether the result was true or false. */ function array getCheckedPrivileges(); function clearCheckedPrivileges(); /** * Return a PlayerController associated with this user. This method might return * none when there is no player controller associated with this user. */ function PlayerController getPC(); /** * Get the message history. */ function messageHistory(out array history, optional int startingFrom); /** * Called when this user is logged out. */ function logout(); /** * Return an instance of the settings privileges class to filter on settings, and/or * groups. It is not required. */ function ISettingsPrivileges getSettingsPrivileges();