#include <BESKeys.h>


Public Types | |
| typedef map< string, string > ::const_iterator | Keys_citer |
Public Member Functions | |
| ~BESKeys () | |
| cleans up the key/value pair mapping | |
| string | keys_file_name () |
| string | set_key (const string &key, const string &val) |
| allows the user to set key/value pairs from within the application. | |
| string | set_key (const string &pair) |
| allows the user to set key/value pairs from within the application. | |
| string | get_key (const string &s, bool &found) |
| Retrieve the value of a given key, if set. | |
| Keys_citer | keys_begin () |
| Keys_citer | keys_end () |
| virtual void | dump (ostream &strm) const |
| dumps information about this object | |
Protected Member Functions | |
| BESKeys (const string &keys_file_name) | |
| default constructor that reads loads key/value pairs from the specified file. | |
BESKeys provides a mechanism to define the behavior of an application given key/value paris. For example, how authentication will work, database access information, level of debugging and where log files are to be located.
Key/value pairs can be loaded from an external initialization file or set within the application itself, for example from the command line.
If from a file the key/value pair is set one per line and cannot span multiple lines. Comments are allowed using the pound (#) character. For example:
# # Who is responsable for this server # BES.ServerAdministrator=dods-tech@unidata.ucar.edu # # Default server port and unix socket information and whether the server #is secure or not. # BES.ServerPort=10002 BES.ServerUnixSocket=/tmp/bes.socket BES.ServerSecure=no *
Key/value pairs can also be set by passing in a key=value string, or by passing in a key and value string to the object.
BES provides a single object for access to a single BESKeys object, TheBESKeys.
| typedef map< string, string >::const_iterator BESKeys::Keys_citer |
| BESKeys::BESKeys | ( | const string & | keys_file_name | ) | [protected] |
default constructor that reads loads key/value pairs from the specified file.
This constructor uses the specified file to load key/value pairs. This file holds different key/value pairs for the application, one key/value pair per line separated by an equal (=) sign.
key=value
Comments are allowed in the file and must begin with a pound (#) sign at the beginning of the line. No comments are allowed at the end of lines.
| BESInternalFatalError | thrown if there is an error reading the initialization file or a syntax error in the file, i.e. a malformed key/value pair. |
| BESKeys::~BESKeys | ( | ) |
cleans up the key/value pair mapping
| void BESKeys::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance along with all of the keys.
| strm | C++ i/o stream to dump the information to |
Implements BESObj.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

| string BESKeys::get_key | ( | const string & | s, | |
| bool & | found | |||
| ) |
Retrieve the value of a given key, if set.
This method allows the user of BESKeys to retrieve the value of the specified key.
| s | The key the user is looking for | |
| found | Set to true of the key is set or false if the key is not set. The value of a key can be set to the empty string, which is why this boolean is provided. |
Referenced by BESInfo::add_data_from_file(), BESCache::BESCache(), BESCatalogUtils::BESCatalogUtils(), BESContainerStorageFile::BESContainerStorageFile(), BESContainerStorageVolatile::BESContainerStorageVolatile(), BESInfo::BESInfo(), BESLog::BESLog(), BESMemoryGlobalArea::BESMemoryGlobalArea(), BESServerHandler::BESServerHandler(), BESUncompressManager::BESUncompressManager(), BESInfoList::build_info(), BESExceptionManager::handle_exception(), and ServerApp::initialize().
| Keys_citer BESKeys::keys_begin | ( | ) | [inline] |
Referenced by BESConfigResponseHandler::execute().
| Keys_citer BESKeys::keys_end | ( | ) | [inline] |
Referenced by BESConfigResponseHandler::execute().
| string BESKeys::keys_file_name | ( | ) | [inline] |
| string BESKeys::set_key | ( | const string & | pair | ) |
allows the user to set key/value pairs from within the application.
This method allows users of BESKeys to set key/value pairs from within the application, such as for testing purposes, key/value pairs from the command line, etc...
If the key is already set then this value replaces the value currently held in the keys map.
| pair | the key/value pair passed as key=value |
References set_key().

| string BESKeys::set_key | ( | const string & | key, | |
| const string & | val | |||
| ) |
allows the user to set key/value pairs from within the application.
This method allows users of BESKeys to set key/value pairs from within the application, such as for testing purposes, key/value pairs from the command line, etc...
If the key is already set then this value replaces the value currently held in the keys map.
| key | variable name that can be accessed using the get_key method | |
| val | value of the variable returned when get_key is called for this key |
Referenced by set_key().
1.5.8