using System.ServiceModel;
namespace TGS.Interface.Components
{
///
/// Used for managing s
///
[ServiceContract]
public interface ITGInstanceManager
{
///
/// Creates a new
///
/// The name of the instance
/// The path to the instance
/// on success, error message on failure
[OperationContract]
string CreateInstance(string Name, string path);
///
/// Registers an existing server instance
///
/// The path to the instance
/// on success, error message on failure
[OperationContract]
string ImportInstance(string path);
///
/// Checks if an instance is online
///
/// The name of the instance
/// if the Instance exists and is online, otherwise
[OperationContract]
bool InstanceEnabled(string Name);
///
/// Sets an instance's enabled status
///
/// The instance whom's status should be changed
/// to enable the instance, to disable it
/// on success, error message on failure
[OperationContract]
string SetInstanceEnabled(string Name, bool enabled);
///
/// Renames an instance, this will restart the instance if it is enabled
///
/// The current name of the instance
/// The new name of the instance
/// on success, error message on failure
[OperationContract]
string RenameInstance(string name, string new_name);
///
/// Disables and unregisters an instance, allowing the folder and data to be manipulated manually
///
/// The instance to detach
/// on success, error message on failure
[OperationContract]
string DetachInstance(string name);
}
}