/// <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);
            }
        }
Example #2
0
 /// <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);
Example #3
0
 /// <inheritdoc />
 public void Refresh(ERefreshBehavior refreshBehavior)
 {
     PerformRefresh(refreshBehavior, FileSystemDirectory, ContainerArtefacts);
     Refreshed.Dispatch(new object[] { this, EventArgs.Empty }, OnDispatchEventException);
 }