41#include "BESResponseObject.h"
42#include "BESDataHandlerInterface.h"
43#include "BESTransmitter.h"
68 bool _response_started;
70 std::stack<std::string> _tags;
71 std::string _response_name;
75 BESInfo(
const std::string &buffered_key, std::ostream *strm,
bool strm_owned);
80 std::map<std::string, std::string, std::less<>> *attrs,
82 virtual void end_response();
84 virtual void add_tag(
const std::string &tag_name,
85 const std::string &tag_data,
86 std::map<std::string, std::string, std::less<>> *attrs =
nullptr) = 0;
87 virtual void begin_tag(
const std::string &tag_name,
88 std::map<std::string, std::string, std::less<>> *attrs =
nullptr);
89 virtual void end_tag(
const std::string &tag_name);
91 virtual void add_data(
const std::string &s);
92 virtual void add_space(
unsigned long num_spaces) = 0;
93 virtual void add_break(
unsigned long num_breaks) = 0;
110 virtual void print(std::ostream &strm);
125 virtual void dump(std::ostream &strm)
const;
Structure storing information used by the BES to handle the request.
Base exception class for the BES with basic string message.
virtual bool is_buffered()
return whether the information is to be buffered or not.
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)=0
transmit the informational object
virtual void add_data(const std::string &s)
add data to this informational object. If buffering is not set then the information is output directl...
BESInfo()
constructs a BESInfo object
virtual void begin_response(const std::string &response_name, BESDataHandlerInterface &dhi)
begin the informational response
virtual void print(std::ostream &strm)
print the information from this informational object to the specified stream
virtual void dump(std::ostream &strm) const
Displays debug information about this object.
virtual void add_data_from_file(const std::string &key, const std::string &name)
add data from a file to the informational object.
virtual void add_exception(const BESError &e, const std::string &admin)
add exception information to this informational object