|
libzypp 17.37.4
|
Command frame for communication with PluginScript. More...
#include <zypp-core/rpc/PluginFrame.h>
Classes | |
| struct | Impl |
| PluginFrame implementation. More... | |
Public Types | |
| using | Exception = PluginFrameException |
| Default exception type. | |
| using | HeaderList = std::multimap<std::string, std::string> |
| The header list. | |
| using | HeaderListIterator = HeaderList::const_iterator |
| 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, std::string body_r) | |
| Ctor taking command and body. | |
| PluginFrame (const std::string &command_r, ByteArray 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, ByteArray 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 ByteArray & | body () const |
| Return the frame body. | |
| ByteArray & | bodyRef () |
| Return a reference to the frame body. | |
| void | setBody (const std::string &body_r) |
| Set the frame body. | |
| void | setBody (const ByteArray &body_r) |
| Set the frame body. | |
| void | setBody (ByteArray &&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 | addRawHeader (const ByteArray &header) |
| 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 const std::string & | contentLengthHeader () |
| "content-lenght" header name | |
| 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 | |
| using | HeaderInitializerList = const std::initializer_list<std::pair<std::string, std::string>> & |
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 Symbols | |
(Note that these are not member symbols.) | |
| std::ostream & | operator<< (std::ostream &str, const PluginFrame::Impl &obj) |
| Stream output. | |
| 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 41 of file PluginFrame.h.
|
private |
Definition at line 46 of file PluginFrame.h.
Default exception type.
Definition at line 60 of file PluginFrame.h.
| using zypp::PluginFrame::HeaderList = std::multimap<std::string, std::string> |
The header list.
Definition at line 149 of file PluginFrame.h.
| using zypp::PluginFrame::HeaderListIterator = HeaderList::const_iterator |
Header list iterator.
Definition at line 152 of file PluginFrame.h.
| zypp::PluginFrame::PluginFrame | ( | ) |
Default ctor (empty frame)
Definition at line 408 of file PluginFrame.cc.
| zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r | ) |
Ctor taking the command.
| PluginFrameException | If setCommand throws |
Definition at line 412 of file PluginFrame.cc.
| zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
| std::string | body_r ) |
Ctor taking command and body.
| PluginFrameException | If setCommand throws |
Definition at line 416 of file PluginFrame.cc.
| zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
| ByteArray | body_r ) |
Ctor taking command and body.
| PluginFrameException | If setCommand throws |
Definition at line 420 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 424 of file PluginFrame.cc.
| zypp::PluginFrame::PluginFrame | ( | const std::string & | command_r, |
| ByteArray | body_r, | ||
| HeaderInitializerList | contents_r ) |
Ctor taking command, body and a HeaderInitializerList.
| PluginFrameException | If setCommand throws |
Definition at line 428 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 432 of file PluginFrame.cc.
|
static |
"ACK" command.
Definition at line 384 of file PluginFrame.cc.
|
static |
"ERROR" command.
Definition at line 390 of file PluginFrame.cc.
|
static |
"_ENOMETHOD" command.
Definition at line 396 of file PluginFrame.cc.
|
static |
"content-lenght" header name
Definition at line 402 of file PluginFrame.cc.
| bool zypp::PluginFrame::empty | ( | ) | const |
Whether this is an empty frame.
Definition at line 436 of file PluginFrame.cc.
|
inlineexplicit |
Evaluate in a boolean context (not an empty frame)
Definition at line 101 of file PluginFrame.h.
| const std::string & zypp::PluginFrame::command | ( | ) | const |
Return the frame command.
Definition at line 439 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 442 of file PluginFrame.cc.
|
inline |
Convenience to identify an ACK command.
Definition at line 114 of file PluginFrame.h.
|
inline |
Convenience to identify an ERROR command.
Definition at line 118 of file PluginFrame.h.
|
inline |
Convenience to identify an _ENOMETHOD command.
Definition at line 122 of file PluginFrame.h.
| const ByteArray & zypp::PluginFrame::body | ( | ) | const |
Return the frame body.
Definition at line 445 of file PluginFrame.cc.
| ByteArray & 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 448 of file PluginFrame.cc.
| void zypp::PluginFrame::setBody | ( | const std::string & | body_r | ) |
Set the frame body.
Definition at line 451 of file PluginFrame.cc.
| void zypp::PluginFrame::setBody | ( | const ByteArray & | body_r | ) |
Set the frame body.
Definition at line 454 of file PluginFrame.cc.
| void zypp::PluginFrame::setBody | ( | ByteArray && | body_r | ) |
Set the frame body.
Definition at line 457 of file PluginFrame.cc.
|
private |
Modifyalble header list for internal use only.
Definition at line 463 of file PluginFrame.cc.
| const PluginFrame::HeaderList & zypp::PluginFrame::headerList | ( | ) | const |
The header list.
Definition at line 466 of file PluginFrame.cc.
|
inline |
Whether header list is empty.
Definition at line 163 of file PluginFrame.h.
|
inline |
Return size of the header list.
Definition at line 167 of file PluginFrame.h.
|
inline |
Return iterator pointing to the 1st header (or headerEnd)
Definition at line 171 of file PluginFrame.h.
|
inline |
Return iterator pointing behind the last header.
Definition at line 175 of file PluginFrame.h.
|
inline |
Clear the list of headers.
Definition at line 179 of file PluginFrame.h.
|
inline |
Whether the header list contains at least one entry for key_r.
Definition at line 184 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 188 of file PluginFrame.h.
|
inline |
Return number of header entries for key_r.
Definition at line 192 of file PluginFrame.h.
|
inline |
Return iterator pointing to the 1st header for key_r (or keyEnd(key_r))
Definition at line 196 of file PluginFrame.h.
|
inline |
Return iterator pointing behind the last header for key_r.
Definition at line 200 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 469 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 472 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 475 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 478 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 228 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 481 of file PluginFrame.cc.
| void zypp::PluginFrame::addHeader | ( | HeaderInitializerList | contents_r | ) |
Definition at line 484 of file PluginFrame.cc.
| void zypp::PluginFrame::addRawHeader | ( | const ByteArray & | header | ) |
Parses the header line in header and if it is valid adds it to the internal header list.
Definition at line 487 of file PluginFrame.cc.
| void zypp::PluginFrame::clearHeader | ( | const std::string & | key_r | ) |
Remove all headers for key_r.
Definition at line 492 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 460 of file PluginFrame.cc.
|
inlinestatic |
Definition at line 255 of file PluginFrame.h.
|
inline |
Read frame from stream.
| PluginFrameException | If PluginFrame(std::istream&) throws |
Definition at line 261 of file PluginFrame.h.
|
inlinestatic |
Definition at line 265 of file PluginFrame.h.
|
friend |
Definition at line 497 of file PluginFrame.cc.
|
friend |
Definition at line 500 of file PluginFrame.cc.
|
Stream output for logging.
Definition at line 497 of file PluginFrame.cc.
|
Stream output writing all data for logging (no throw)
Definition at line 280 of file PluginFrame.h.
|
Construct from stream.
Definition at line 284 of file PluginFrame.h.
|
Comparison based on content.
Definition at line 500 of file PluginFrame.cc.
|
Comparison based on content.
Definition at line 291 of file PluginFrame.h.
|
private |
Pointer to implementation.
Definition at line 273 of file PluginFrame.h.