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

InterrogateDatabase Class Reference

#include <interrogateDatabase.h>

List of all members.

Public Member Functions

void request_module (InterrogateModuleDef *def)
int get_num_global_types ()
TypeIndex get_global_type (int n)
int get_num_all_types ()
TypeIndex get_all_type (int n)
int get_num_global_functions ()
FunctionIndex get_global_function (int n)
int get_num_all_functions ()
FunctionIndex get_all_function (int n)
int get_num_global_manifests ()
ManifestIndex get_global_manifest (int n)
int get_num_global_elements ()
ElementIndex get_global_element (int n)
const InterrogateTypeget_type (TypeIndex type)
const InterrogateFunctionget_function (FunctionIndex function)
const InterrogateFunctionWrapperget_wrapper (FunctionWrapperIndex wrapper)
const InterrogateManifestget_manifest (ManifestIndex manifest)
const InterrogateElementget_element (ElementIndex element)
INLINE TypeIndex lookup_type_by_name (const string &name)
INLINE TypeIndex lookup_type_by_scoped_name (const string &name)
INLINE TypeIndex lookup_type_by_true_name (const string &name)
INLINE ManifestIndex lookup_manifest_by_name (const string &name)
INLINE ElementIndex lookup_element_by_name (const string &name)
INLINE ElementIndex lookup_element_by_scoped_name (const string &name)
void remove_type (TypeIndex type)
voidget_fptr (FunctionWrapperIndex wrapper)
FunctionWrapperIndex get_wrapper_by_unique_name (const string &unique_name)
int get_next_index ()
void add_type (TypeIndex index, const InterrogateType &type)
void add_function (FunctionIndex index, InterrogateFunction *function)
void add_wrapper (FunctionWrapperIndex index, const InterrogateFunctionWrapper &wrapper)
void add_manifest (ManifestIndex index, const InterrogateManifest &manifest)
void add_element (ElementIndex index, const InterrogateElement &element)
InterrogateTypeupdate_type (TypeIndex type)
InterrogateFunctionupdate_function (FunctionIndex function)
InterrogateFunctionWrapperupdate_wrapper (FunctionWrapperIndex wrapper)
InterrogateManifestupdate_manifest (ManifestIndex manifest)
InterrogateElementupdate_element (ElementIndex element)
int remap_indices (int first_index)
int remap_indices (int first_index, IndexRemapper &remap)
void write (ostream &out, InterrogateModuleDef *def) const
bool read (istream &in, InterrogateModuleDef *def)

Static Public Member Functions

InterrogateDatabase * get_ptr ()
int get_file_major_version ()
int get_file_minor_version ()
int get_current_major_version ()
int get_current_minor_version ()

Private Types

typedef map< TypeIndex, InterrogateTypeTypeMap
typedef map< FunctionIndex,
InterrogateFunction * > 
FunctionMap
typedef map< FunctionWrapperIndex,
InterrogateFunctionWrapper
FunctionWrapperMap
typedef map< ManifestIndex,
InterrogateManifest
ManifestMap
typedef map< ElementIndex,
InterrogateElement
ElementMap
typedef vector< TypeIndexGlobalTypes
typedef vector< FunctionIndexGlobalFunctions
typedef vector< ManifestIndexGlobalManifests
typedef vector< ElementIndexGlobalElements
typedef vector< InterrogateModuleDef * > Modules
typedef map< string, InterrogateModuleDef * > ModulesByHash
typedef vector< InterrogateModuleDef * > Requests
typedef map< string, intLookup
enum  LookupType {
  LT_type_name = 0x001, LT_type_scoped_name = 0x002, LT_type_true_name = 0x004, LT_manifest_name = 0x008,
  LT_element_name = 0x010, LT_element_scoped_name = 0x020
}

Private Member Functions

 InterrogateDatabase ()
INLINE void check_latest ()
void load_latest ()
bool read_new (istream &in, InterrogateModuleDef *def)
void merge_from (const InterrogateDatabase &other)
bool find_module (FunctionWrapperIndex wrapper, InterrogateModuleDef *&def, int &module_index)
int binary_search_module (int begin, int end, FunctionIndex function)
int binary_search_wrapper_hash (InterrogateUniqueNameDef *begin, InterrogateUniqueNameDef *end, const string &wrapper_hash_name)
void freshen_types_by_name ()
void freshen_types_by_scoped_name ()
void freshen_types_by_true_name ()
void freshen_manifests_by_name ()
void freshen_elements_by_name ()
void freshen_elements_by_scoped_name ()
int lookup (const string &name, Lookup &lookup, LookupType type, void(InterrogateDatabase::*freshen)())

Private Attributes

TypeMap _type_map
FunctionMap _function_map
FunctionWrapperMap _wrapper_map
ManifestMap _manifest_map
ElementMap _element_map
GlobalTypes _global_types
GlobalTypes _all_types
GlobalFunctions _global_functions
GlobalFunctions _all_functions
GlobalManifests _global_manifests
GlobalElements _global_elements
Modules _modules
ModulesByHash _modules_by_hash
Requests _requests
int _next_index
int _lookups_fresh
Lookup _types_by_name
Lookup _types_by_scoped_name
Lookup _types_by_true_name
Lookup _manifests_by_name
Lookup _elements_by_name
Lookup _elements_by_scoped_name

Static Private Attributes

InterrogateDatabase * _global_ptr = NULL
int _file_major_version = 0
int _file_minor_version = 0
int _current_major_version = 2
int _current_minor_version = 2


Member Typedef Documentation

typedef map<ElementIndex, InterrogateElement> InterrogateDatabase::ElementMap [private]
 

Definition at line 134 of file interrogateDatabase.h.

typedef map<FunctionIndex, InterrogateFunction *> InterrogateDatabase::FunctionMap [private]
 

Definition at line 127 of file interrogateDatabase.h.

typedef map<FunctionWrapperIndex, InterrogateFunctionWrapper> InterrogateDatabase::FunctionWrapperMap [private]
 

Definition at line 129 of file interrogateDatabase.h.

typedef vector<ElementIndex> InterrogateDatabase::GlobalElements [private]
 

Definition at line 145 of file interrogateDatabase.h.

typedef vector<FunctionIndex> InterrogateDatabase::GlobalFunctions [private]
 

Definition at line 140 of file interrogateDatabase.h.

typedef vector<ManifestIndex> InterrogateDatabase::GlobalManifests [private]
 

Definition at line 143 of file interrogateDatabase.h.

typedef vector<TypeIndex> InterrogateDatabase::GlobalTypes [private]
 

Definition at line 137 of file interrogateDatabase.h.

typedef map<string, int> InterrogateDatabase::Lookup [private]
 

Definition at line 172 of file interrogateDatabase.h.

typedef map<ManifestIndex, InterrogateManifest> InterrogateDatabase::ManifestMap [private]
 

Definition at line 132 of file interrogateDatabase.h.

typedef vector<InterrogateModuleDef *> InterrogateDatabase::Modules [private]
 

Definition at line 150 of file interrogateDatabase.h.

typedef map<string, InterrogateModuleDef *> InterrogateDatabase::ModulesByHash [private]
 

Definition at line 152 of file interrogateDatabase.h.

typedef vector<InterrogateModuleDef *> InterrogateDatabase::Requests [private]
 

Definition at line 157 of file interrogateDatabase.h.

typedef map<TypeIndex, InterrogateType> InterrogateDatabase::TypeMap [private]
 

Definition at line 125 of file interrogateDatabase.h.


Member Enumeration Documentation

enum InterrogateDatabase::LookupType [private]
 

Enumeration values:
LT_type_name 
LT_type_scoped_name 
LT_type_true_name 
LT_manifest_name 
LT_element_name 
LT_element_scoped_name 

Definition at line 162 of file interrogateDatabase.h.


Constructor & Destructor Documentation

InterrogateDatabase::InterrogateDatabase  )  [private]
 

Definition at line 36 of file interrogateDatabase.cxx.

References _lookups_fresh, and _next_index.


Member Function Documentation

void InterrogateDatabase::add_element ElementIndex  index,
const InterrogateElement element
 

Definition at line 579 of file interrogateDatabase.cxx.

References _element_map, _global_elements, assert, index, and InterrogateElement::is_global().

Referenced by merge_from(), read_new(), and InterrogateBuilder::scan_element().

void InterrogateDatabase::add_function FunctionIndex  index,
InterrogateFunction function
 

Definition at line 532 of file interrogateDatabase.cxx.

References _all_functions, _function_map, _global_functions, assert, index, and InterrogateFunction::is_global().

Referenced by InterrogateBuilder::get_function(), merge_from(), and read_new().

void InterrogateDatabase::add_manifest ManifestIndex  index,
const InterrogateManifest manifest
 

Definition at line 564 of file interrogateDatabase.cxx.

References _global_manifests, _manifest_map, assert, and index.

Referenced by merge_from(), read_new(), and InterrogateBuilder::scan_manifest().

void InterrogateDatabase::add_type TypeIndex  index,
const InterrogateType type
 

Definition at line 503 of file interrogateDatabase.cxx.

References _all_types, _global_types, _type_map, assert, index, InterrogateType::is_fully_defined(), InterrogateType::merge_with(), and type.

Referenced by InterrogateBuilder::get_atomic_string_type(), InterrogateBuilder::get_type(), merge_from(), and read_new().

void InterrogateDatabase::add_wrapper FunctionWrapperIndex  index,
const InterrogateFunctionWrapper wrapper
 

Definition at line 550 of file interrogateDatabase.cxx.

References _wrapper_map, assert, and index.

Referenced by FunctionRemap::make_wrapper_entry(), merge_from(), and read_new().

int InterrogateDatabase::binary_search_module int  begin,
int  end,
FunctionIndex  function
[private]
 

Definition at line 1201 of file interrogateDatabase.cxx.

References _modules, end, and index.

Referenced by find_module().

int InterrogateDatabase::binary_search_wrapper_hash InterrogateUniqueNameDef begin,
InterrogateUniqueNameDef end,
const string &  wrapper_hash_name
[private]
 

Definition at line 1224 of file interrogateDatabase.cxx.

References end, InterrogateUniqueNameDef::index_offset, and InterrogateUniqueNameDef::name.

Referenced by get_wrapper_by_unique_name().

INLINE void InterrogateDatabase::check_latest  )  [private]
 

Referenced by get_all_function(), get_all_type(), get_element(), get_function(), get_global_element(), get_global_function(), get_global_manifest(), get_global_type(), get_manifest(), get_num_all_functions(), get_num_all_types(), get_num_global_elements(), get_num_global_functions(), get_num_global_manifests(), get_num_global_types(), get_type(), get_wrapper(), update_element(), update_function(), update_manifest(), update_type(), and update_wrapper().

bool InterrogateDatabase::find_module FunctionWrapperIndex  wrapper,
InterrogateModuleDef *&  def,
int module_index
[private]
 

Definition at line 1180 of file interrogateDatabase.cxx.

References _modules, assert, binary_search_module(), InterrogateModuleDef::first_index, and InterrogateModuleDef::next_index.

Referenced by get_fptr().

void InterrogateDatabase::freshen_elements_by_name  )  [private]
 

Definition at line 1306 of file interrogateDatabase.cxx.

References _element_map, and _elements_by_name.

void InterrogateDatabase::freshen_elements_by_scoped_name  )  [private]
 

Definition at line 1320 of file interrogateDatabase.cxx.

References _element_map, and _elements_by_scoped_name.

void InterrogateDatabase::freshen_manifests_by_name  )  [private]
 

Definition at line 1292 of file interrogateDatabase.cxx.

References _manifest_map, and _manifests_by_name.

void InterrogateDatabase::freshen_types_by_name  )  [private]
 

Definition at line 1250 of file interrogateDatabase.cxx.

References _type_map, and _types_by_name.

void InterrogateDatabase::freshen_types_by_scoped_name  )  [private]
 

Definition at line 1264 of file interrogateDatabase.cxx.

References _type_map, and _types_by_scoped_name.

void InterrogateDatabase::freshen_types_by_true_name  )  [private]
 

Definition at line 1278 of file interrogateDatabase.cxx.

References _type_map, and _types_by_true_name.

FunctionIndex InterrogateDatabase::get_all_function int  n  ) 
 

Definition at line 215 of file interrogateDatabase.cxx.

References _all_functions, check_latest(), and n.

Referenced by interrogate_get_function().

TypeIndex InterrogateDatabase::get_all_type int  n  ) 
 

Definition at line 157 of file interrogateDatabase.cxx.

References _all_types, check_latest(), and n.

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_get_type().

int InterrogateDatabase::get_current_major_version  )  [static]
 

Definition at line 468 of file interrogateDatabase.cxx.

References _current_major_version.

int InterrogateDatabase::get_current_minor_version  )  [static]
 

Definition at line 480 of file interrogateDatabase.cxx.

References _current_minor_version.

const InterrogateElement & InterrogateDatabase::get_element ElementIndex  element  ) 
 

Definition at line 360 of file interrogateDatabase.cxx.

References _element_map, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), interrogate_element_getter(), interrogate_element_has_getter(), interrogate_element_has_setter(), interrogate_element_name(), interrogate_element_scoped_name(), interrogate_element_setter(), interrogate_element_type(), and InterfaceMaker::record_object().

int InterrogateDatabase::get_file_major_version  )  [static]
 

Definition at line 445 of file interrogateDatabase.cxx.

References _file_major_version.

int InterrogateDatabase::get_file_minor_version  )  [static]
 

Definition at line 456 of file interrogateDatabase.cxx.

References _file_minor_version.

Referenced by InterrogateFunction::input().

void * InterrogateDatabase::get_fptr FunctionWrapperIndex  wrapper  ) 
 

Definition at line 391 of file interrogateDatabase.cxx.

References find_module(), InterrogateModuleDef::fptrs, NULL, and InterrogateModuleDef::num_fptrs.

Referenced by interrogate_wrapper_has_pointer(), and interrogate_wrapper_pointer().

const InterrogateFunction & InterrogateDatabase::get_function FunctionIndex  function  ) 
 

Definition at line 303 of file interrogateDatabase.cxx.

References _function_map, and check_latest().

Referenced by interrogate_function_c_wrapper(), interrogate_function_class(), interrogate_function_comment(), interrogate_function_has_comment(), interrogate_function_has_module_name(), interrogate_function_is_method(), interrogate_function_is_virtual(), interrogate_function_module_name(), interrogate_function_name(), interrogate_function_number_of_c_wrappers(), interrogate_function_number_of_python_wrappers(), interrogate_function_prototype(), interrogate_function_python_wrapper(), interrogate_function_scoped_name(), and InterfaceMaker::record_function().

ElementIndex InterrogateDatabase::get_global_element int  n  ) 
 

Definition at line 269 of file interrogateDatabase.cxx.

References _global_elements, check_latest(), and n.

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_get_global().

FunctionIndex InterrogateDatabase::get_global_function int  n  ) 
 

Definition at line 186 of file interrogateDatabase.cxx.

References _global_functions, check_latest(), and n.

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_get_global_function().

ManifestIndex InterrogateDatabase::get_global_manifest int  n  ) 
 

Definition at line 242 of file interrogateDatabase.cxx.

References _global_manifests, check_latest(), and n.

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_get_manifest().

TypeIndex InterrogateDatabase::get_global_type int  n  ) 
 

Definition at line 128 of file interrogateDatabase.cxx.

References _global_types, check_latest(), and n.

Referenced by interrogate_get_global_type().

const InterrogateManifest & InterrogateDatabase::get_manifest ManifestIndex  manifest  ) 
 

Definition at line 341 of file interrogateDatabase.cxx.

References _manifest_map, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), interrogate_manifest_definition(), interrogate_manifest_get_int_value(), interrogate_manifest_get_type(), interrogate_manifest_getter(), interrogate_manifest_has_getter(), interrogate_manifest_has_int_value(), interrogate_manifest_has_type(), and interrogate_manifest_name().

int InterrogateDatabase::get_next_index  ) 
 

Definition at line 492 of file interrogateDatabase.cxx.

References _next_index.

Referenced by InterrogateBuilder::get_atomic_string_type(), InterrogateBuilder::get_function(), InterrogateBuilder::get_type(), FunctionRemap::make_wrapper_entry(), InterrogateBuilder::scan_element(), InterrogateBuilder::scan_manifest(), and InterrogateBuilder::write_code().

int InterrogateDatabase::get_num_all_functions  ) 
 

Definition at line 203 of file interrogateDatabase.cxx.

References _all_functions, and check_latest().

Referenced by interrogate_number_of_functions().

int InterrogateDatabase::get_num_all_types  ) 
 

Definition at line 145 of file interrogateDatabase.cxx.

References _all_types, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_number_of_types().

int InterrogateDatabase::get_num_global_elements  ) 
 

Definition at line 257 of file interrogateDatabase.cxx.

References _global_elements, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_number_of_globals().

int InterrogateDatabase::get_num_global_functions  ) 
 

Definition at line 174 of file interrogateDatabase.cxx.

References _global_functions, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_number_of_global_functions().

int InterrogateDatabase::get_num_global_manifests  ) 
 

Definition at line 230 of file interrogateDatabase.cxx.

References _global_manifests, and check_latest().

Referenced by InterfaceMaker::generate_wrappers(), and interrogate_number_of_manifests().

int InterrogateDatabase::get_num_global_types  ) 
 

Definition at line 116 of file interrogateDatabase.cxx.

References _global_types, and check_latest().

Referenced by interrogate_number_of_global_types().

InterrogateDatabase * InterrogateDatabase::get_ptr  )  [static]
 

Definition at line 48 of file interrogateDatabase.cxx.

References _global_ptr, and NULL.

Referenced by InterrogateBuilder::define_struct_type(), InterfaceMaker::generate_wrappers(), InterrogateBuilder::get_atomic_string_type(), InterrogateBuilder::get_cast_function(), InterrogateBuilder::get_destructor_for(), InterrogateBuilder::get_function(), InterrogateBuilder::get_getter(), InterrogateBuilder::get_setter(), InterrogateBuilder::get_type(), interrogate_element_getter(), interrogate_element_has_getter(), interrogate_element_has_setter(), interrogate_element_name(), interrogate_element_scoped_name(), interrogate_element_setter(), interrogate_element_type(), interrogate_function_c_wrapper(), interrogate_function_class(), interrogate_function_comment(), interrogate_function_has_comment(), interrogate_function_has_module_name(), interrogate_function_is_method(), interrogate_function_is_virtual(), interrogate_function_module_name(), interrogate_function_name(), interrogate_function_number_of_c_wrappers(), interrogate_function_number_of_python_wrappers(), interrogate_function_prototype(), interrogate_function_python_wrapper(), interrogate_function_scoped_name(), interrogate_get_element_by_name(), interrogate_get_element_by_scoped_name(), interrogate_get_function(), interrogate_get_global(), interrogate_get_global_function(), interrogate_get_global_type(), interrogate_get_manifest(), interrogate_get_manifest_by_name(), interrogate_get_type(), interrogate_get_type_by_name(), interrogate_get_type_by_scoped_name(), interrogate_get_type_by_true_name(), interrogate_get_wrapper_by_unique_name(), interrogate_manifest_definition(), interrogate_manifest_get_int_value(), interrogate_manifest_get_type(), interrogate_manifest_getter(), interrogate_manifest_has_getter(), interrogate_manifest_has_int_value(), interrogate_manifest_has_type(), interrogate_manifest_name(), interrogate_number_of_functions(), interrogate_number_of_global_functions(), interrogate_number_of_global_types(), interrogate_number_of_globals(), interrogate_number_of_manifests(), interrogate_number_of_types(), interrogate_request_database(), interrogate_request_module(), interrogate_type_atomic_token(), interrogate_type_comment(), interrogate_type_derivation_downcast_is_impossible(), interrogate_type_derivation_has_downcast(), interrogate_type_derivation_has_upcast(), interrogate_type_destructor_is_inherited(), interrogate_type_enum_value(), interrogate_type_enum_value_name(), interrogate_type_enum_value_scoped_name(), interrogate_type_get_cast(), interrogate_type_get_constructor(), interrogate_type_get_derivation(), interrogate_type_get_destructor(), interrogate_type_get_downcast(), interrogate_type_get_element(), interrogate_type_get_method(), interrogate_type_get_nested_type(), interrogate_type_get_upcast(), interrogate_type_has_comment(), interrogate_type_has_destructor(), interrogate_type_has_module_name(), interrogate_type_is_atomic(), interrogate_type_is_class(), interrogate_type_is_const(), interrogate_type_is_enum(), interrogate_type_is_fully_defined(), interrogate_type_is_long(), interrogate_type_is_longlong(), interrogate_type_is_nested(), interrogate_type_is_pointer(), interrogate_type_is_short(), interrogate_type_is_signed(), interrogate_type_is_struct(), interrogate_type_is_union(), interrogate_type_is_unpublished(), interrogate_type_is_unsigned(), interrogate_type_is_wrapped(), interrogate_type_module_name(), interrogate_type_name(), interrogate_type_number_of_casts(), interrogate_type_number_of_constructors(), interrogate_type_number_of_derivations(), interrogate_type_number_of_elements(), interrogate_type_number_of_enum_values(), interrogate_type_number_of_methods(), interrogate_type_number_of_nested_types(), interrogate_type_outer_class(), interrogate_type_scoped_name(), interrogate_type_true_name(), interrogate_type_wrapped_type(), interrogate_wrapper_caller_manages_return_value(), interrogate_wrapper_has_pointer(), interrogate_wrapper_has_return_value(), interrogate_wrapper_is_callable_by_name(), interrogate_wrapper_name(), interrogate_wrapper_number_of_parameters(), interrogate_wrapper_parameter_has_name(), interrogate_wrapper_parameter_is_this(), interrogate_wrapper_parameter_name(), interrogate_wrapper_parameter_type(), interrogate_wrapper_pointer(), interrogate_wrapper_return_type(), interrogate_wrapper_return_value_destructor(), interrogate_wrapper_unique_name(), main(), FunctionRemap::make_wrapper_entry(), InterfaceMaker::record_function(), InterfaceMaker::record_object(), InterrogateBuilder::remap_indices(), InterrogateBuilder::scan_element(), InterrogateBuilder::scan_manifest(), InterrogateBuilder::update_method_comment(), and InterrogateBuilder::write_code().

const InterrogateType & InterrogateDatabase::get_type TypeIndex  type  ) 
 

Definition at line 284 of file interrogateDatabase.cxx.

References _type_map, check_latest(), and type.

Referenced by InterrogateBuilder::get_destructor_for(), interrogate_type_atomic_token(), interrogate_type_comment(), interrogate_type_derivation_downcast_is_impossible(), interrogate_type_derivation_has_downcast(), interrogate_type_derivation_has_upcast(), interrogate_type_destructor_is_inherited(), interrogate_type_enum_value(), interrogate_type_enum_value_name(), interrogate_type_enum_value_scoped_name(), interrogate_type_get_cast(), interrogate_type_get_constructor(), interrogate_type_get_derivation(), interrogate_type_get_destructor(), interrogate_type_get_downcast(), interrogate_type_get_element(), interrogate_type_get_method(), interrogate_type_get_nested_type(), interrogate_type_get_upcast(), interrogate_type_has_comment(), interrogate_type_has_destructor(), interrogate_type_has_module_name(), interrogate_type_is_atomic(), interrogate_type_is_class(), interrogate_type_is_const(), interrogate_type_is_enum(), interrogate_type_is_fully_defined(), interrogate_type_is_long(), interrogate_type_is_longlong(), interrogate_type_is_nested(), interrogate_type_is_pointer(), interrogate_type_is_short(), interrogate_type_is_signed(), interrogate_type_is_struct(), interrogate_type_is_union(), interrogate_type_is_unpublished(), interrogate_type_is_unsigned(), interrogate_type_is_wrapped(), interrogate_type_module_name(), interrogate_type_name(), interrogate_type_number_of_casts(), interrogate_type_number_of_constructors(), interrogate_type_number_of_derivations(), interrogate_type_number_of_elements(), interrogate_type_number_of_enum_values(), interrogate_type_number_of_methods(), interrogate_type_number_of_nested_types(), interrogate_type_outer_class(), interrogate_type_scoped_name(), interrogate_type_true_name(), interrogate_type_wrapped_type(), and InterfaceMaker::record_object().

const InterrogateFunctionWrapper & InterrogateDatabase::get_wrapper FunctionWrapperIndex  wrapper  ) 
 

Definition at line 322 of file interrogateDatabase.cxx.

References _wrapper_map, and check_latest().

Referenced by interrogate_wrapper_caller_manages_return_value(), interrogate_wrapper_has_return_value(), interrogate_wrapper_is_callable_by_name(), interrogate_wrapper_name(), interrogate_wrapper_number_of_parameters(), interrogate_wrapper_parameter_has_name(), interrogate_wrapper_parameter_is_this(), interrogate_wrapper_parameter_name(), interrogate_wrapper_parameter_type(), interrogate_wrapper_return_type(), interrogate_wrapper_return_value_destructor(), and interrogate_wrapper_unique_name().

FunctionWrapperIndex InterrogateDatabase::get_wrapper_by_unique_name const string &  unique_name  ) 
 

Definition at line 411 of file interrogateDatabase.cxx.

References _modules_by_hash, binary_search_wrapper_hash(), InterrogateModuleDef::first_index, InterrogateModuleDef::num_unique_names, and InterrogateModuleDef::unique_names.

Referenced by interrogate_get_wrapper_by_unique_name().

void InterrogateDatabase::load_latest  )  [private]
 

Definition at line 868 of file interrogateDatabase.cxx.

References _current_major_version, _current_minor_version, _file_major_version, _file_minor_version, _requests, InterrogateModuleDef::database_filename, Filename::empty(), InterrogateModuleDef::file_identifier, DSearchPath::find_file(), get_interrogatedb_path(), input, NULL, Filename::open_read(), read(), and Filename::set_text().

int InterrogateDatabase::lookup const string &  name,
Lookup lookup,
LookupType  type,
void(InterrogateDatabase::*  freshen)()
[private]
 

Definition at line 1336 of file interrogateDatabase.cxx.

References _lookups_fresh, and type.

INLINE ElementIndex InterrogateDatabase::lookup_element_by_name const string &  name  ) 
 

Referenced by interrogate_get_element_by_name().

INLINE ElementIndex InterrogateDatabase::lookup_element_by_scoped_name const string &  name  ) 
 

Referenced by interrogate_get_element_by_scoped_name().

INLINE ManifestIndex InterrogateDatabase::lookup_manifest_by_name const string &  name  ) 
 

Referenced by interrogate_get_manifest_by_name().

INLINE TypeIndex InterrogateDatabase::lookup_type_by_name const string &  name  ) 
 

Referenced by interrogate_get_type_by_name().

INLINE TypeIndex InterrogateDatabase::lookup_type_by_scoped_name const string &  name  ) 
 

Referenced by interrogate_get_type_by_scoped_name().

INLINE TypeIndex InterrogateDatabase::lookup_type_by_true_name const string &  name  ) 
 

Referenced by interrogate_get_type_by_true_name().

void InterrogateDatabase::merge_from const InterrogateDatabase &  other  )  [private]
 

Definition at line 1061 of file interrogateDatabase.cxx.

References _element_map, _function_map, _global_types, _lookups_fresh, _manifest_map, _type_map, _wrapper_map, add_element(), add_function(), add_manifest(), IndexRemapper::add_mapping(), add_type(), add_wrapper(), ElementIndex, FunctionIndex, FunctionWrapperIndex, InterrogateType::get_true_name(), InterrogateComponent::has_name(), IndexRemapper::in_map(), InterrogateType::is_global(), ManifestIndex, IndexRemapper::map_from(), InterrogateType::merge_with(), InterrogateElement::remap_indices(), InterrogateManifest::remap_indices(), InterrogateFunctionWrapper::remap_indices(), InterrogateFunction::remap_indices(), InterrogateType::remap_indices(), type, TypeIndex, update_element(), update_function(), update_manifest(), update_type(), and update_wrapper().

Referenced by read().

bool InterrogateDatabase::read istream in,
InterrogateModuleDef def
 

Definition at line 839 of file interrogateDatabase.cxx.

References _next_index, InterrogateModuleDef::database_filename, InterrogateModuleDef::first_index, merge_from(), InterrogateModuleDef::next_index, read_new(), and remap_indices().

Referenced by load_latest().

bool InterrogateDatabase::read_new istream in,
InterrogateModuleDef def
[private]
 

Definition at line 941 of file interrogateDatabase.cxx.

References add_element(), add_function(), add_manifest(), add_type(), add_wrapper(), ElementIndex, FunctionIndex, FunctionWrapperIndex, idf_input_string(), index, InterrogateModuleDef::library_hash_name, InterrogateModuleDef::library_name, ManifestIndex, InterrogateModuleDef::module_name, type, and TypeIndex.

Referenced by read().

int InterrogateDatabase::remap_indices int  first_index,
IndexRemapper remap
 

Definition at line 675 of file interrogateDatabase.cxx.

References _all_functions, _all_types, _element_map, _function_map, _global_elements, _global_functions, _global_manifests, _global_types, _manifest_map, _next_index, _type_map, _wrapper_map, IndexRemapper::add_mapping(), assert, IndexRemapper::clear(), and IndexRemapper::map_from().

int InterrogateDatabase::remap_indices int  first_index  ) 
 

Definition at line 660 of file interrogateDatabase.cxx.

Referenced by read(), and InterrogateBuilder::remap_indices().

void InterrogateDatabase::remove_type TypeIndex  type  ) 
 

Definition at line 378 of file interrogateDatabase.cxx.

References _type_map, and type.

Referenced by InterrogateBuilder::get_type().

void InterrogateDatabase::request_module InterrogateModuleDef def  ) 
 

Definition at line 69 of file interrogateDatabase.cxx.

References _modules, _modules_by_hash, _next_index, _requests, InterrogateModuleDef::database_filename, InterrogateModuleDef::first_index, InterrogateModuleDef::library_hash_name, InterrogateModuleDef::library_name, InterrogateModuleDef::next_index, NULL, and InterrogateModuleDef::num_unique_names.

Referenced by interrogate_request_database(), and interrogate_request_module().

InterrogateElement & InterrogateDatabase::update_element ElementIndex  element  ) 
 

Definition at line 645 of file interrogateDatabase.cxx.

References _element_map, and check_latest().

Referenced by merge_from().

InterrogateFunction & InterrogateDatabase::update_function FunctionIndex  function  ) 
 

Definition at line 609 of file interrogateDatabase.cxx.

References _function_map, and check_latest().

Referenced by InterrogateBuilder::get_cast_function(), InterrogateBuilder::get_function(), InterrogateBuilder::get_getter(), InterrogateBuilder::get_setter(), merge_from(), InterfaceMaker::record_function(), and InterrogateBuilder::update_method_comment().

InterrogateManifest & InterrogateDatabase::update_manifest ManifestIndex  manifest  ) 
 

Definition at line 633 of file interrogateDatabase.cxx.

References _manifest_map, and check_latest().

Referenced by merge_from().

InterrogateType & InterrogateDatabase::update_type TypeIndex  type  ) 
 

Definition at line 596 of file interrogateDatabase.cxx.

References _type_map, assert, check_latest(), and type.

Referenced by InterrogateBuilder::get_type(), and merge_from().

InterrogateFunctionWrapper & InterrogateDatabase::update_wrapper FunctionWrapperIndex  wrapper  ) 
 

Definition at line 621 of file interrogateDatabase.cxx.

References _wrapper_map, and check_latest().

Referenced by merge_from().

void InterrogateDatabase::write ostream out,
InterrogateModuleDef def
const
 

Definition at line 781 of file interrogateDatabase.cxx.

References _current_major_version, _current_minor_version, _element_map, _function_map, _manifest_map, _type_map, _wrapper_map, InterrogateModuleDef::file_identifier, idf_output_string(), InterrogateModuleDef::library_hash_name, InterrogateModuleDef::library_name, and InterrogateModuleDef::module_name.

Referenced by main().


Member Data Documentation

GlobalFunctions InterrogateDatabase::_all_functions [private]
 

Definition at line 142 of file interrogateDatabase.h.

Referenced by add_function(), get_all_function(), get_num_all_functions(), and remap_indices().

GlobalTypes InterrogateDatabase::_all_types [private]
 

Definition at line 139 of file interrogateDatabase.h.

Referenced by add_type(), get_all_type(), get_num_all_types(), and remap_indices().

int InterrogateDatabase::_current_major_version = 2 [static, private]
 

Definition at line 27 of file interrogateDatabase.cxx.

Referenced by get_current_major_version(), load_latest(), and write().

int InterrogateDatabase::_current_minor_version = 2 [static, private]
 

Definition at line 28 of file interrogateDatabase.cxx.

Referenced by get_current_minor_version(), load_latest(), and write().

ElementMap InterrogateDatabase::_element_map [private]
 

Definition at line 135 of file interrogateDatabase.h.

Referenced by add_element(), freshen_elements_by_name(), freshen_elements_by_scoped_name(), get_element(), merge_from(), remap_indices(), update_element(), and write().

Lookup InterrogateDatabase::_elements_by_name [private]
 

Definition at line 177 of file interrogateDatabase.h.

Referenced by freshen_elements_by_name().

Lookup InterrogateDatabase::_elements_by_scoped_name [private]
 

Definition at line 178 of file interrogateDatabase.h.

Referenced by freshen_elements_by_scoped_name().

int InterrogateDatabase::_file_major_version = 0 [static, private]
 

Definition at line 25 of file interrogateDatabase.cxx.

Referenced by get_file_major_version(), and load_latest().

int InterrogateDatabase::_file_minor_version = 0 [static, private]
 

Definition at line 26 of file interrogateDatabase.cxx.

Referenced by get_file_minor_version(), and load_latest().

FunctionMap InterrogateDatabase::_function_map [private]
 

Definition at line 128 of file interrogateDatabase.h.

Referenced by add_function(), get_function(), merge_from(), remap_indices(), update_function(), and write().

GlobalElements InterrogateDatabase::_global_elements [private]
 

Definition at line 146 of file interrogateDatabase.h.

Referenced by add_element(), get_global_element(), get_num_global_elements(), and remap_indices().

GlobalFunctions InterrogateDatabase::_global_functions [private]
 

Definition at line 141 of file interrogateDatabase.h.

Referenced by add_function(), get_global_function(), get_num_global_functions(), and remap_indices().

GlobalManifests InterrogateDatabase::_global_manifests [private]
 

Definition at line 144 of file interrogateDatabase.h.

Referenced by add_manifest(), get_global_manifest(), get_num_global_manifests(), and remap_indices().

InterrogateDatabase * InterrogateDatabase::_global_ptr = NULL [static, private]
 

Definition at line 24 of file interrogateDatabase.cxx.

Referenced by get_ptr().

GlobalTypes InterrogateDatabase::_global_types [private]
 

Definition at line 138 of file interrogateDatabase.h.

Referenced by add_type(), get_global_type(), get_num_global_types(), merge_from(), and remap_indices().

int InterrogateDatabase::_lookups_fresh [private]
 

Definition at line 171 of file interrogateDatabase.h.

Referenced by InterrogateDatabase(), lookup(), and merge_from().

ManifestMap InterrogateDatabase::_manifest_map [private]
 

Definition at line 133 of file interrogateDatabase.h.

Referenced by add_manifest(), freshen_manifests_by_name(), get_manifest(), merge_from(), remap_indices(), update_manifest(), and write().

Lookup InterrogateDatabase::_manifests_by_name [private]
 

Definition at line 176 of file interrogateDatabase.h.

Referenced by freshen_manifests_by_name().

Modules InterrogateDatabase::_modules [private]
 

Definition at line 151 of file interrogateDatabase.h.

Referenced by binary_search_module(), find_module(), and request_module().

ModulesByHash InterrogateDatabase::_modules_by_hash [private]
 

Definition at line 153 of file interrogateDatabase.h.

Referenced by get_wrapper_by_unique_name(), and request_module().

int InterrogateDatabase::_next_index [private]
 

Definition at line 160 of file interrogateDatabase.h.

Referenced by get_next_index(), InterrogateDatabase(), read(), remap_indices(), and request_module().

Requests InterrogateDatabase::_requests [private]
 

Definition at line 158 of file interrogateDatabase.h.

Referenced by load_latest(), and request_module().

TypeMap InterrogateDatabase::_type_map [private]
 

Definition at line 126 of file interrogateDatabase.h.

Referenced by add_type(), freshen_types_by_name(), freshen_types_by_scoped_name(), freshen_types_by_true_name(), get_type(), merge_from(), remap_indices(), remove_type(), update_type(), and write().

Lookup InterrogateDatabase::_types_by_name [private]
 

Definition at line 173 of file interrogateDatabase.h.

Referenced by freshen_types_by_name().

Lookup InterrogateDatabase::_types_by_scoped_name [private]
 

Definition at line 174 of file interrogateDatabase.h.

Referenced by freshen_types_by_scoped_name().

Lookup InterrogateDatabase::_types_by_true_name [private]
 

Definition at line 175 of file interrogateDatabase.h.

Referenced by freshen_types_by_true_name().

FunctionWrapperMap InterrogateDatabase::_wrapper_map [private]
 

Definition at line 130 of file interrogateDatabase.h.

Referenced by add_wrapper(), get_wrapper(), merge_from(), remap_indices(), update_wrapper(), and write().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 01:35:00 2003 for DTool by doxygen1.3