#include <BESDefinitionStorage.h>
Inheritance diagram for BESDefinitionStorage:
Public Member Functions | |
BESDefinitionStorage (const string &name) | |
create an instance of BESDefinitionStorage with the give name. | |
virtual | ~BESDefinitionStorage () |
virtual const string & | get_name () const |
retrieve the name of this persistent store | |
virtual BESDefine * | look_for (const string &def_name)=0 |
looks for a definition in this persistent store with the given name | |
virtual bool | add_definition (const string &def_name, BESDefine *d)=0 |
adds a given definition to this storage | |
virtual bool | del_definition (const string &def_name)=0 |
deletes a defintion with the given name | |
virtual bool | del_definitions ()=0 |
deletes all defintions from the definition store | |
virtual void | show_definitions (BESInfo &info)=0 |
show the defintions stored in this store | |
virtual void | dump (ostream &strm) const =0 |
Displays debug information about this object. | |
Protected Attributes | |
string | _my_name |
An implementation of the abstract interface BESDefinitionStorage provides storage for a definition, or view, of a set of data including possibly constraints on each of those containers and possibly aggregation of those containers.
An instance of a derived implementation has a name associated with it, in case that there are multiple ways in which the information can be stored. For example, the main persistent storage for containers could be a mysql database, but a user could store temporary information in different files. If the user wishes to remove one of these persistence stores they would request that a named BESDefinitionStorage object be removed from the list.
BESDefinitionStorage::BESDefinitionStorage | ( | const string & | name | ) | [inline] |
create an instance of BESDefinitionStorage with the give name.
name | name of this persistence store |
virtual BESDefinitionStorage::~BESDefinitionStorage | ( | ) | [inline, virtual] |
virtual bool BESDefinitionStorage::add_definition | ( | const string & | def_name, | |
BESDefine * | d | |||
) | [pure virtual] |
adds a given definition to this storage
This method adds a definition to the definition store, taking ownership of that definition. If the definition already exists, then the definition is NOT added.
d | definition to add |
Implemented in BESDefinitionStorageVolatile.
virtual bool BESDefinitionStorage::del_definition | ( | const string & | def_name | ) | [pure virtual] |
deletes a defintion with the given name
This method deletes a definition from the definition store with the given name.
def_name | name of the defintion to delete |
Implemented in BESDefinitionStorageVolatile.
virtual bool BESDefinitionStorage::del_definitions | ( | ) | [pure virtual] |
deletes all defintions from the definition store
Implemented in BESDefinitionStorageVolatile.
virtual void BESDefinitionStorage::dump | ( | ostream & | strm | ) | const [pure virtual] |
Displays debug information about this object.
strm | output stream to use to dump the contents of this object |
Implements BESObj.
Implemented in BESDefinitionStorageVolatile.
virtual const string& BESDefinitionStorage::get_name | ( | ) | const [inline, virtual] |
retrieve the name of this persistent store
virtual BESDefine* BESDefinitionStorage::look_for | ( | const string & | def_name | ) | [pure virtual] |
looks for a definition in this persistent store with the given name
def_name | name of the definition to look for |
Implemented in BESDefinitionStorageVolatile.
virtual void BESDefinitionStorage::show_definitions | ( | BESInfo & | info | ) | [pure virtual] |
show the defintions stored in this store
Add information to the passed information response object about each of the defintions stored within this defintion store. The information added to the passed information objects includes the name of this persistent store on the first line followed by the information for each definition on the following lines.
info | information response object to store the information in |
Implemented in BESDefinitionStorageVolatile.
string BESDefinitionStorage::_my_name [protected] |