bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
httpd_catalog::HttpdCatalog Class Reference

builds catalogs from a directory structure exposed by Apache httpd More...

#include <HttpdCatalog.h>

Inheritance diagram for httpd_catalog::HttpdCatalog:
Inheritance graph
Collaboration diagram for httpd_catalog::HttpdCatalog:
Collaboration graph

Public Member Functions

virtual unsigned int dereference_catalog ()
 Decrement the count of clients that reference this catalog.
 
virtual void dump (std::ostream &strm) const
 dumps information about this object
 
virtual std::string get_catalog_name () const
 Get the name for this catalog.
 
virtual BESCatalogUtilsget_catalog_utils () const
 Get a pointer to the utilities, customized for this catalog.
 
virtual bes::CatalogNodeget_node (const std::string &path) const
 Produces the bes::CatalogNode for the string ppath.
 
virtual std::string get_root () const
 
virtual void get_site_map (const std::string &, const std::string &, const std::string &, std::ostream &, const std::string &) const
 
 HttpdCatalog (const std::string &catalog_name=HTTPD_CATALOG_NAME)
 A catalog based on scraping the directory pages produced by httpd .
 
virtual std::string path_to_access_url (const std::string &path) const
 Takes a path which begins with the name of an HttpdCatalog collection and returns the associated access url for the referenced thingy.
 
virtual void reference_catalog ()
 Increase the count of clients that reference this catalog.
 
virtual BESCatalogEntryshow_catalog (const std::string &container, BESCatalogEntry *)
 

Detailed Description

builds catalogs from a directory structure exposed by Apache httpd

Definition at line 50 of file HttpdCatalog.h.

Constructor & Destructor Documentation

◆ HttpdCatalog()

httpd_catalog::HttpdCatalog::HttpdCatalog ( const std::string & catalog_name = HTTPD_CATALOG_NAME)

A catalog based on scraping the directory pages produced by httpd .

See HttpdDirScraper.cc for more.

HttpdCatalog is BESCatalog specialized for Apache httpd catalog pages.

Definition at line 84 of file HttpdCatalog.cc.

◆ ~HttpdCatalog()

virtual httpd_catalog::HttpdCatalog::~HttpdCatalog ( )
inlinevirtual

Definition at line 57 of file HttpdCatalog.h.

Member Function Documentation

◆ dereference_catalog()

virtual unsigned int BESCatalog::dereference_catalog ( )
inlinevirtualinherited

Decrement the count of clients that reference this catalog.

Returns
The number of clients that reference this BESCatalog instance
See also
reference_catalog()

Definition at line 91 of file BESCatalog.h.

◆ dump()

void httpd_catalog::HttpdCatalog::dump ( std::ostream & strm) const
virtual

dumps information about this object

Displays the pointer value of this instance along with information about this catalog directory.

Parameters
strmC++ i/o stream to dump the information to

Implements BESCatalog.

Definition at line 259 of file HttpdCatalog.cc.

◆ get_catalog_name()

virtual std::string BESCatalog::get_catalog_name ( ) const
inlinevirtualinherited

Get the name for this catalog.

Returns
The catalog.

Definition at line 102 of file BESCatalog.h.

◆ get_catalog_utils()

virtual BESCatalogUtils * BESCatalog::get_catalog_utils ( ) const
inlinevirtualinherited

Get a pointer to the utilities, customized for this catalog.

Returns
A BESCatalogUtils pointer.

Definition at line 112 of file BESCatalog.h.

◆ get_node()

bes::CatalogNode * httpd_catalog::HttpdCatalog::get_node ( const std::string & path) const
virtual

Produces the bes::CatalogNode for the string ppath.

This includes dealing with the named Httpd_Catalog.Collections part of the path and providing catalog page with the list of Collections for the empty path.

Implements BESCatalog.

Definition at line 157 of file HttpdCatalog.cc.

◆ get_root()

virtual std::string httpd_catalog::HttpdCatalog::get_root ( ) const
inlinevirtual

This is a meaningless method for a remote catalog so it returns empty string

Implements BESCatalog.

Definition at line 69 of file HttpdCatalog.h.

◆ get_site_map()

virtual void httpd_catalog::HttpdCatalog::get_site_map ( const std::string & ,
const std::string & ,
const std::string & ,
std::ostream & ,
const std::string &  ) const
inlinevirtual

Maybe someday...

Implements BESCatalog.

Definition at line 74 of file HttpdCatalog.h.

◆ path_to_access_url()

string httpd_catalog::HttpdCatalog::path_to_access_url ( const std::string & path) const
virtual

Takes a path which begins with the name of an HttpdCatalog collection and returns the associated access url for the referenced thingy.

Parameters
pThe path to convert.
Returns
The access URL for the path on the named remote resource.
Exceptions
BESNotFoundErrorwhen there is no matching collection found.

Definition at line 201 of file HttpdCatalog.cc.

◆ reference_catalog()

virtual void BESCatalog::reference_catalog ( )
inlinevirtualinherited

Increase the count of clients that reference this catalog.

This class maintains a count of the clients that reference the catalog. When count of clients drops to zero, the instance can be deleted.

Todo
Revisit the reference counting behavior - maybe there's a better way to manage these catalogs?

Definition at line 80 of file BESCatalog.h.

◆ show_catalog()

virtual BESCatalogEntry * httpd_catalog::HttpdCatalog::show_catalog ( const std::string & container,
BESCatalogEntry *  )
inlinevirtual

@Deprecated

Implements BESCatalog.

Definition at line 62 of file HttpdCatalog.h.


The documentation for this class was generated from the following files: