BlinkSyncLib.Sync.GetFiles C# (CSharp) Method

GetFiles() public method

Gets list of files in specified directory, optionally filtered by specified input parameters
public GetFiles ( DirectoryInfo directoryInfo, InputParams inputParams, SyncResults &results ) : System.IO.FileInfo[]
directoryInfo System.IO.DirectoryInfo
inputParams InputParams
results SyncResults
return System.IO.FileInfo[]
        public virtual FileInfo[] GetFiles(DirectoryInfo directoryInfo, InputParams inputParams, ref SyncResults results)
        {
            // get all files
            List<FileInfo> fileList = new List<FileInfo>(directoryInfo.GetFiles());

            // do we need to do any filtering?
            bool needFilter = (inputParams != null) && (inputParams.AreSourceFilesFiltered);

            if (needFilter)
            {
                for (int i = 0; i < fileList.Count; i++)
                {
                    FileInfo fileInfo = fileList[i];

                    // filter out any files based on hiddenness and exclude/include filespecs
                    if ((inputParams.ExcludeHidden && ((fileInfo.Attributes & FileAttributes.Hidden) > 0)) ||
                         ShouldExclude(inputParams.ExcludeFiles, inputParams.IncludeFiles, fileInfo.Name))
                    {
                        fileList.RemoveAt(i);
                        results.FilesIgnored++;
                        i--;
                    }
                }
            }

            return fileList.ToArray();
        }