public MainWindow() { InitializeComponent(); Directory.CreateDirectory(Settings.DOWNLOAD_DIRECTORY); Closing += ClosingHandler; // mainState = MainState.Idle; downloadState = DownloadState.IDLE; model = new Model(); model.UpdateHostsEvent += HostListBoxUpdateHandler; model.UpdateSearchResultEvent += ResultListBoxUpdateHandler; RemoteSearch.LocalFindFiles += model.FindFiles; RemoteSearch.LocalFindFiles += LocalFindFiles; RemoteStopFinding.StopFindingFunction += model.StopFinding; RemoteAddResult.LocalAddResult += model.AddResultByRemote; RemoteHostProvider.GetHostsFunction += model.GetHosts; RemoteHostProvider.SetActualHostsFunction += model.SetActualHosts; RemoteSearchResolve.SearchResolveFunction += model.SearchResolve; RemoteClearResults.ClearResultsFunction += ClearResults; model.Unique = long.Parse(Settings.LOCAL_IP.ToString().Replace(".", "")); udpService = new UdpService(Settings.BROADCAST_IP, Settings.UDP_PORT, Settings.UDP_BROADCAST_DELAY); udpService.NewConnectionEvent += model.AddHost; udpService.Start(); remotingServer = new RemotingServer(Settings.REMOTING_SERVER_PORT); remotingServer.Start(); FindButton.Click += ClickHandler; DownloadButton.Click += DownloadButtonClickHandler; ResultListBox.SelectionChanged += ShowFileInfo; }
private void ClosingHandler(object o, CancelEventArgs e) { udpService.Stop(); udpService = null; model.Close(); }