The table of registered endpoint id schemes. More...
#include <SchemeTable.h>
Public Member Functions | |
void | register_scheme (const std::string &scheme_str, Scheme *scheme) |
Register the given scheme. | |
Scheme * | lookup (const std::string &scheme_str) |
Find the appropriate Scheme instance based on the URI scheme of the endpoint id scheme. | |
Protected Types | |
typedef oasys::StringHashMap < Scheme * > | SchemeMap |
Protected Attributes | |
SchemeMap | table_ |
Static Protected Attributes | |
static SchemeTable * | instance_ |
Private Member Functions | |
SchemeTable () | |
Constructor -- instantiates and registers all known schemes. | |
virtual | ~SchemeTable () |
Destructor cleans up the known schemes and is called at shutdown time. | |
Friends | |
class | oasys::Singleton< SchemeTable > |
The table of registered endpoint id schemes.
Definition at line 30 of file SchemeTable.h.
typedef oasys::StringHashMap<Scheme*> dtn::SchemeTable::SchemeMap [protected] |
Definition at line 63 of file SchemeTable.h.
dtn::SchemeTable::SchemeTable | ( | ) | [private] |
Constructor -- instantiates and registers all known schemes.
Called from the singleton instance() method the first time the table is accessed.
Definition at line 34 of file SchemeTable.cc.
References table_.
dtn::SchemeTable::~SchemeTable | ( | ) | [private, virtual] |
Destructor cleans up the known schemes and is called at shutdown time.
Definition at line 47 of file SchemeTable.cc.
References table_.
Scheme * dtn::SchemeTable::lookup | ( | const std::string & | scheme_str | ) |
Find the appropriate Scheme instance based on the URI scheme of the endpoint id scheme.
Definition at line 62 of file SchemeTable.cc.
References table_.
void dtn::SchemeTable::register_scheme | ( | const std::string & | scheme_str, | |
Scheme * | scheme | |||
) |
friend class oasys::Singleton< SchemeTable > [friend] |
Definition at line 32 of file SchemeTable.h.
SchemeTable* dtn::SchemeTable::instance_ [static, protected] |
Definition at line 62 of file SchemeTable.h.
SchemeMap dtn::SchemeTable::table_ [protected] |
Definition at line 64 of file SchemeTable.h.
Referenced by lookup(), register_scheme(), SchemeTable(), and ~SchemeTable().