/// <summary> /// Updates the user-interface with the values from the new hosts-file content. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">An <see cref="FileSystemEventArgs"/> that contains the event data.</param> private void HostsFileContentChanged(object sender, FileSystemEventArgs e) { if (string.IsNullOrEmpty(e.FullPath) || File.Exists(e.FullPath) == false) { return; } HostFile newHostsFile = HostfileManager.Current.GetHostsFile(e.FullPath); if (newHostsFile != null) { /* attach new data-model */ this.HostFileInstance = newHostsFile; } }
/// <summary> /// Loads the specified <see cref="HostsFileProfile"/>. /// </summary> /// <param name="sourceProfile">A <see cref="HostsFileProfile"/> object.</param> /// <returns>True if the specified <paramref name="sourceProfile"/> was loaded successfully; otherwise false.</returns> public bool LoadProfile(HostsFileProfile sourceProfile) { if (this.HostFileInstance != null) { HostFile hf = HostfileManager.Current.GetProfile(sourceProfile.ProfilePath); if (hf != null) { this.HostFileInstance = hf; return true; } } return false; }
/// <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary> /// <param name="disposing">A flag indicating whether this object is currently disposing.</param> protected override void Dispose(bool disposing) { if (this.disposed == false) { if (disposing) { this.hostFileInstance = null; HostfileManager.Current.Dispose(); } // Free your own state (unmanaged objects). // Set large fields to null. this.disposed = true; } base.Dispose(disposing); }
/// <summary>Loads the hosts file with specified <paramref name="filePath"/>.</summary> /// <param name="filePath">The file path to a hosts file or a hosts file profile.</param> /// <returns>True if the specified <paramref name="filePath"/> was loaded successfully; otherwise false.</returns> public bool LoadFile(string filePath) { if (string.IsNullOrEmpty(filePath)) { throw new ArgumentNullException("filePath"); } if (this.HostFileInstance != null) { HostFile hf = HostfileManager.Current.GetHostsFile(filePath); if (hf != null) { this.HostFileInstance = hf; return true; } } return false; }