aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/IMachineSetupManager.cs
blob: 4808252d0139c24bdadf89ab6031f066fd988bcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.PPC.Common.MachineSetup
{
    /// <summary>
    /// Represents a machine setup manager responsible for first time usage application and embedded device provisioning.
    /// </summary>
    public interface IMachineSetupManager
    {
        MachineSetupProgress Status { get; }

        /// <summary>
        /// Occurs when there is a text log message available.
        /// </summary>
        event EventHandler<String> ProgressLog;

        /// <summary>
        /// Occurs when the setup has made some progress.
        /// </summary>
        event EventHandler<MachineSetupProgress> Progress;

        /// <summary>
        /// Performs a machine setup using the specified serial number and machine service address.
        /// </summary>
        /// <param name="serialNumber">The serial number.</param>
        /// <returns></returns>
        Task<MachineSetupResult> Setup(String serialNumber);
    }
}
="nn">System.Text; using System.Threading.Tasks; using Tango.Core.Commands; using Tango.PPC.Browser.Navigation; using Tango.PPC.Browser.ViewContracts; using Tango.PPC.Common; using Tango.PPC.Common.Navigation; using Tango.Touch.Keyboard; namespace Tango.PPC.Browser.ViewModels { /// <summary> /// Represents the main view VM and entry point for <see cref="Synchronization.MyModule"/>. /// </summary> /// <seealso cref="Tango.PPC.Common.PPCViewModel" /> public class BrowserViewVM : PPCViewModel<IBrowserView>, INavigationObjectReceiver<BrowserNavigationRequest> { private bool _isFromObject; private String _address; public String Address { get { return _address; } set { _address = value; RaisePropertyChangedAuto(); } } private bool _displayAddressBar; public bool DisplayAddressBar { get { return _displayAddressBar; } set { _displayAddressBar = value; RaisePropertyChangedAuto(); } } public RelayCommand GoCommand { get; set; } public BrowserViewVM() { DisplayAddressBar = true; GoCommand = new RelayCommand(Go); } public override void OnViewAttached() { base.OnViewAttached(); View.AddressChanged += View_AddressChanged; } private void View_AddressChanged(object sender, string address) { Address = address; } public override void OnNavigatedTo() { base.OnNavigatedTo(); KeyboardView.Default.OutputMode = KeyboardOutputMode.Windows; if (!_isFromObject) { DisplayAddressBar = true; } _isFromObject = false; } public override void OnNavigatedFrom() { base.OnNavigatedFrom(); KeyboardView.Default.OutputMode = KeyboardOutputMode.Wpf; } public override Task<bool> OnNavigateBackRequest() { if (View != null && View.CanGoBack()) { View.GoBack(); return Task.FromResult(false); } else { return Task.FromResult(true); } } /// <summary> /// Called when the application has been started /// </summary> public override void OnApplicationStarted() { } public override void OnApplicationShuttingDown() { base.OnApplicationShuttingDown(); try { Cef.Shutdown(); } catch (Exception ex) { LogManager.Log(ex, "Error shutting down cef."); } } private void Go() { if (View != null) { View.NavigateTo(Address); } } public void OnNavigatedToWithObject(BrowserNavigationRequest obj) { _isFromObject = true; DisplayAddressBar = obj.DisplayAddressBar; if (obj.Address != null) { Address = obj.Address; Go(); } } } }