110 BESDEBUG(
"bes",
"BESContainerStorageCatalog::add_container: "
111 <<
"adding container with name \"" << sym_name <<
"\", real name \""
112 << real_name <<
"\", type \"" << type <<
"\"" << endl);
114 string::size_type stopat = real_name.length() - 1;
115 while (real_name[stopat] ==
'/') {
118 string new_name = real_name.substr(0, stopat + 1);
121 string::size_type slash = new_name.rfind(
"/");
122 if (slash != string::npos) {
123 basename = new_name.substr(slash + 1, new_name.length() - slash);
130 if (!_utils->
include(basename)) {
131 string s =
"Attempting to create a container with real name " + real_name +
" which is on the exclude list";
137 string new_type = type;
138 if (new_type ==
"") {
142 for (; i != ie && !done; i++) {
145 if (reg_expr.match(real_name.c_str(), real_name.length()) == static_cast<int>(real_name.length())) {
146 new_type = match.
type;
167 string node_type =
"";
171 for (; i != ie && !done; i++) {
174 if (reg_expr.match(inQuestion.c_str(), inQuestion.length()) == static_cast<int>(inQuestion.length())) {
175 node_type = match.
type;
194 strm <<
BESIndent::LMarg <<
"BESContainerStorageCatalog::dump - (" << (
void *)
this <<
")" << endl;
BESCatalogUtils::match_citer match_list_begin() const
BESCatalogUtils::match_citer match_list_end() const
virtual void dump(ostream &strm) const
dumps information about this object
BESContainerStorageCatalog(const string &n)
create an instance of this persistent store with the given name.
implementation of BESContainerStorage that stores containers in memory for the duration of this proce...
a C++ interface to POSIX regular expression functions.
virtual void add_container(BESContainer *c)
add the passed container to the list of containers in volatile storage
vector< type_reg >::const_iterator match_citer
virtual bool isData(const string &inQuestion, list< string > &provides)
is the specified node in question served by a request handler
virtual void add_container(const string &sym_name, const string &real_name, const string &type)
adds a container with the provided information
static BESServiceRegistry * TheRegistry()
static ostream & LMarg(ostream &strm)
bool follow_sym_links() const
virtual void dump(ostream &strm) const
dump the contents of this object to the specified ostream
virtual ~BESContainerStorageCatalog()
error thrown if the BES is not allowed to access the resource requested
#define BESDEBUG(x, y)
macro used to send debug information to the debug stream
virtual bool include(const string &inQuestion) const
static BESCatalogUtils * Utils(const string &name)
virtual const string & get_name() const
retrieve the name of this persistent store
const string & get_root_dir() const
virtual void services_handled(const string &handler, list< string > &services)
returns the list of servies provided by the handler in question