Panda3D
Public Member Functions | List of all members
ConfigVariableSearchPath Class Reference

This is similar to a ConfigVariableList, but it returns its list as a DSearchPath, as a list of directories. More...

#include "configVariableSearchPath.h"

Inheritance diagram for ConfigVariableSearchPath:
ConfigVariableBase ConfigFlags

Public Member Functions

 ConfigVariableSearchPath (const string &name, const string &description=string(), int flags=0)
 
 ConfigVariableSearchPath (const string &name, const DSearchPath &default_value, const string &description, int flags=0)
 
 ConfigVariableSearchPath (const string &name, const string &default_value, const string &description, int flags=0)
 
void append_directory (const Filename &directory)
 Adds a new directory to the end of the search list. More...
 
void append_path (const string &path, const string &separator=string())
 Adds all of the directories listed in the search path to the end of the search list. More...
 
void append_path (const DSearchPath &path)
 Adds all of the directories listed in the search path to the end of the search list. More...
 
void clear ()
 Removes all the directories locally added to the search list, and restores it to its original form. More...
 
bool clear_local_value ()
 Removes all the directories locally added to the search list, and restores it to its original form. More...
 
int find_all_files (const Filename &filename, DSearchPath::Results &results) const
 Searches all the directories in the search list for the indicated file, in order. More...
 
DSearchPath::Results find_all_files (const Filename &filename) const
 This variant of find_all_files() returns the new Results object, instead of filling on in on the parameter list. More...
 
Filename find_file (const Filename &filename) const
 Searches all the directories in the search list for the indicated file, in order. More...
 
const DSearchPathget_default_value () const
 
const Filenameget_directory (int n) const
 Returns the nth directory on the search list. More...
 
int get_num_directories () const
 Returns the number of directories on the search list. More...
 
const DSearchPathget_value () const
 
bool is_empty () const
 Returns true if the search list is empty, false otherwise. More...
 
 MAKE_SEQ (get_directories, get_num_directories, get_directory)
 
 operator const DSearchPath & () const
 Returns the variable's value. More...
 
void output (ostream &out) const
 
void prepend_directory (const Filename &directory)
 Adds a new directory to the front of the search list. More...
 
void prepend_path (const DSearchPath &path)
 Adds all of the directories listed in the search path to the beginning of the search list. More...
 
void write (ostream &out) const
 
- Public Member Functions inherited from ConfigVariableBase
bool clear_local_value ()
 Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files. More...
 
const string & get_description () const
 Returns the brief description of this variable, if it has been defined. More...
 
int get_flags () const
 Returns the flags value as set by set_flags(). More...
 
const string & get_name () const
 Returns the name of the variable. More...
 
int get_trust_level () const
 Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. More...
 
ValueType get_value_type () const
 Returns the stated type of this variable. More...
 
bool has_local_value () const
 Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise. More...
 
bool has_value () const
 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. More...
 
bool is_closed () const
 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()). More...
 
bool is_dynamic () const
 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. More...
 
void output (ostream &out) const
 
void write (ostream &out) const
 

Additional Inherited Members

- Public Types inherited from ConfigFlags
enum  ValueType {
  VT_undefined, VT_list, VT_string, VT_filename,
  VT_bool, VT_int, VT_double, VT_enum,
  VT_search_path, VT_int64, VT_color
}
 
enum  VariableFlags {
  F_trust_level_mask = 0x00000fff, F_open = 0x00001000, F_closed = 0x00002000, F_dynamic = 0x00004000,
  F_dconfig = 0x00008000
}
 

Detailed 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.

Definition at line 42 of file configVariableSearchPath.h.

Member Function Documentation

◆ append_directory()

void ConfigVariableSearchPath::append_directory ( const Filename directory)
inline

Adds a new directory to the end of the search list.

Definition at line 175 of file configVariableSearchPath.I.

References DSearchPath::append_directory(), and prepend_directory().

Referenced by clear().

◆ append_path() [1/2]

void ConfigVariableSearchPath::append_path ( const string &  path,
const string &  separator = string() 
)
inline

Adds all of the directories listed in the search path to the end of the search list.

Definition at line 198 of file configVariableSearchPath.I.

References DSearchPath::append_path().

Referenced by prepend_directory().

◆ append_path() [2/2]

void ConfigVariableSearchPath::append_path ( const DSearchPath path)
inline

Adds all of the directories listed in the search path to the end of the search list.

Definition at line 210 of file configVariableSearchPath.I.

References DSearchPath::append_path(), and prepend_path().

◆ clear()

void ConfigVariableSearchPath::clear ( )
inline

Removes all the directories locally added to the search list, and restores it to its original form.

Definition at line 165 of file configVariableSearchPath.I.

References append_directory(), and clear_local_value().

Referenced by clear_local_value().

◆ clear_local_value()

bool ConfigVariableSearchPath::clear_local_value ( )
inline

Removes all the directories locally added to the search list, and restores it to its original form.

Definition at line 143 of file configVariableSearchPath.I.

References clear(), DSearchPath::clear(), and DSearchPath::is_empty().

Referenced by clear(), and operator const DSearchPath &().

◆ find_all_files() [1/2]

int ConfigVariableSearchPath::find_all_files ( const Filename filename,
DSearchPath::Results results 
) const
inline

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.

Definition at line 284 of file configVariableSearchPath.I.

References DSearchPath::find_all_files().

Referenced by find_file().

◆ find_all_files() [2/2]

DSearchPath::Results ConfigVariableSearchPath::find_all_files ( const Filename filename) const
inline

This variant of find_all_files() returns the new Results object, instead of filling on in on the parameter list.

This is a little more convenient to call from Python.

Definition at line 298 of file configVariableSearchPath.I.

References DSearchPath::find_all_files().

◆ find_file()

Filename ConfigVariableSearchPath::find_file ( const Filename filename) const
inline

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.

Definition at line 267 of file configVariableSearchPath.I.

References find_all_files(), and DSearchPath::find_file().

Referenced by get_directory().

◆ get_directory()

const Filename & ConfigVariableSearchPath::get_directory ( int  n) const
inline

Returns the nth directory on the search list.

Definition at line 254 of file configVariableSearchPath.I.

References find_file(), and DSearchPath::get_directory().

Referenced by get_num_directories().

◆ get_num_directories()

int ConfigVariableSearchPath::get_num_directories ( ) const
inline

Returns the number of directories on the search list.

Definition at line 244 of file configVariableSearchPath.I.

References get_directory(), and DSearchPath::get_num_directories().

Referenced by is_empty().

◆ is_empty()

bool ConfigVariableSearchPath::is_empty ( ) const
inline

Returns true if the search list is empty, false otherwise.

Definition at line 234 of file configVariableSearchPath.I.

References get_num_directories(), and DSearchPath::is_empty().

Referenced by prepend_path().

◆ operator const DSearchPath &()

ConfigVariableSearchPath::operator const DSearchPath & ( ) const
inline

Returns the variable's value.

Definition at line 108 of file configVariableSearchPath.I.

References clear_local_value().

◆ prepend_directory()

void ConfigVariableSearchPath::prepend_directory ( const Filename directory)
inline

Adds a new directory to the front of the search list.

Definition at line 186 of file configVariableSearchPath.I.

References append_path(), and DSearchPath::prepend_directory().

Referenced by SomethingToEgg::add_merge_externals_options(), and append_directory().

◆ prepend_path()

void ConfigVariableSearchPath::prepend_path ( const DSearchPath path)
inline

Adds all of the directories listed in the search path to the beginning of the search list.

Definition at line 222 of file configVariableSearchPath.I.

References is_empty(), and DSearchPath::prepend_path().

Referenced by append_path().


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