Loading...
Searching...
No Matches
juce::FileSearchPath Class Reference

`#include <juce_FileSearchPath.h>`

## Public Member Functions

| FileSearchPath ()=default
| ~FileSearchPath ()=default
| FileSearchPath (const String &path)
| FileSearchPath (const FileSearchPath &)
FileSearchPath & | operator= (const FileSearchPath &)
FileSearchPath & | operator= (const String &path)
int | getNumPaths () const
File | operator[] (int index) const
String | getRawString (int index) const
String | toString () const
String | toStringWithSeparator (StringRef separator) const
void | add (const File &directoryToAdd, int insertIndex=-1)
bool | addIfNotAlreadyThere (const File &directoryToAdd)
void | remove (int indexToRemove)
void | addPath (const FileSearchPath &)
void | removeRedundantPaths ()
void | removeNonExistentPaths ()
Array< File > | findChildFiles (int whatToLookFor, bool searchRecursively, const String &wildCardPattern="*") const
int | findChildFiles (Array< File > &results, int whatToLookFor, bool searchRecursively, const String &wildCardPattern="*") const
bool | isFileInPath (const File &fileToCheck, bool checkRecursively) const

## Detailed Description

Represents a set of folders that make up a search path.

See also
  File

Definition at line 34 of file juce_FileSearchPath.h.

## Constructor & Destructor Documentation

## FileSearchPath() [1/3]

juce::FileSearchPath::FileSearchPath | ( |  | ) |

default

Creates an empty search path.

Referenced by addPath(), FileSearchPath(), operator=(), operator=(), and ~FileSearchPath().

## ~FileSearchPath()

juce::FileSearchPath::~FileSearchPath | ( |  | ) |

default

Destructor.

## FileSearchPath() [2/3]

juce::FileSearchPath::FileSearchPath | ( | const String & | path | ) |

Creates a search path from a string of pathnames.

The path can be semicolon- or comma-separated, e.g. "/foo/bar;/foo/moose;/fish/moose"

The separate folders are tokenised and added to the search path.

Definition at line 26 of file juce_FileSearchPath.cpp.

## FileSearchPath() [3/3]

juce::FileSearchPath::FileSearchPath | ( | const FileSearchPath & | other | ) |

Creates a copy of another search path.

Definition at line 31 of file juce_FileSearchPath.cpp.

## Member Function Documentation

## add()

void juce::FileSearchPath::add | ( | const File & | directoryToAdd,
|  | int | insertIndex = -1 )

Adds a new directory to the search path.

The new directory is added to the end of the list if the insertIndex parameter is less than zero, otherwise it is inserted at the given index.

Definition at line 90 of file juce_FileSearchPath.cpp.

Referenced by addIfNotAlreadyThere(), and ~FileSearchPath().

## addIfNotAlreadyThere()

bool juce::FileSearchPath::addIfNotAlreadyThere | ( | const File & | directoryToAdd | ) |

Adds a new directory to the search path if it's not already in there.

Returns
  true if the directory has been added, false otherwise.

Definition at line 95 of file juce_FileSearchPath.cpp.

Referenced by addPath(), and ~FileSearchPath().

## addPath()

void juce::FileSearchPath::addPath | ( | const FileSearchPath & | other | ) |

Merges another search path into this one. This will remove any duplicate directories.

Definition at line 110 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## findChildFiles() [1/2]

int juce::FileSearchPath::findChildFiles | ( | Array< File > & | results,
|  | int | whatToLookFor,
|  | bool | searchRecursively,
|  | const String & | wildCardPattern = "*" ) const

Searches the path for a wildcard. Note that there's a newer, better version of this method which returns the results array, and in almost all cases, you should use that one instead! This one is kept around mainly for legacy code to use.

Definition at line 158 of file juce_FileSearchPath.cpp.

## findChildFiles() [2/2]

Array< File > juce::FileSearchPath::findChildFiles | ( | int | whatToLookFor,
|  | bool | searchRecursively,
|  | const String & | wildCardPattern = "*" ) const

Searches the path for a wildcard.

This will search all the directories in the search path in order and return an array of the files that were found.

Parameters

  whatToLookFor | a value from the File::TypesOfFileToFind enum, specifying whether to return files, directories, or both.
  searchRecursively | whether to recursively search the subdirectories too
  wildCardPattern | a pattern to match against the filenames

Returns
  the number of files added to the array

See also
  File::findChildFiles

Definition at line 151 of file juce_FileSearchPath.cpp.

Referenced by findChildFiles(), and ~FileSearchPath().

## getNumPaths()

int juce::FileSearchPath::getNumPaths | ( |  | ) | const

Returns the number of folders in this search path.

See also
  operator[]

Definition at line 59 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## getRawString()

String juce::FileSearchPath::getRawString | ( | int | index | ) | const

Returns the unaltered text of the folder at the specified index.

Unlike operator[], this function returns the exact text that was entered. It does not attempt to convert the path into an absolute path.

This may be useful if the directory string is expected to understand environment variables or other placeholders that the File constructor doesn't necessarily understand.

See also
  operator[]

Definition at line 69 of file juce_FileSearchPath.cpp.

Referenced by operator[](), and ~FileSearchPath().

## isFileInPath()

bool juce::FileSearchPath::isFileInPath | ( | const File & | fileToCheck,
|  | bool | checkRecursively ) const

Finds out whether a file is inside one of the path's directories.

This will return true if the specified file is a child of one of the directories specified by this path. Note that this doesn't actually do any searching or check that the files exist - it just looks at the pathnames to work out whether the file would be inside a directory.

Parameters

  fileToCheck | the file to look for
  checkRecursively | if true, then this will return true if the file is inside a subfolder of one of the path's directories (at any depth). If false it will only return true if the file is actually a direct child of one of the directories.

See also
  File::isAChildOf

Definition at line 169 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## operator=() [1/2]

FileSearchPath & juce::FileSearchPath::operator= | ( | const FileSearchPath & | other | ) |

Copies another search path.

Definition at line 36 of file juce_FileSearchPath.cpp.

## operator=() [2/2]

FileSearchPath & juce::FileSearchPath::operator= | ( | const String & | path | ) |

Uses a string containing a list of pathnames to re-initialise this list.

This search path is cleared and the semicolon- or comma-separated folders in this string are added instead. e.g. "/foo/bar;/foo/moose;/fish/moose"

Definition at line 42 of file juce_FileSearchPath.cpp.

## operator[]()

File juce::FileSearchPath::operator[] | ( | int | index | ) | const

Returns one of the folders in this search path. The file returned isn't guaranteed to actually be a valid directory.

See also
  getNumPaths, getRawString

Definition at line 64 of file juce_FileSearchPath.cpp.

## remove()

void juce::FileSearchPath::remove | ( | int | indexToRemove | ) |

Removes a directory from the search path.

Definition at line 105 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## removeNonExistentPaths()

void juce::FileSearchPath::removeNonExistentPaths | ( |  | ) |

Removes any directories that don't actually exist.

Definition at line 144 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## removeRedundantPaths()

void juce::FileSearchPath::removeRedundantPaths | ( |  | ) |

Removes any directories that are actually subdirectories of one of the other directories in the search path.

If the search is intended to be recursive, there's no point having nested folders in the search path, because they'll just get searched twice and you'll get duplicate results.

e.g. if the path is "c:\abc\de;c:\abc", this method will simplify it to "c:\abc"

Definition at line 116 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## toString()

String juce::FileSearchPath::toString | ( |  | ) | const

Returns the search path as a semicolon-separated list of directories.

Definition at line 74 of file juce_FileSearchPath.cpp.

Referenced by ~FileSearchPath().

## toStringWithSeparator()

String juce::FileSearchPath::toStringWithSeparator | ( | StringRef | separator | ) | const

Returns the search paths, joined with the provided separator.

Definition at line 79 of file juce_FileSearchPath.cpp.

Referenced by toString(), and ~FileSearchPath().

The documentation for this class was generated from the following files:

- juce_FileSearchPath.h
- juce_FileSearchPath.cpp