bool reNewIp() { string ip = GetIP(); privateManager.stopDHCP(); if ((privateManager.connectionGuid != null) && !String.IsNullOrEmpty(ip) && shouldStart_) { if (privateManager.setIP(ip)) { events.put(SOFTEVENT.FIREROUTESTART, 0); state_ = getawayState.Started; notifier.notify("start"); } else { state_ = getawayState.StartFailed; events.put(SOFTEVENT.RENEWIP, 0); return(false); } } if (OnRouterStart != null) { OnRouterStart(this, null); } state_ = getawayState.Started; notifier.notify("start"); return(true); }
private void intStop() { if (state_ == getawayState.Stopping) { return; } if (state_ == getawayState.Stopped) { return; } if (state_ == getawayState.StopFailed) { return; } Trace.TraceInformation("Getaway stopping"); state_ = getawayState.Stopping; try { privateManager.networkStop(); if (this.icsManager.SharingInstalled) { this.icsManager.DisableIcsOnAll(); } state_ = getawayState.Stopped; } catch { state_ = getawayState.StopFailed; } }
public void Start() { // if (DateTime.Now > DateTime.ParseExact("15.04.2013", "dd.MM.yyyy", null)) return; //Date if (this.currentSharedConnectionGuid != null) { shouldStart_ = true; icsManager.setPublicConnection(this.currentSharedConnectionGuid); publicConnected_ = icsManager.IsPublicConnected(); state_ = getawayState.Initialization; events.put(SOFTEVENT.STARTINIT, 0); } }
void testPrivateConnected() { if (state_ == getawayState.Starting) { return; } if (state_ == getawayState.StartingIP) { return; } if (state_ == getawayState.Started) { return; } privateManager.updateConnectionGuid(); if (privateManager.connectionGuid != null) { if (privateManager.Started) { privateManager.networkStop(); } else { Trace.TraceInformation("Getaway starting"); state_ = getawayState.Starting; if (publicConnected_) { try { if (this.icsManager.SharingInstalled) { this.icsManager.setPrivateConnection(privateManager.connectionGuid); privateManager.startNetwork(); icsManager.EnableIcs(); state_ = getawayState.StartingIP; return; } } catch (Exception e) { Trace.TraceInformation("Getaway start failed: {0}", e.Message); } } state_ = getawayState.StartFailed; } } }
void testPrivateConnected() { if (state_ == getawayState.Starting) return; if (state_ == getawayState.StartingIP) return; if (state_ == getawayState.Started) return; privateManager.updateConnectionGuid(); if (privateManager.connectionGuid != null) { if (privateManager.Started) privateManager.networkStop(); else { Trace.TraceInformation("Getaway starting"); state_ = getawayState.Starting; if (publicConnected_) try { if (this.icsManager.SharingInstalled) { this.icsManager.setPrivateConnection(privateManager.connectionGuid); privateManager.startNetwork(); icsManager.EnableIcs(); state_ = getawayState.StartingIP; return; } } catch (Exception e) { Trace.TraceInformation("Getaway start failed: {0}", e.Message); } state_ = getawayState.StartFailed; } } }
bool reNewIp() { string ip = GetIP(); privateManager.stopDHCP(); if ((privateManager.connectionGuid != null) && !String.IsNullOrEmpty(ip) && shouldStart_) { if (privateManager.setIP(ip)) { events.put(SOFTEVENT.FIREROUTESTART, 0); state_ = getawayState.Started; notifier.notify("start"); } else { state_ = getawayState.StartFailed; events.put(SOFTEVENT.RENEWIP, 0); return false; } } if (OnRouterStart != null) OnRouterStart(this, null); state_ = getawayState.Started; notifier.notify("start"); return true; }
private void intStop() { if (state_ == getawayState.Stopping) return; if (state_ == getawayState.Stopped) return; if (state_ == getawayState.StopFailed) return; Trace.TraceInformation("Getaway stopping"); state_ = getawayState.Stopping; try { privateManager.networkStop(); if (this.icsManager.SharingInstalled) { this.icsManager.DisableIcsOnAll(); } state_ = getawayState.Stopped; } catch { state_ = getawayState.StopFailed; } }
void events_processor(object sender, softEventQueue<SOFTEVENT>.EventType e) { switch (e.ev) { case SOFTEVENT.LOAD: this.icsManager = new IcsManager(); state_ = getawayState.Idle; shouldStart_ = false; privateManager = new privateNetManager(); events.put(SOFTEVENT.LOADINIT, 0); break; case SOFTEVENT.LOADINIT: try { privateManager.init(); } catch { startTimer(); break; } events.put(SOFTEVENT.LOAD_SAVED_STATE, 0); NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged); NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged); privateManager.networkAvailable += new EventHandler(privateManager_networkAvailable); privateManager.networkUnavailable += new EventHandler(privateManager_networkUnavailable); break; case SOFTEVENT.LOAD_SAVED_STATE: LoadConfig(); if (shouldStart_) Start(); break; case SOFTEVENT.NETWORKADDRESSCHANGED: networkAddressChanged(); break; case SOFTEVENT.STARTINIT: privateManager.enable(); startTimer(); break; case SOFTEVENT.RENEWIP: reNewIp(); startTimer(); break; case SOFTEVENT.UPDATECONNECTIONS: icsManager.updateConnections(); break; case SOFTEVENT.RESTARTPRIVATE: intStop(); if (shouldStart_) privateManager.enable(); break; case SOFTEVENT.TESTPRIVATE: testPrivateConnected(); break; case SOFTEVENT.FIREROUTESTART: watchDog.Change(Timeout.Infinite, Timeout.Infinite); if (OnRouterStart != null) OnRouterStart(this, null); break; case SOFTEVENT.INTSTOP: intStop(); break; } }
void events_processor(object sender, softEventQueue <SOFTEVENT> .EventType e) { switch (e.ev) { case SOFTEVENT.LOAD: this.icsManager = new IcsManager(); state_ = getawayState.Idle; shouldStart_ = false; privateManager = new privateNetManager(); events.put(SOFTEVENT.LOADINIT, 0); break; case SOFTEVENT.LOADINIT: try { privateManager.init(); } catch { startTimer(); break; } events.put(SOFTEVENT.LOAD_SAVED_STATE, 0); NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged); NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged); privateManager.networkAvailable += new EventHandler(privateManager_networkAvailable); privateManager.networkUnavailable += new EventHandler(privateManager_networkUnavailable); break; case SOFTEVENT.LOAD_SAVED_STATE: LoadConfig(); if (shouldStart_) { Start(); } break; case SOFTEVENT.NETWORKADDRESSCHANGED: networkAddressChanged(); break; case SOFTEVENT.STARTINIT: privateManager.enable(); startTimer(); break; case SOFTEVENT.RENEWIP: reNewIp(); startTimer(); break; case SOFTEVENT.UPDATECONNECTIONS: icsManager.updateConnections(); break; case SOFTEVENT.RESTARTPRIVATE: intStop(); if (shouldStart_) { privateManager.enable(); } break; case SOFTEVENT.TESTPRIVATE: testPrivateConnected(); break; case SOFTEVENT.FIREROUTESTART: watchDog.Change(Timeout.Infinite, Timeout.Infinite); if (OnRouterStart != null) { OnRouterStart(this, null); } break; case SOFTEVENT.INTSTOP: intStop(); break; } }