using System.ServiceModel; namespace TGServiceInterface.Components { /// /// Manage the group that is used to access the service, can only be used by an administrator /// [ServiceContract] public interface ITGAdministration { /// /// Get the port used for remote operation /// /// The port used for remote operation [OperationContract] ushort RemoteAccessPort(); /// /// Set the port used for remote operation /// Requires a service restart to take effect /// /// The new port to use for remote operation /// on success, error message on failure [OperationContract] string SetRemoteAccessPort(ushort port); /// /// Returns the name of the windows group allowed to use the service other than administrator /// /// The name of the windows group allowed to use the service other than administrator, "ADMIN" if it's unset, on failure [OperationContract] string GetCurrentAuthorizedGroup(); /// /// Searches the windows machine for the group named , sets it as the authorized group if it's found /// /// The name of the windows group to search for or null to clear the setting /// The name of the windows group that is now authorized to use the service on success, on failure, "ADMIN" on clearing [OperationContract] string SetAuthorizedGroup(string groupName); /// /// Moves the entire server installation, requires no operations to be running /// /// The new path to place the server /// on success, error message on failure [OperationContract] string MoveServer(string new_location); /// /// Renames the current static folder to a backup name and recreates is from the current repo using TGS3.json /// /// on success, error message on failure [OperationContract] string RecreateStaticFolder(); } }