private void UpdateSubnet(uint aSubnet) { NetworkAdapter adapter = null; lock(iLock) { if (iAdapterList != null) { iAdapterList.Dispose(); } iAdapterList = new AdapterList(aSubnet); adapter = iAdapterList.Adapter; iSubnet = aSubnet; } iLibrary.SetCurrentSubnet(adapter); if(AdapterListChanged != null) { AdapterListChanged(this, EventArgs.Empty); } }
public Model(Preferences aPreferences) { iLock = new object(); iPreferences = aPreferences; iPreferences.EventNetworkChanged += HandleEventNetworkChanged; Library.SetDebugLevel(Library.DebugLevel.Trace); iInitParams = new InitParams(); iInitParams.LogOutput = new MessageListener(LogOutput); iInitParams.SubnetListChangedListener = new ChangedListener(SubnetListChanged); iLibrary = Library.Create(iInitParams); iSubnet = iPreferences.Network; iAdapterList = new AdapterList(iSubnet); if(iAdapterList.Adapter != null) { iSubnet = iAdapterList.Adapter.Subnet(); } iLibrary.StartCp(iSubnet); }
public void Dispose() { if(iAdapterList != null) { iAdapterList.Dispose(); iAdapterList = null; } if(iLibrary != null) { iLibrary.Dispose(); iLibrary = null; } if(iPreferences != null) { iPreferences.EventNetworkChanged -= HandleEventNetworkChanged; iPreferences = null; } }