/// <inheritdoc /> protected override void PerformRefresh(ERefreshBehavior refreshBehavior, DirectoryInfo fileSystemDirectory, List <IWorkspaceArtefact> containerArtefacts) { containerArtefacts.Clear(); // TODO Implement support of refresh behavior // Directories DirectoryInfo[] subDirectories = fileSystemDirectory.GetDirectories("*", SearchOption.TopDirectoryOnly); for (int i = -1; ++i != subDirectories.Length;) { DirectoryInfo subDirectory = subDirectories[i]; FileSystemWorkspaceFolder fsWorkspaceFolder = new FileSystemWorkspaceFolder(subDirectory); fsWorkspaceFolder.Refresh(); containerArtefacts.Add(fsWorkspaceFolder); } // Files FileInfo[] files = fileSystemDirectory.GetFiles("*", SearchOption.TopDirectoryOnly); for (int i = -1; ++i != files.Length;) { FileInfo file = files[i]; FileSystemFile fsFile = new FileSystemFile(file); containerArtefacts.Add(fsFile); } }
/// <summary> /// Tells the instance to perform the refresh using the given <paramref name="refreshBehavior"/> and <paramref name="fileSystemDirectory"/>. /// The obtained artefacts have to be stored in the given <paramref name="containerArtefacts"/> set. /// </summary> /// <param name="refreshBehavior">Refresh behavior</param> /// <param name="fileSystemDirectory">Associated folder directory to scan</param> /// <param name="containerArtefacts">Set of obtained artefacts</param> protected abstract void PerformRefresh(ERefreshBehavior refreshBehavior, DirectoryInfo fileSystemDirectory, List <IWorkspaceArtefact> containerArtefacts);
/// <inheritdoc /> public void Refresh(ERefreshBehavior refreshBehavior) { PerformRefresh(refreshBehavior, FileSystemDirectory, ContainerArtefacts); Refreshed.Dispatch(new object[] { this, EventArgs.Empty }, OnDispatchEventException); }