diff --git a/WifiSitterGui/MainWindow.xaml b/WifiSitterGui/MainWindow.xaml index 75f2490..04d3f9c 100644 --- a/WifiSitterGui/MainWindow.xaml +++ b/WifiSitterGui/MainWindow.xaml @@ -16,8 +16,28 @@ - + + + + + + + + + + Service Status: + + + + + + + + + + + diff --git a/WifiSitterGui/ViewModel/MainWindowViewModel.cs b/WifiSitterGui/ViewModel/MainWindowViewModel.cs index caba1c6..72732a8 100644 --- a/WifiSitterGui/ViewModel/MainWindowViewModel.cs +++ b/WifiSitterGui/ViewModel/MainWindowViewModel.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.ServiceProcess; using System.Text; using WifiSitter; @@ -13,6 +14,7 @@ namespace WifiSitterGui.ViewModel #region fields SimpleNetworkState _netState; + private ServiceController _sc; #endregion // fields @@ -32,9 +34,34 @@ namespace WifiSitterGui.ViewModel get { return _netState; } set { _netState = value; OnPropertyChanged(null); } } + public List Nics { get { return NetState.Nics; } } + + public string ServiceState { + get { + try { if (_sc == null) _sc = new ServiceController("WifiSitter"); } + catch { return "No Service"; } + + _sc.Refresh(); + switch (_sc.Status) { + case ServiceControllerStatus.Running: + return "Running"; + case ServiceControllerStatus.Stopped: + return "Stopped"; + case ServiceControllerStatus.Paused: + return "Paused"; + case ServiceControllerStatus.StopPending: + return "Stopping"; + case ServiceControllerStatus.StartPending: + return "Starting"; + default: + return "Status Changing"; + } + } + } + #endregion // properties