open_toontown_panda3d/dtool/src/interrogatedb/interrogateDatabase.I

116 lines
4.8 KiB
Plaintext

// Filename: interrogateDatabase.I
// Created by: drose (01Aug00)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license. You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://www.panda3d.org/license.txt .
//
// To contact the maintainers of this program write to
// panda3d@yahoogroups.com .
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::check_latest
// Access: Public
// Description: Checks that all the latest data for all the libraries
// have been loaded. Loads them if not.
////////////////////////////////////////////////////////////////////
INLINE void InterrogateDatabase::
check_latest() {
if (!_requests.empty()) {
load_latest();
}
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_type_by_name
// Access: Public
// Description: Returns the TypeIndex associated with the first type
// found with the given name, or 0 if no type has this
// name.
////////////////////////////////////////////////////////////////////
INLINE TypeIndex InterrogateDatabase::
lookup_type_by_name(const string &name) {
check_latest();
return lookup(name, _types_by_name, LT_type_name,
&InterrogateDatabase::freshen_types_by_name);
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_type_by_scoped_name
// Access: Public
// Description: Returns the TypeIndex associated with the first type
// found with the given scoped name, or 0 if no type has
// this name.
////////////////////////////////////////////////////////////////////
INLINE TypeIndex InterrogateDatabase::
lookup_type_by_scoped_name(const string &name) {
check_latest();
return lookup(name, _types_by_scoped_name, LT_type_scoped_name,
&InterrogateDatabase::freshen_types_by_scoped_name);
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_type_by_true_name
// Access: Public
// Description: Returns the TypeIndex associated with the first type
// found with the given true name, or 0 if no type has
// this name.
////////////////////////////////////////////////////////////////////
INLINE TypeIndex InterrogateDatabase::
lookup_type_by_true_name(const string &name) {
check_latest();
return lookup(name, _types_by_true_name, LT_type_true_name,
&InterrogateDatabase::freshen_types_by_true_name);
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_manifest_by_name
// Access: Public
// Description: Returns the ManifestIndex associated with the first
// manifest found with the given name, or 0 if no
// manifest has this name.
////////////////////////////////////////////////////////////////////
INLINE ManifestIndex InterrogateDatabase::
lookup_manifest_by_name(const string &name) {
check_latest();
return lookup(name, _manifests_by_name, LT_manifest_name,
&InterrogateDatabase::freshen_manifests_by_name);
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_element_by_name
// Access: Public
// Description: Returns the ElementIndex associated with the first
// element found with the given name, or 0 if no element
// has this name.
////////////////////////////////////////////////////////////////////
INLINE ElementIndex InterrogateDatabase::
lookup_element_by_name(const string &name) {
check_latest();
return lookup(name, _elements_by_name, LT_element_name,
&InterrogateDatabase::freshen_elements_by_name);
}
////////////////////////////////////////////////////////////////////
// Function: InterrogateDatabase::lookup_element_by_scoped_name
// Access: Public
// Description: Returns the ElementIndex associated with the first
// element found with the given scoped name, or 0 if no
// element has this name.
////////////////////////////////////////////////////////////////////
INLINE ElementIndex InterrogateDatabase::
lookup_element_by_scoped_name(const string &name) {
check_latest();
return lookup(name, _elements_by_scoped_name, LT_element_scoped_name,
&InterrogateDatabase::freshen_elements_by_scoped_name);
}