OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
List of all registered catalogs. More...
#include <BESCatalogList.h>
Public Types | |
typedef map< string, BESCatalog * >::const_iterator | catalog_citer |
typedef map< string, BESCatalog * >::iterator | catalog_iter |
Public Member Functions | |
virtual bool | add_catalog (BESCatalog *catalog) |
adds the speciifed catalog to the list More... | |
virtual string | default_catalog () |
virtual bool | deref_catalog (const string &catalog_name) |
de-reference the specified catalog and remove from list if no longer referenced More... | |
virtual void | dump (ostream &strm) const |
dumps information about this object More... | |
virtual catalog_iter | end_catalog () |
virtual BESCatalog * | find_catalog (const string &catalog_name) |
find the catalog in the list with the specified name More... | |
virtual catalog_iter | first_catalog () |
virtual int | num_catalogs () |
virtual bool | ref_catalog (const string &catalog_name) |
reference the specified catalog More... | |
virtual BESCatalogEntry * | show_catalogs (BESDataHandlerInterface &dhi, BESCatalogEntry *entry, bool show_default=true) |
show the list of catalogs More... | |
Static Public Member Functions | |
static BESCatalogList * | TheCatalogList () |
returns the singleton BESCatalogList instance. More... | |
Protected Member Functions | |
BESCatalogList () | |
construct a catalog list More... | |
Friends | |
class | BESCatalogListUnitTest |
List of all registered catalogs.
BESCatalog objecgts can be registered with this list. The BES allows for multiple catalogs. Most installations will have a single catalog registered.
Catalogs have a uniq name
If there is only one catalog then the display of the root will be the display of that catalogs root.
If there are more than one catalogs registered then the view of the root will display the list of catalogs registered. To view the contents of a specific catalog begin each container name with the name of the catalog followed by a colon.
show catalog for "cedar_catalog:/instrument/5340/year/2004/";
Definition at line 70 of file BESCatalogList.h.
typedef map<string,BESCatalog *>::const_iterator BESCatalogList::catalog_citer |
Definition at line 90 of file BESCatalogList.h.
typedef map<string,BESCatalog *>::iterator BESCatalogList::catalog_iter |
Definition at line 89 of file BESCatalogList.h.
|
protected |
construct a catalog list
Definition at line 98 of file BESCatalogList.cc.
References BES_DEFAULT_CATALOG, BESKeys::get_value(), and TheBESKeys::TheKeys().
|
virtual |
adds the speciifed catalog to the list
catalog | new catalog to add to the list |
Definition at line 141 of file BESCatalogList.cc.
References find_catalog(), and BESCatalog::get_catalog_name().
Referenced by DapModule::initialize().
|
inlinevirtual |
Definition at line 96 of file BESCatalogList.h.
Referenced by BESCatalogUtils::display_entry(), BESCatalogResponseHandler::execute(), and show_catalogs().
|
virtual |
de-reference the specified catalog and remove from list if no longer referenced
Search the list for the catalog with the given name. If the catalog exists, de-reference it. If there are no more references then remove the catalog from the list and delete it.
catalog_name | name of the catalog to de-reference |
Definition at line 201 of file BESCatalogList.cc.
References BESCatalog::dereference_catalog().
Referenced by DapModule::terminate().
|
virtual |
dumps information about this object
Displays the pointer value of this instance along with the catalogs registered in this list.
strm | C++ i/o stream to dump the information to |
Implements BESObj.
Definition at line 287 of file BESCatalogList.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
|
inlinevirtual |
Definition at line 107 of file BESCatalogList.h.
|
virtual |
find the catalog in the list with the specified name
catalog_name | name of the catalog to find |
Definition at line 227 of file BESCatalogList.cc.
Referenced by add_catalog(), and BESCatalogResponseHandler::execute().
|
inlinevirtual |
Definition at line 106 of file BESCatalogList.h.
|
inlinevirtual |
Definition at line 95 of file BESCatalogList.h.
Referenced by BESCatalogResponseHandler::execute().
|
virtual |
reference the specified catalog
Search the list for the catalog with the given name. If the catalog exists, reference it and return true. If not found then return false.
catalog_name | name of the catalog to reference |
Definition at line 174 of file BESCatalogList.cc.
References BESCatalog::reference_catalog().
|
virtual |
show the list of catalogs
This method adds information about the list of catalogs that exist
If there is a problem accessing the requested node then the reason for the problem must be included in the informational response, not an exception thrown. This method will not throw an exception.
coi | is the request to include collections or just the specified container |
info | informational object to add information to |
Definition at line 252 of file BESCatalogList.cc.
References default_catalog(), BESCatalog::show_catalog(), and SHOW_INFO_RESPONSE.
Referenced by BESCatalogResponseHandler::execute().
|
static |
returns the singleton BESCatalogList instance.
The pthreads library insures that only one instance can be made in a process lifetime.
Definition at line 66 of file BESCatalogList.cc.
Referenced by BESCatalogUtils::display_entry(), BESCatalogResponseHandler::execute(), DapModule::initialize(), and DapModule::terminate().
|
friend |
Definition at line 82 of file BESCatalogList.h.