using System.ServiceModel;
namespace TGS.Interface.Components
{
///
/// For managing the BYOND installation the server runs
///
[ServiceContract]
public interface ITGByond
{
///
/// Gets the current status of any BYOND updates
///
/// The current status of the byond updater
[OperationContract]
ByondStatus CurrentStatus();
///
/// updates the used byond version to that of version .. The change won't take place until DD reboots. Calls if blocked by a running DD instance. Runs asyncronously, use to check progress
///
/// Major BYOND version. E.g. 511
/// Minor BYOND version. E.g. 1381
/// if the update started, if another operation was in progress or DreamDaemon is running
[OperationContract]
bool UpdateToVersion(int major, int minor);
///
/// Check the last update error. Checking this will clear the value
///
/// The last update error, if any. otherwise.
[OperationContract]
string GetError();
///
/// Get the currently installed version as a string formatted as Major.Minor
///
/// The type of version to retrieve
/// if no version is detected, the version string otherwise
[OperationContract]
string GetVersion(ByondVersion type);
}
}