示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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;
            }
        }