Panda3D
Public Types | Public Member Functions

ConfigVariable Class Reference

This is a generic, untyped ConfigVariable. More...

Inheritance diagram for ConfigVariable:
ConfigVariableBase ConfigFlags ConfigVariableBool ConfigVariableDouble ConfigVariableFilename ConfigVariableInt ConfigVariableInt64 ConfigVariableString

List of all members.

Public Types

enum  ValueType {
  VTUndefined = 0, VTList = 1, VTString = 2, VTFilename = 3,
  VTBool = 4, VTInt = 5, VTDouble = 6, VTEnum = 7,
  VTSearchPath = 8, VTInt64 = 9
}
enum  VariableFlags {
  FTrustLevelMask = 4095, FOpen = 4096, FClosed = 8192, FDynamic = 16384,
  FDconfig = 32768
}

Public Member Functions

 ConfigVariable (string name)
 Use this constructor to make a ConfigVariable of an unspecified type.
bool clearLocalValue ()
 Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
 clearValue ()
 Removes the value assigned to this variable, and lets its original value (as read from the prc files) show through.
bool getBoolWord (int n)
 Returns the boolean value of the nth word of the variable's value, or false if there is no nth value.
ConfigDeclaration const getDefaultValue ()
 Returns the default variable specified for this variable.
string getDescription ()
 Returns the brief description of this variable, if it has been defined.
double getDoubleWord (int n)
 Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value.
int getFlags ()
 Returns the flags value as set by set_flags().
long int getInt64Word (int n)
 Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value.
int getIntWord (int n)
 Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value.
string getName ()
 Returns the name of the variable.
int getNumWords ()
 Returns the number of words in the variable's value.
string getStringValue ()
 Returns the toplevel value of the variable, formatted as a string.
string getStringWord (int n)
 Returns the string value of the nth word of the variable's value, or empty string if there is no nth value.
int getTrustLevel ()
 Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable.
ValueType getValueType ()
 Returns the stated type of this variable.
bool hasBoolWord (int n)
 Returns true if the variable's value has a valid boolean value for the nth word.
bool hasDoubleWord (int n)
 Returns true if the variable's value has a valid integer value for the nth word.
bool hasInt64Word (int n)
 Returns true if the variable's value has a valid 64-bit integer value for the nth word.
bool hasIntWord (int n)
 Returns true if the variable's value has a valid integer value for the nth word.
bool hasLocalValue ()
 Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.
bool hasStringWord (int n)
 Returns true if the variable's value has a valid string value for the nth word.
bool hasValue ()
 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.
bool isClosed ()
 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()).
bool isDynamic ()
 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 (ostream out)
 setBoolWord (int n, bool value)
 Changes the nth word to the indicated value without affecting the other words.
 setDoubleWord (int n, double value)
 Changes the nth word to the indicated value without affecting the other words.
 setInt64Word (int n, long int value)
 Changes the nth word to the indicated value without affecting the other words.
 setIntWord (int n, int value)
 Changes the nth word to the indicated value without affecting the other words.
 setStringValue (string value)
 Changes the value assigned to this variable.
 setStringWord (int n, string value)
 Changes the nth word to the indicated value without affecting the other words.
 write (ostream out)

Detailed Description

This is a generic, untyped ConfigVariable.

It is also the base class for the typed ConfigVariables, and contains all of the code common to ConfigVariables of all types (except ConfigVariableList, which is a bit of a special case).

Mostly, this class serves as a thin wrapper around ConfigVariableCore and/or ConfigDeclaration, more or less duplicating the interface presented there.


Member Enumeration Documentation

enum ValueType [inherited]
Enumerator:
VTUndefined 
VTList 
VTString 
VTFilename 
VTBool 
VTInt 
VTDouble 
VTEnum 
VTSearchPath 
VTInt64 
enum VariableFlags [inherited]
Enumerator:
FTrustLevelMask 
FOpen 
FClosed 
FDynamic 
FDconfig 

Constructor & Destructor Documentation

ConfigVariable ( string  name)

Use this constructor to make a ConfigVariable of an unspecified type.

Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.


Member Function Documentation

bool clearLocalValue ( ) [inherited]

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.

Reimplemented in ConfigVariableSearchPath.

clearValue ( )

Removes the value assigned to this variable, and lets its original value (as read from the prc files) show through.

bool getBoolWord ( int  n)

Returns the boolean value of the nth word of the variable's value, or false if there is no nth value.

See also has_bool_word().

ConfigDeclaration const getDefaultValue ( )

Returns the default variable specified for this variable.

If the variable has not yet been defined, this will return NULL.

Reimplemented in ConfigVariableBool, ConfigVariableDouble, ConfigVariableFilename, ConfigVariableInt, ConfigVariableInt64, and ConfigVariableString.

string getDescription ( ) [inherited]

Returns the brief description of this variable, if it has been defined.

double getDoubleWord ( int  n)

Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value.

See also has_double_word().

int getFlags ( ) [inherited]

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.

long int getInt64Word ( int  n)

Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value.

See also has_int_word().

int getIntWord ( int  n)

Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value.

See also has_int_word().

string getName ( ) [inherited]

Returns the name of the variable.

int getNumWords ( )

Returns the number of words in the variable's value.

A word is defined as a sequence of non-whitespace characters delimited by whitespace.

string getStringValue ( )

Returns the toplevel value of the variable, formatted as a string.

string getStringWord ( int  n)

Returns the string value of the nth word of the variable's value, or empty string if there is no nth value.

See also has_string_word().

int getTrustLevel ( ) [inherited]

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

ValueType getValueType ( ) [inherited]

Returns the stated type of this variable.

This should be VT_list, unless a later variable declaration has changed it.

bool hasBoolWord ( int  n)

Returns true if the variable's value has a valid boolean value for the nth word.

bool hasDoubleWord ( int  n)

Returns true if the variable's value has a valid integer value for the nth word.

bool hasInt64Word ( int  n)

Returns true if the variable's value has a valid 64-bit integer value for the nth word.

bool hasIntWord ( int  n)

Returns true if the variable's value has a valid integer value for the nth word.

bool hasLocalValue ( ) [inherited]

Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

bool hasStringWord ( int  n)

Returns true if the variable's value has a valid string value for the nth word.

This is really the same thing as asking if there are at least n words in the value.

bool hasValue ( ) [inherited]

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.

bool isClosed ( ) [inherited]

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

bool isDynamic ( ) [inherited]

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 ( ostream  out) [inherited]
setBoolWord ( int  n,
bool  value 
)

Changes the nth word to the indicated value without affecting the other words.

setDoubleWord ( int  n,
double  value 
)

Changes the nth word to the indicated value without affecting the other words.

setInt64Word ( int  n,
long int  value 
)

Changes the nth word to the indicated value without affecting the other words.

setIntWord ( int  n,
int  value 
)

Changes the nth word to the indicated value without affecting the other words.

setStringValue ( string  value)

Changes the value assigned to this variable.

This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord ( int  n,
string  value 
)

Changes the nth word to the indicated value without affecting the other words.

write ( ostream  out) [inherited]
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties