public PathCollector(Snapshots.ISnapshotService snapshot, Options.SymlinkStrategy symlinkHandling, FileAttributes attributeMask, Utility.FilenameFilter filter, CommunicationStatistics stat) { m_symlinkHandling = symlinkHandling; m_filter = filter; m_attributeMask = attributeMask; m_snapshot = snapshot; m_stat = stat; }
/// <summary> /// Initializes a RSyncDir instance, and binds it to the source folder /// </summary> /// <param name="sourcefolder">The folders to create a backup from</param> /// <param name="stat">The status report object</param> /// <param name="filter">An optional filter that controls what files to include</param> public RSyncDir(string[] sourcefolder, CommunicationStatistics stat, Utility.FilenameFilter filter) { m_filter = filter; m_oldSignatures = new Dictionary<string, ArchiveWrapper>(Utility.Utility.ClientFilenameStringComparer); m_oldFolders = new Dictionary<string, DateTime>(Utility.Utility.ClientFilenameStringComparer); m_oldSymlinks = new Dictionary<string, string>(Utility.Utility.ClientFilenameStringComparer); m_lastVerificationTime = new Dictionary<string, DateTime>(Utility.Utility.ClientFilenameStringComparer); for (int i = 0; i < sourcefolder.Length; i++) { if (!System.IO.Path.IsPathRooted(sourcefolder[i])) sourcefolder[i] = System.IO.Path.GetFullPath(sourcefolder[i]); sourcefolder[i] = Utility.Utility.AppendDirSeparator(sourcefolder[i]); } m_stat = stat; m_sourcefolder = sourcefolder; if (m_filter == null) m_filter = new XervBackup.Library.Utility.FilenameFilter(new List<KeyValuePair<bool, string>>()); }
/// <summary> /// Constructs a new filter helper /// </summary> /// <param name="folders">The restore folder list</param> /// <param name="filter">The filter to apply to the files</param> public FilterHelper(RSyncDir parent, string[] folders, Utility.FilenameFilter filter) { m_parent = parent; m_folders = folders; m_filter = filter; }