# ConfigVariableSearchPath

from pandac.PandaModules import ConfigVariableSearchPath

Class : ConfigVariableSearchPath
Description : This is similar to a ConfigVariableList, but it returns its list as a DSearchPath, as a list of directories.
You may locally append directories to the end of the search path with the methods here, or prepend them to the beginning. Use these methods to make adjustments to the path; do not attempt to directly modify the const DSearchPath object returned by get_value().
Unlike other ConfigVariable types, local changes (made by calling append_directory() and prepend_directory()) are specific to this particular instance of the ConfigVariableSearchPath. A separate instance of the same variable, created by using the same name to the constructor, will not reflect the local changes.

## Inheritance:

ConfigVariableSearchPath: ConfigVariableBase
ConfigVariableBase: ConfigFlags
ConfigFlags:

## Methods of ConfigVariableSearchPath:

ConfigVariableSearchPath (Constructor)
appendDirectory
appendPath
clear
clearLocalValue
findAllFiles
findFile
getDefaultValue
getDirectory
getNumDirectories
getValue
isEmpty
output
prependDirectory
prependPath
write

## Methods of ConfigVariableBase:

clearLocalValue
getDescription
getFlags
getName
getTrustLevel
getValueType
hasLocalValue
hasValue
isClosed
isDynamic
output
write

## Constants in ConfigFlags:

VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)

ConfigVariableSearchPath ConfigVariableSearchPath::ConfigVariableSearchPath(string const &name, string const &description = ((string())), int flags = (0)); Description:

appendDirectory void ConfigVariableSearchPath::append_directory(Filename const &directory); Description: Adds a new directory to the end of the search list.

appendPath void ConfigVariableSearchPath::append_path(string const &path, string const &separator = ((string()))); Description: Adds all of the directories listed in the search path to the end of the search list.

clear void ConfigVariableSearchPath::clear(void); Description: Removes all the directories locally added to the search list, and restores it to its original form.

clearLocalValue bool ConfigVariableSearchPath::clear_local_value(void); Description: Removes all the directories locally added to the search list, and restores it to its original form.

findAllFiles int ConfigVariableSearchPath::find_all_files(Filename const &filename, DSearchPath::Results &results) const; Description: Searches all the directories in the search list for the indicated file, in order. Fills up the results list with *all* of the matching filenames found, if any. Returns the number of matches found. It is the responsibility of the the caller to clear the results list first; otherwise, the newly-found files will be appended to the list.

findFile Filename ConfigVariableSearchPath::find_file(Filename const &filename) const; Description: Searches all the directories in the search list for the indicated file, in order. Returns the full matching pathname of the first match if found, or the empty string if not found.

getDefaultValue DSearchPath const &ConfigVariableSearchPath::get_default_value(void) const; Description:

getDirectory Filename const &ConfigVariableSearchPath::get_directory(int n) const; Description: Returns the nth directory on the search list.

getNumDirectories int ConfigVariableSearchPath::get_num_directories(void) const; Description: Returns the number of directories on the search list.

getValue DSearchPath const &ConfigVariableSearchPath::get_value(void) const; Description:

isEmpty bool ConfigVariableSearchPath::is_empty(void) const; Description: Returns true if the search list is empty, false otherwise.

output void ConfigVariableSearchPath::output(ostream &out) const; Description:

prependDirectory void ConfigVariableSearchPath::prepend_directory(Filename const &directory); Description: Adds a new directory to the front of the search list.

prependPath void ConfigVariableSearchPath::prepend_path(DSearchPath const &path); Description: Adds all of the directories listed in the search path to the beginning of the search list.

write void ConfigVariableSearchPath::write(ostream &out) const; Description:

clearLocalValue bool ConfigVariableBase::clear_local_value(void); Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files. Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription string const &ConfigVariableBase::get_description(void) const; Description: Returns the brief description of this variable, if it has been defined.

getFlags int ConfigVariableBase::get_flags(void) const; Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName string const &ConfigVariableBase::get_name(void) const; Description: Returns the name of the variable.

getTrustLevel int ConfigVariableBase::get_trust_level(void) const; Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted. This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const; Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue bool ConfigVariableBase::has_local_value(void) const; Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue bool ConfigVariableBase::has_value(void) const; Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed bool ConfigVariableBase::is_closed(void) const; Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()). This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic bool ConfigVariableBase::is_dynamic(void) const; Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output void ConfigVariableBase::output(ostream &out) const; Description:

write void ConfigVariableBase::write(ostream &out) const; Description: