/// <summary> /// Fires the <see cref="ProcessDirectory">process directory</see> delegate. /// </summary> /// <param name="directory">The directory being processed.</param> /// <param name="hasMatchingFiles">Flag indicating if the directory has matching files as determined by the current filter.</param> /// <returns>A <see cref="bool"/> of true if the operation should continue; false otherwise.</returns> public bool OnProcessDirectory(string directory, bool hasMatchingFiles) { bool result = true; if (ProcessDirectory != null) { DirectoryEventArgs args = new DirectoryEventArgs(directory, hasMatchingFiles); ProcessDirectory(this, args); result = args.ContinueRunning; } return result; }
private void ProcessDirectory(object sender, DirectoryEventArgs e) { if (!e.HasMatchingFiles && CreateEmptyDirectories) { if (events_ != null) { events_.OnProcessDirectory(e.Name, e.HasMatchingFiles); } if (e.ContinueRunning) { if (e.Name != sourceDirectory_) { ZipEntry entry = entryFactory_.MakeDirectoryEntry(e.Name); outputStream_.PutNextEntry(entry); } } } }
/// <summary> /// Raise the ProcessDirectory event. /// </summary> /// <param name="directory">The directory name.</param> /// <param name="hasMatchingFiles">Flag indicating if the directory has matching files.</param> private void OnProcessDirectory(string directory, bool hasMatchingFiles) { if (ProcessDirectory != null) { DirectoryEventArgs args = new DirectoryEventArgs(directory, hasMatchingFiles); ProcessDirectory(this, args); alive_ = args.ContinueRunning; } }