libzypp 17.31.23
|
Command frame for communication with PluginScript. More...
#include <PluginFrame.h>
Classes | |
struct | Impl |
PluginFrame implementation. More... | |
Public Types | |
typedef PluginFrameException | Exception |
Default exception type. | |
typedef std::multimap< std::string, std::string > | HeaderList |
The header list. | |
typedef HeaderList::const_iterator | HeaderListIterator |
Header list iterator. | |
Public Member Functions | |
PluginFrame () | |
Default ctor (empty frame) | |
PluginFrame (const std::string &command_r) | |
Ctor taking the command. | |
PluginFrame (const std::string &command_r, const std::string &body_r) | |
Ctor taking command and body. | |
PluginFrame (const std::string &command_r, HeaderInitializerList contents_r) | |
Ctor taking the command and a HeaderInitializerList. | |
PluginFrame (const std::string &command_r, const std::string &body_r, HeaderInitializerList contents_r) | |
Ctor taking command, body and a HeaderInitializerList. | |
PluginFrame (std::istream &stream_r) | |
Ctor reading frame data from a stream. | |
bool | empty () const |
Whether this is an empty frame. | |
operator bool () const | |
Evaluate in a boolean context (not an empty frame) | |
const std::string & | command () const |
Return the frame command. | |
void | setCommand (const std::string &command_r) |
Set the frame command. | |
bool | isAckCommand () const |
Convenience to identify an ACK command. | |
bool | isErrorCommand () const |
Convenience to identify an ERROR command. | |
bool | isEnomethodCommand () const |
Convenience to identify an _ENOMETHOD command. | |
const std::string & | body () const |
Return the frame body. | |
std::string & | bodyRef () |
Return a reference to the frame body. | |
void | setBody (const std::string &body_r) |
Set the frame body. | |
const HeaderList & | headerList () const |
The header list. | |
bool | headerEmpty () const |
Whether header list is empty. | |
unsigned | headerSize () const |
Return size of the header list. | |
HeaderListIterator | headerBegin () const |
Return iterator pointing to the 1st header (or headerEnd) | |
HeaderListIterator | headerEnd () const |
Return iterator pointing behind the last header. | |
void | headerClear () |
Clear the list of headers. | |
bool | hasKey (const std::string &key_r) const |
Whether the header list contains at least one entry for key_r . | |
bool | keyEmpty (const std::string &key_r) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
bool | keySize (const std::string &key_r) const |
Return number of header entries for key_r . | |
HeaderListIterator | keyBegin (const std::string &key_r) const |
Return iterator pointing to the 1st header for key_r (or keyEnd(key_r)) | |
HeaderListIterator | keyEnd (const std::string &key_r) const |
Return iterator pointing behind the last header for key_r . | |
const std::string & | getHeader (const std::string &key_r) const |
Return header value for key_r . | |
const std::string & | getHeader (const std::string &key_r, const std::string &default_r) const |
Return header value for key_r or default_r if it does not exist. | |
const std::string & | getHeaderNT (const std::string &key_r, const std::string &default_r=std::string()) const |
Not throwing version returing one of the matching header values or default_r string. | |
void | setHeader (const std::string &key_r, const std::string &value_r=std::string()) |
Set header for key_r removing all other occurrences of key_r . | |
void | setHeader (HeaderInitializerList contents_r) |
Set a new header list. | |
void | addHeader (const std::string &key_r, const std::string &value_r=std::string()) |
Add header for key_r leaving already existing headers for key_r unchanged. | |
void | addHeader (HeaderInitializerList contents_r) |
void | clearHeader (const std::string &key_r) |
Remove all headers for key_r . | |
std::ostream & | writeTo (std::ostream &stream_r) const |
Write frame to stream. | |
std::istream & | readFrom (std::istream &stream_r) |
Read frame from stream. | |
Static Public Member Functions | |
static const std::string & | ackCommand () |
"ACK" command. | |
static const std::string & | errorCommand () |
"ERROR" command. | |
static const std::string & | enomethodCommand () |
"_ENOMETHOD" command. | |
static std::ostream & | writeTo (std::ostream &stream_r, const PluginFrame &frame_r) |
static std::istream & | readFrom (std::istream &stream_r, PluginFrame &frame_r) |
Private Types | |
typedef const std::initializer_list< std::pair< std::string, std::string > > & | HeaderInitializerList |
Private Member Functions | |
HeaderList & | headerList () |
Modifyalble header list for internal use only. | |
Private Attributes | |
RWCOW_pointer< Impl > | _pimpl |
Pointer to implementation. | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const PluginFrame &obj) |
bool | operator== (const PluginFrame &lhs, const PluginFrame &rhs) |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &str, const PluginFrame &obj) |
Stream output for logging. | |
std::ostream & | dumpOn (std::ostream &str, const PluginFrame &obj) |
Stream output writing all data for logging (no throw) | |
std::istream & | operator>> (std::istream &str, PluginFrame &obj) |
Construct from stream. | |
bool | operator== (const PluginFrame &lhs, const PluginFrame &rhs) |
Comparison based on content. | |
bool | operator!= (const PluginFrame &lhs, const PluginFrame &rhs) |
Comparison based on content. | |
Command frame for communication with PluginScript.
Definition at line 40 of file PluginFrame.h.
|
private |
Definition at line 45 of file PluginFrame.h.
Default exception type.
Definition at line 57 of file PluginFrame.h.
typedef std::multimap<std::string, std::string> zypp::PluginFrame::HeaderList |
The header list.
Definition at line 135 of file PluginFrame.h.
typedef HeaderList::const_iterator zypp::PluginFrame::HeaderListIterator |
Header list iterator.
Definition at line 138 of file PluginFrame.h.
zypp::PluginFrame::PluginFrame | ( | ) |
Default ctor (empty frame)
Definition at line 259 of file PluginFrame.cc.
zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r | ) |
Ctor taking the command.
PluginFrameException | If setCommand throws |
Definition at line 263 of file PluginFrame.cc.
zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
const std::string & | body_r | ||
) |
Ctor taking command and body.
PluginFrameException | If setCommand throws |
Definition at line 267 of file PluginFrame.cc.
zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
HeaderInitializerList | contents_r | ||
) |
Ctor taking the command and a HeaderInitializerList.
PluginFrameException | If setCommand throws |
Definition at line 271 of file PluginFrame.cc.
zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
const std::string & | body_r, | ||
HeaderInitializerList | contents_r | ||
) |
Ctor taking command, body and a HeaderInitializerList.
PluginFrameException | If setCommand throws |
Definition at line 275 of file PluginFrame.cc.
zypp::PluginFrame::PluginFrame | ( | std::istream & | stream_r | ) |
Ctor reading frame data from a stream.
PluginFrameException | On error reading from stream |
PluginFrameException | On error parsing the data |
Definition at line 279 of file PluginFrame.cc.
|
static |
"ACK" command.
Definition at line 241 of file PluginFrame.cc.
|
static |
"ERROR" command.
Definition at line 247 of file PluginFrame.cc.
|
static |
"_ENOMETHOD" command.
Definition at line 253 of file PluginFrame.cc.
bool zypp::PluginFrame::empty | ( | ) | const |
Whether this is an empty frame.
Definition at line 283 of file PluginFrame.cc.
|
inlineexplicit |
Evaluate in a boolean context (not an empty frame)
Definition at line 93 of file PluginFrame.h.
const std::string & zypp::PluginFrame::command | ( | ) | const |
Return the frame command.
Definition at line 286 of file PluginFrame.cc.
void zypp::PluginFrame::setCommand | ( | const std::string & | command_r | ) |
Set the frame command.
PluginFrameException | If illegal command string (e.g. multiline) |
Definition at line 289 of file PluginFrame.cc.
|
inline |
Convenience to identify an ACK command.
Definition at line 106 of file PluginFrame.h.
|
inline |
Convenience to identify an ERROR command.
Definition at line 110 of file PluginFrame.h.
|
inline |
Convenience to identify an _ENOMETHOD command.
Definition at line 114 of file PluginFrame.h.
const std::string & zypp::PluginFrame::body | ( | ) | const |
Return the frame body.
Definition at line 292 of file PluginFrame.cc.
std::string & zypp::PluginFrame::bodyRef | ( | ) |
Return a reference to the frame body.
This may avoid creating unnecessary copies if you want to manipulate large body data.
Definition at line 295 of file PluginFrame.cc.
void zypp::PluginFrame::setBody | ( | const std::string & | body_r | ) |
Set the frame body.
Definition at line 298 of file PluginFrame.cc.
|
private |
Modifyalble header list for internal use only.
Definition at line 304 of file PluginFrame.cc.
const PluginFrame::HeaderList & zypp::PluginFrame::headerList | ( | ) | const |
The header list.
Definition at line 307 of file PluginFrame.cc.
|
inline |
Whether header list is empty.
Definition at line 149 of file PluginFrame.h.
|
inline |
Return size of the header list.
Definition at line 153 of file PluginFrame.h.
|
inline |
Return iterator pointing to the 1st header (or headerEnd)
Definition at line 157 of file PluginFrame.h.
|
inline |
Return iterator pointing behind the last header.
Definition at line 161 of file PluginFrame.h.
|
inline |
Clear the list of headers.
Definition at line 165 of file PluginFrame.h.
|
inline |
Whether the header list contains at least one entry for key_r
.
Definition at line 170 of file PluginFrame.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 174 of file PluginFrame.h.
|
inline |
Return number of header entries for key_r
.
Definition at line 178 of file PluginFrame.h.
|
inline |
Return iterator pointing to the 1st header for key_r
(or keyEnd(key_r))
Definition at line 182 of file PluginFrame.h.
|
inline |
Return iterator pointing behind the last header for key_r
.
Definition at line 186 of file PluginFrame.h.
const std::string & zypp::PluginFrame::getHeader | ( | const std::string & | key_r | ) | const |
Return header value for key_r
.
PluginFrameException | If no header for key_r exists. |
PluginFrameException | If multiple header for key_r exist. |
Definition at line 310 of file PluginFrame.cc.
const std::string & zypp::PluginFrame::getHeader | ( | const std::string & | key_r, |
const std::string & | default_r | ||
) | const |
Return header value for key_r
or default_r
if it does not exist.
PluginFrameException | If multiple header for key_r exist. |
Definition at line 313 of file PluginFrame.cc.
const std::string & zypp::PluginFrame::getHeaderNT | ( | const std::string & | key_r, |
const std::string & | default_r = std::string() |
||
) | const |
Not throwing version returing one of the matching header values or default_r
string.
Definition at line 316 of file PluginFrame.cc.
void zypp::PluginFrame::setHeader | ( | const std::string & | key_r, |
const std::string & | value_r = std::string() |
||
) |
Set header for key_r
removing all other occurrences of key_r
.
PluginFrameException | If key contains illegal chars (NL or :) |
PluginFrameException | If value contains illegal chars (NL ) |
Definition at line 319 of file PluginFrame.cc.
|
inline |
Set a new header list.
PluginFrameException | If key contains illegal chars (NL or :) |
PluginFrameException | If value contains illegal chars (NL ) |
Definition at line 214 of file PluginFrame.h.
void zypp::PluginFrame::addHeader | ( | const std::string & | key_r, |
const std::string & | value_r = std::string() |
||
) |
Add header for key_r
leaving already existing headers for key_r
unchanged.
PluginFrameException | If key contains illegal chars (NL or :) |
PluginFrameException | If value contains illegal chars (NL ) |
Definition at line 322 of file PluginFrame.cc.
void zypp::PluginFrame::addHeader | ( | HeaderInitializerList | contents_r | ) |
Definition at line 325 of file PluginFrame.cc.
void zypp::PluginFrame::clearHeader | ( | const std::string & | key_r | ) |
Remove all headers for key_r
.
Definition at line 328 of file PluginFrame.cc.
std::ostream & zypp::PluginFrame::writeTo | ( | std::ostream & | stream_r | ) | const |
Write frame to stream.
PluginFrameException | On error writing to stream |
Definition at line 301 of file PluginFrame.cc.
|
inlinestatic |
Definition at line 235 of file PluginFrame.h.
|
inline |
Read frame from stream.
PluginFrameException | If PluginFrame(std::istream&) throws |
Definition at line 241 of file PluginFrame.h.
|
inlinestatic |
Definition at line 245 of file PluginFrame.h.
|
friend |
Definition at line 333 of file PluginFrame.cc.
|
friend |
Definition at line 336 of file PluginFrame.cc.
|
related |
Stream output for logging.
Definition at line 333 of file PluginFrame.cc.
|
related |
Stream output writing all data for logging (no throw)
Definition at line 260 of file PluginFrame.h.
|
related |
Construct from stream.
Definition at line 264 of file PluginFrame.h.
|
related |
Comparison based on content.
Definition at line 336 of file PluginFrame.cc.
|
related |
Comparison based on content.
Definition at line 271 of file PluginFrame.h.
|
private |
Pointer to implementation.
Definition at line 253 of file PluginFrame.h.