34#define BESXMLInfo_h_ 1
36#include <libxml/encoding.h>
37#include <libxml/xmlwriter.h>
50 xmlTextWriterPtr _writer;
51 xmlBufferPtr _doc_buf;
58 void begin_tag(
const std::string &tag_name,
59 const std::string &ns,
60 const std::string &uri,
61 std::map<std::string, std::string, std::less<>> *attrs);
70 void add_tag(
const std::string &tag_name,
const std::string &tag_data, std::map<std::string, std::string, std::less<>> *attrs=
nullptr)
override;
71 void begin_tag(
const std::string &tag_name, std::map<std::string, std::string, std::less<>> *attrs=
nullptr)
override;
72 void end_tag(
const std::string &tag_name)
override;
74 void add_data(
const std::string &s)
override;
75 void add_space(
unsigned long num_spaces)
override;
76 void add_break(
unsigned long num_breaks)
override;
79 void print(std::ostream &strm)
override;
82 void dump(std::ostream &strm)
const override;
84 static BESInfo *BuildXMLInfo(
const std::string &info_type);
Structure storing information used by the BES to handle the request.
BESInfo()
constructs a BESInfo object
void add_tag(const std::string &tag_name, const std::string &tag_data, std::map< std::string, std::string, std::less<> > *attrs=nullptr) override
add tagged information to the informational response
void dump(std::ostream &strm) const override
dumps information about this object
void add_data(const std::string &s) override
add data to this informational object. If buffering is not set then the information is output directl...
void add_break(unsigned long num_breaks) override
add a line break to the information
void add_data_from_file(const std::string &key, const std::string &name) override
add data from a file to the informational object
void end_tag(const std::string &tag_name) override
end a tagged part of the informational response
void begin_response(const std::string &response_name, BESDataHandlerInterface &dhi) override
begin the informational response
void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi) override
transmit the text information as text
void add_space(unsigned long num_spaces) override
add a space to the informational response
BESXMLInfo()
constructs an informational response object as an xml document
void print(std::ostream &strm) override
print the information from this informational object to the specified stream
void begin_tag(const std::string &tag_name, const std::string &ns, const std::string &uri, std::map< std::string, std::string, std::less<> > *attrs)
begin a tagged part of the information, information to follow
void end_response() override
end the response