/// <summary> /// See interface docs. /// </summary> /// <param name="view"></param> public void Connect(IXPlaneView view) { view.ConnectionStatus = ""; var settings = new XPlaneSettings() { Host = view.Host, XPlanePort = view.XPlanePort, ReplyPort = view.ReplyPort, }; var validationMessage = ValidateSettings(settings); view.ConnectionStatus = validationMessage ?? ""; if (String.IsNullOrEmpty(validationMessage)) { var connection = Factory.ResolveSingleton <IXPlaneConnection>(); try { connection.Connect(settings); view.ConnectionStatus = Strings.Connected; var storage = Factory.Resolve <IXPlaneSettingsStorage>(); storage.Save(settings); } catch (Exception ex) { view.ConnectionStatus = $"Caught exception when connecting: {ex}"; } } }
/// <summary> /// See interface docs. /// </summary> /// <param name="view"></param> public void Disconnect(IXPlaneView view) { view.ConnectionStatus = Strings.Disconnected; var connection = Factory.ResolveSingleton <IXPlaneConnection>(); connection.Disconnect(); }
/// <summary> /// See interface docs. /// </summary> /// <param name="view"></param> public void Initialise(IXPlaneView view) { var storage = Factory.Resolve <IXPlaneSettingsStorage>(); var settings = storage.Load(); view.Host = settings.Host; view.XPlanePort = settings.XPlanePort; view.ReplyPort = settings.ReplyPort; view.ConnectionStatus = Strings.NotConnected; }