12#ifndef ZYPP_CORE_PLUGINFRAME_H 
   13#define ZYPP_CORE_PLUGINFRAME_H 
   73      PluginFrame(
const std::string & command_r, std::string body_r );
 
  106      const std::string & command() 
const;
 
  111      void setCommand( 
const std::string & command_r );
 
  139      void setBody( 
const std::string & body_r );
 
  142      void setBody( 
const ByteArray & body_r );
 
  184      bool hasKey( 
const std::string & key_r )
 const 
 
  192      bool keySize( 
const std::string & key_r )
 const 
 
  208      const std::string & getHeader( 
const std::string & key_r ) 
const;
 
  213      const std::string & getHeader( 
const std::string & key_r, 
const std::string & default_r ) 
const;
 
  216      const std::string & getHeaderNT( 
const std::string & key_r, 
const std::string & default_r = std::string() ) 
const;
 
  222      void setHeader( 
const std::string & key_r, 
const std::string & value_r = std::string() );
 
  235      void addHeader( 
const std::string & key_r, 
const std::string & value_r = std::string() );
 
  237      void addHeader( HeaderInitializerList contents_r );
 
  243      void addRawHeader ( 
const ByteArray &header );
 
  246      void clearHeader( 
const std::string & key_r );
 
  252      std::ostream & writeTo( std::ostream & stream_r ) 
const;
 
  256      { 
return frame_r.
writeTo( stream_r ); }
 
 
  262      { *
this = 
PluginFrame( stream_r ); 
return stream_r; }
 
 
  266      { frame_r = 
PluginFrame( stream_r ); 
return stream_r; }
 
 
 
  292  { 
return( ! 
operator==( lhs, rhs ) ); }
 
 
Base class for PluginFrame Exception.
Command frame for communication with PluginScript.
static const std::string & ackCommand()
"ACK" command.
HeaderList::const_iterator HeaderListIterator
Header list iterator.
const std::initializer_list< std::pair< std::string, std::string > > & HeaderInitializerList
HeaderListIterator keyBegin(const std::string &key_r) const
Return iterator pointing to the 1st header for key_r (or keyEnd(key_r))
PluginFrame()
Default ctor (empty frame)
PluginFrameException Exception
Default exception type.
void headerClear()
Clear the list of headers.
void setHeader(HeaderInitializerList contents_r)
Set a new header list.
bool headerEmpty() const
Whether header list is empty.
bool keyEmpty(const std::string &key_r) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
unsigned headerSize() const
Return size of the header list.
static const std::string & contentLengthHeader()
"content-lenght" header name
bool isErrorCommand() const
Convenience to identify an ERROR command.
std::istream & readFrom(std::istream &stream_r)
Read frame from stream.
bool empty() const
Whether this is an empty frame.
static const std::string & enomethodCommand()
"_ENOMETHOD" command.
bool keySize(const std::string &key_r) const
Return number of header entries for key_r.
std::ostream & dumpOn(std::ostream &str, const PluginFrame &obj)
Stream output writing all data for logging (no throw)
const std::string & command() const
Return the frame command.
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.
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
bool isEnomethodCommand() const
Convenience to identify an _ENOMETHOD command.
HeaderListIterator keyEnd(const std::string &key_r) const
Return iterator pointing behind the last header for key_r.
static const std::string & errorCommand()
"ERROR" command.
bool operator!=(const PluginFrame &lhs, const PluginFrame &rhs)
Comparison based on content.
static std::istream & readFrom(std::istream &stream_r, PluginFrame &frame_r)
static std::ostream & writeTo(std::ostream &stream_r, const PluginFrame &frame_r)
HeaderListIterator headerEnd() const
Return iterator pointing behind the last header.
std::multimap< std::string, std::string > HeaderList
The header list.
std::istream & operator>>(std::istream &str, PluginFrame &obj)
Construct from stream.
HeaderList & headerList()
Modifyalble header list for internal use only.
bool isAckCommand() const
Convenience to identify an ACK command.
HeaderListIterator headerBegin() const
Return iterator pointing to the 1st header (or headerEnd)
std::ostream & writeTo(std::ostream &stream_r) const
Write frame to stream.
bool hasKey(const std::string &key_r) const
Whether the header list contains at least one entry for key_r.
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
bool operator==(const SetRelation::Enum &lhs, const SetCompare &rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
RW_pointer supporting 'copy on write' functionality.