예제 #1
0
 /// <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;
     ProcessDirectoryHandler handler = ProcessDirectory;
     if (handler != null)
     {
         DirectoryEventArgs args = new DirectoryEventArgs(directory, hasMatchingFiles);
         handler(this, args);
         result = args.ContinueRunning;
     }
     return result;
 }
예제 #2
0
        /// <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)
        {
            ProcessDirectoryHandler handler = ProcessDirectory;

            if (handler != null)
            {
                DirectoryEventArgs args = new DirectoryEventArgs(directory, hasMatchingFiles);
                handler(this, args);
                alive_ = args.ContinueRunning;
            }
        }
예제 #3
0
        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);
                    }
                }
            }
        }