#include <BESKeys.h>
Inheritance diagram for BESKeys:
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.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.
BESKeysException | 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.
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. |
Keys_citer BESKeys::keys_begin | ( | ) | [inline] |
Keys_citer BESKeys::keys_end | ( | ) | [inline] |
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 |
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 |