@@ -39,7 +39,25 @@ public class NetworkController
3939 /// Gets the period for triggering network down events.
4040 /// </summary>
4141 public TimeSpan DownEventPeriod { get ; } = TimeSpan . FromSeconds ( 30 ) ;
42-
42+
43+
44+ /// <summary>
45+ /// Port used for UdpLogging.
46+ /// </summary>
47+ /// <remarks>
48+ /// Default set in constructor is port 5100
49+ /// </remarks>
50+ private int UdpLoggingPort { get ; set ; }
51+
52+ /// <summary>
53+ /// Instance of UdpLogger. Use to remove UdpLogger if the network disconnects
54+ /// </summary>
55+ private UdpLogger ? UdpLogger { get ; set ; }
56+
57+ private string WifiSsid { get ; set ; } = "SSID" ;
58+ private string WifiPassword { get ; set ; } = "PASSWORD" ;
59+
60+
4361 /// <summary>
4462 /// Initializes a new instance of the <see cref="NetworkController"/> class.
4563 /// </summary>
@@ -74,8 +92,8 @@ public async Task<bool> ConnectToCloud()
7492 {
7593 if ( ! wifi . IsConnected )
7694 {
77- Resolver . Log . Info ( "Connecting to network... " ) ;
78- await wifi . Connect ( "interwebs" , "1234567890" ) ;
95+ Resolver . Log . Info ( $ "Connecting to network: { WifiSsid } ") ;
96+ await wifi . Connect ( WifiSsid , WifiPassword ) ;
7997 }
8098 }
8199
@@ -119,6 +137,14 @@ private void DownEventTimerProc(object _)
119137
120138 private void OnNetworkDisconnected ( INetworkAdapter sender , NetworkDisconnectionEventArgs args )
121139 {
140+ // Remove the UdpLogger if it's in the LogProviderCollection.
141+ if ( UdpLogger != null )
142+ {
143+ Resolver . Log . RemoveProvider ( UdpLogger ) ;
144+ UdpLogger . Dispose ( ) ;
145+ UdpLogger = null ;
146+ }
147+
122148 lastDown = DateTimeOffset . UtcNow ;
123149 downEventTimer . Change ( DownEventPeriod , TimeSpan . FromMilliseconds ( - 1 ) ) ;
124150 ConnectionStateChanged ? . Invoke ( this , false ) ;
@@ -152,7 +178,7 @@ private async Task ReportWiFiScan(IWiFiNetworkAdapter wifi)
152178 private void OnNetworkConnected ( INetworkAdapter sender , NetworkConnectionEventArgs args )
153179 {
154180 Resolver . Log . Info ( "Add UdpLogger" ) ;
155- Resolver . Log . AddProvider ( new UdpLogger ( /*port = */ 5100 ) ) ;
181+ Resolver . Log . AddProvider ( UdpLogger = new UdpLogger ( UdpLoggingPort ) ) ;
156182
157183 if ( sender is IWiFiNetworkAdapter wifi )
158184 {
0 commit comments