Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

InterrogateComponent Class Reference

The base class for things that are part of the interrogate database. More...

#include <interrogateComponent.h>

Inheritance diagram for InterrogateComponent:

InterrogateElement InterrogateFunction InterrogateFunctionWrapper InterrogateManifest InterrogateType List of all members.

Public Member Functions

 InterrogateComponent (InterrogateModuleDef *def=NULL)
 InterrogateComponent (const InterrogateComponent &copy)
void operator= (const InterrogateComponent &copy)
bool has_library_name () const
 Returns true if we have a known library name, false if we do not.

const char * get_library_name () const
 Returns the library name, if it is known, or NULL if it is not.

bool has_module_name () const
 Returns true if we have a known module name, false if we do not.

const char * get_module_name () const
 Returns the module name, if it is known, or NULL if it is not.

bool has_name () const
const string & get_name () const
void output (ostream &out) const
 Formats the component for output to a data file.

void input (istream &in)
 Reads the data file as previously formatted by output().


Private Attributes

InterrogateModuleDef_def
string _name

Friends

class InterrogateBuilder
class FunctionRemap

Detailed Description

The base class for things that are part of the interrogate database.

This includes types, functions, and function wrappers.

Definition at line 45 of file interrogateComponent.h.


Constructor & Destructor Documentation

InterrogateComponent::InterrogateComponent InterrogateModuleDef def = NULL  )  [inline]
 

Definition at line 31 of file interrogateComponent.I.

References INLINE.

InterrogateComponent::InterrogateComponent const InterrogateComponent &  copy  )  [inline]
 

Definition at line 44 of file interrogateComponent.I.

References _def, _name, and INLINE.


Member Function Documentation

const char * InterrogateComponent::get_library_name  )  const [inline]
 

Returns the library name, if it is known, or NULL if it is not.

This is the name of the library that this particular component was built into. Typically this will be a one-to-one correspondance with an invocation of the interrogate command. Typical examples are "libutil" and "liblinmath".

Definition at line 98 of file interrogateComponent.I.

References _def, INLINE, InterrogateModuleDef::module_name, and NULL.

Referenced by operator=().

const char * InterrogateComponent::get_module_name  )  const [inline]
 

Returns the module name, if it is known, or NULL if it is not.

This is the name of the module that this particular component is associated with. This is a higher grouping than library. Typical examples are "panda" and "pandaegg".

Definition at line 138 of file interrogateComponent.I.

Referenced by interrogate_function_has_module_name(), and interrogate_type_has_module_name().

const string & InterrogateComponent::get_name  )  const [inline]
 

Definition at line 165 of file interrogateComponent.I.

Referenced by interrogate_function_python_wrapper(), interrogate_get_function(), interrogate_get_manifest_by_name(), interrogate_get_type_by_true_name(), and interrogate_manifest_get_int_value().

bool InterrogateComponent::has_library_name  )  const [inline]
 

Returns true if we have a known library name, false if we do not.

See get_library_name().

Definition at line 74 of file interrogateComponent.I.

References _def, INLINE, InterrogateModuleDef::library_name, and NULL.

bool InterrogateComponent::has_module_name  )  const [inline]
 

Returns true if we have a known module name, false if we do not.

See get_module_name().

Definition at line 116 of file interrogateComponent.I.

References _name, and INLINE.

Referenced by interrogate_function_class(), and interrogate_type_comment().

bool InterrogateComponent::has_name  )  const [inline]
 

Definition at line 153 of file interrogateComponent.I.

void InterrogateComponent::input istream &  in  ) 
 

Reads the data file as previously formatted by output().

Reimplemented in InterrogateElement, InterrogateFunction, InterrogateFunctionWrapper, InterrogateManifest, and InterrogateType.

Definition at line 50 of file interrogateComponent.cxx.

Referenced by InterrogateType::output(), and InterrogateFunctionWrapper::output().

void InterrogateComponent::operator= const InterrogateComponent &  copy  )  [inline]
 

Definition at line 58 of file interrogateComponent.I.

References get_library_name(), INLINE, and NULL.

Referenced by InterrogateType::EnumValue::input(), InterrogateElement::InterrogateElement(), InterrogateFunctionWrapper::InterrogateFunctionWrapper(), and InterrogateManifest::InterrogateManifest().

void InterrogateComponent::output ostream &  out  )  const
 

Formats the component for output to a data file.

Reimplemented in InterrogateElement, InterrogateFunction, InterrogateFunctionWrapper, InterrogateManifest, and InterrogateType.

Definition at line 35 of file interrogateComponent.cxx.

References _name, and idf_input_string().

Referenced by InterrogateFunctionWrapper::Parameter::input(), and InterrogateType::merge_with().


Friends And Related Function Documentation

friend class FunctionRemap [friend]
 

Reimplemented in InterrogateFunction, and InterrogateFunctionWrapper.

Definition at line 68 of file interrogateComponent.h.

friend class InterrogateBuilder [friend]
 

Reimplemented in InterrogateElement, InterrogateFunction, InterrogateFunctionWrapper, InterrogateManifest, and InterrogateType.

Definition at line 67 of file interrogateComponent.h.


Member Data Documentation

InterrogateModuleDef* InterrogateComponent::_def [private]
 

Definition at line 64 of file interrogateComponent.h.

Referenced by get_library_name(), has_library_name(), and InterrogateComponent().

string InterrogateComponent::_name [private]
 

Definition at line 65 of file interrogateComponent.h.

Referenced by has_module_name(), InterrogateComponent(), and output().


The documentation for this class was generated from the following files:
Generated on Thu May 1 22:13:36 2003 for DTool by doxygen1.3