#include <BESHTMLInfo.h>
Inheritance diagram for BESHTMLInfo:
Public Member Functions | |
BESHTMLInfo () | |
constructs an html information response object. | |
BESHTMLInfo (const string &key) | |
constructs a basic text information response object. | |
virtual | ~BESHTMLInfo () |
virtual void | begin_response (const string &response_name) |
begin the informational response | |
virtual void | end_response () |
end the response | |
virtual void | add_tag (const string &tag_name, const string &tag_data, map< string, string > *attrs=0) |
add tagged information to the inforamtional response | |
virtual void | begin_tag (const string &tag_name, map< string, string > *attrs=0) |
begin a tagged part of the information, information to follow | |
virtual void | end_tag (const string &tag_name) |
end a tagged part of the informational response | |
virtual void | add_data (const string &s) |
add data to this informational object. | |
virtual void | add_space (unsigned long num_spaces) |
add a space to the informational response | |
virtual void | add_break (unsigned long num_breaks) |
add a line break to the information | |
virtual void | add_data_from_file (const string &key, const string &name) |
add data from a file to the informational object | |
virtual void | transmit (BESTransmitter *transmitter, BESDataHandlerInterface &dhi) |
transmit the text information as text | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual void | add_exception (BESException &e) |
add exception information to this informational object | |
virtual void | print (FILE *out) |
print the information from this informational object to the specified FILE descriptor | |
virtual bool | set_buffered (bool buffered) |
return whether the information is to be buffered or not. | |
virtual bool | is_buffered () |
return whether the information is to be buffered or not. | |
Static Public Member Functions | |
static BESInfo * | BuildHTMLInfo (const string &info_type) |
Protected Attributes | |
ostream * | _strm |
bool | _buffered |
bool | _response_started |
stack< string > | _tags |
string | _response_name |
Uses the default add_data method, but overwrites print method in order to set the mime type to html.
Definition at line 46 of file BESHTMLInfo.h.
BESHTMLInfo::BESHTMLInfo | ( | ) |
constructs an html information response object.
Uses the default BES.Info.Buffered key in the bes configuration file to determine whether the information should be buffered or not.
Definition at line 52 of file BESHTMLInfo.cc.
Referenced by BuildHTMLInfo().
BESHTMLInfo::BESHTMLInfo | ( | const string & | key | ) |
constructs a basic text information response object.
Uses the default specified key in the bes configuration file to determine whether the information should be buffered or not.
Definition at line 67 of file BESHTMLInfo.cc.
BESHTMLInfo::~BESHTMLInfo | ( | ) | [virtual] |
Definition at line 74 of file BESHTMLInfo.cc.
void BESHTMLInfo::begin_response | ( | const string & | response_name | ) | [virtual] |
begin the informational response
Because this is text informational object, no begin tags are needed
response_name | name of the response this information represents |
Reimplemented from BESInfo.
Definition at line 85 of file BESHTMLInfo.cc.
References add_data(), and BESInfo::begin_response().
Referenced by infoT::run().
Here is the call graph for this function:
void BESHTMLInfo::end_response | ( | ) | [virtual] |
end the response
Add the terminating tags for the response and for the response name. If there are still tags that have not been closed then an exception is thrown.
Reimplemented from BESInfo.
Definition at line 108 of file BESHTMLInfo.cc.
References add_data().
Referenced by infoT::run().
Here is the call graph for this function:
void BESHTMLInfo::add_tag | ( | const string & | tag_name, | |
const string & | tag_data, | |||
map< string, string > * | attrs = 0 | |||
) | [virtual] |
add tagged information to the inforamtional response
tag_name | name of the tag to be added to the response | |
tag_data | information describing the tag |
Implements BESInfo.
Definition at line 124 of file BESHTMLInfo.cc.
References BESInfo::add_data(), and add_data().
Referenced by infoT::run().
Here is the call graph for this function:
void BESHTMLInfo::begin_tag | ( | const string & | tag_name, | |
map< string, string > * | attrs = 0 | |||
) | [virtual] |
begin a tagged part of the information, information to follow
tag_name | name of the tag to begin |
Reimplemented from BESInfo.
Definition at line 148 of file BESHTMLInfo.cc.
References BESInfo::add_data(), add_data(), and BESInfo::begin_tag().
Referenced by infoT::run().
Here is the call graph for this function:
void BESHTMLInfo::end_tag | ( | const string & | tag_name | ) | [virtual] |
end a tagged part of the informational response
If the named tag is not the current tag then an error is thrown.
tag_name | name of the tag to end |
Reimplemented from BESInfo.
Definition at line 175 of file BESHTMLInfo.cc.
References BESInfo::end_tag().
Referenced by infoT::run().
Here is the call graph for this function:
void BESHTMLInfo::add_data | ( | const string & | s | ) | [virtual] |
add data to this informational object.
If buffering is not set then the information is output directly to the output stream.
Formatting is up to the user
s | information to be added to this response object |
Reimplemented from BESInfo.
Definition at line 225 of file BESHTMLInfo.cc.
References BESInfo::_buffered, BESInfo::add_data(), and BESUtil::set_mime_html().
Referenced by add_break(), add_space(), add_tag(), begin_response(), begin_tag(), and end_response().
Here is the call graph for this function:
void BESHTMLInfo::add_space | ( | unsigned long | num_spaces | ) | [virtual] |
add a space to the informational response
num_spaces | the number of spaces to add to the information |
Implements BESInfo.
Definition at line 187 of file BESHTMLInfo.cc.
References add_data().
Here is the call graph for this function:
void BESHTMLInfo::add_break | ( | unsigned long | num_breaks | ) | [virtual] |
add a line break to the information
num_breaks | the number of line breaks to add to the information |
Implements BESInfo.
Definition at line 203 of file BESHTMLInfo.cc.
References add_data().
Here is the call graph for this function:
void BESHTMLInfo::add_data_from_file | ( | const string & | key, | |
const string & | name | |||
) | [virtual] |
add data from a file to the informational object
This method simply adds a .HTML to the end of the key and passes the request on up to the BESInfo parent class.
key | Key from the initialization file specifying the file to be | |
name | A description of what is the information being loaded |
Reimplemented from BESInfo.
Definition at line 248 of file BESHTMLInfo.cc.
References BESInfo::add_data_from_file().
Here is the call graph for this function:
void BESHTMLInfo::transmit | ( | BESTransmitter * | transmitter, | |
BESDataHandlerInterface & | dhi | |||
) | [virtual] |
transmit the text information as text
use the send_html method on the transmitter to transmit the html formatted information back to the client
transmitter | The type of transmitter to use to transmit the info | |
dhi | information to help with the transmission |
Implements BESInfo.
Definition at line 263 of file BESHTMLInfo.cc.
References BESTransmitter::send_html().
Here is the call graph for this function:
void BESHTMLInfo::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance along with values of private data members.
strm | C++ i/o stream to dump the information to |
Reimplemented from BESInfo.
Definition at line 277 of file BESHTMLInfo.cc.
References BESInfo::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Here is the call graph for this function:
BESInfo * BESHTMLInfo::BuildHTMLInfo | ( | const string & | info_type | ) | [static] |
Definition at line 290 of file BESHTMLInfo.cc.
References BESHTMLInfo().
Referenced by BESDefaultModule::initialize(), and infoT::run().
Here is the call graph for this function:
void BESInfo::add_exception | ( | BESException & | e | ) | [virtual, inherited] |
add exception information to this informational object
Exception information is added differently to different informational objects, such as html, xml, plain text. But, using the other methods of this class we can take care of exceptions here.
type | The type of exception being thrown | |
e | The exception to add to the informational response object |
Reimplemented in BESSilentInfo, and BESVersionInfo.
Definition at line 205 of file BESInfo.cc.
References BESInfo::add_tag(), BESInfo::begin_tag(), BESInfo::end_tag(), BESException::get_context(), BESException::get_file(), BESException::get_line(), and BESException::get_message().
Referenced by BESVersionInfo::add_exception(), BESExceptionManager::handle_exception(), and TestException::handleException().
Here is the call graph for this function:
void BESInfo::print | ( | FILE * | out | ) | [virtual, inherited] |
print the information from this informational object to the specified FILE descriptor
If the information was not buffered then this method does nothing, otherwise the information is output to the specified FILE descriptor.
out | output to this file descriptor if information buffered. |
Reimplemented in BESSilentInfo, BESVersionInfo, and BESXMLInfo.
Definition at line 228 of file BESInfo.cc.
References BESInfo::_buffered, and BESInfo::_strm.
Referenced by BESInterface::execute_request(), BESXMLInfo::print(), BESVersionInfo::print(), pvolT::run(), plistT::run(), pfileT::run(), infoT::run(), defT::run(), BESFilterTransmitter::send_html(), BESBasicTransmitter::send_html(), BESFilterTransmitter::send_text(), BESBasicTransmitter::send_text(), and BESInterface::transmit_data().
virtual bool BESInfo::set_buffered | ( | bool | buffered | ) | [inline, virtual, inherited] |
return whether the information is to be buffered or not.
Definition at line 120 of file BESInfo.h.
References BESInfo::_buffered.
virtual bool BESInfo::is_buffered | ( | ) | [inline, virtual, inherited] |
return whether the information is to be buffered or not.
Definition at line 130 of file BESInfo.h.
References BESInfo::_buffered.
Referenced by BESFilterTransmitter::send_html(), BESBasicHttpTransmitter::send_html(), BESFilterTransmitter::send_text(), and BESBasicHttpTransmitter::send_text().
ostream* BESInfo::_strm [protected, inherited] |
Definition at line 71 of file BESInfo.h.
Referenced by BESInfo::BESInfo(), BESInfo::print(), and BESInfo::~BESInfo().
bool BESInfo::_buffered [protected, inherited] |
Definition at line 72 of file BESInfo.h.
Referenced by BESTextInfo::add_data(), BESInfo::add_data(), add_data(), BESInfo::BESInfo(), BESInfo::dump(), BESInfo::is_buffered(), BESInfo::print(), BESInfo::set_buffered(), and BESInfo::~BESInfo().
bool BESInfo::_response_started [protected, inherited] |
Definition at line 73 of file BESInfo.h.
Referenced by BESInfo::begin_response(), BESInfo::dump(), and BESInfo::end_response().
stack<string> BESInfo::_tags [protected, inherited] |
Definition at line 75 of file BESInfo.h.
Referenced by BESInfo::begin_tag(), BESInfo::dump(), BESInfo::end_response(), and BESInfo::end_tag().
string BESInfo::_response_name [protected, inherited] |
Definition at line 76 of file BESInfo.h.
Referenced by BESXMLInfo::begin_response(), BESInfo::begin_response(), BESInfo::dump(), and BESXMLInfo::end_response().