libzypp 17.37.17
providemessage.cc File Reference
#include "private/providemessage_p.h"
#include "zypp-core/zyppng/rpc/stompframestream.h"
#include <zypp-core/Url.h>
#include <string_view>
#include <string>
Include dependency graph for providemessage.cc:

Go to the source code of this file.

Namespaces

namespace  zyppng

Macros

#define DEF_REQ_FIELD(fname)
#define PARSE_FIELD(msgtype, fname, ftype, _C_)
#define HANDLE_UNKNOWN_FIELD(fname, val)
#define OR_HANDLE_UNKNOWN_FIELD(fname, val)
#define BEGIN_PARSE_HEADERS
#define END_PARSE_HEADERS   }
#define PARSE_REQ_FIELD(msgtype, fname, ftype)
#define OR_PARSE_REQ_FIELD(msgtype, fname, ftype)
#define PARSE_OPT_FIELD(msgtype, fname, ftype)
#define OR_PARSE_OPT_FIELD(msgtype, fname, ftype)
#define FAIL_IF_NOT_SEEN_REQ_FIELD(msgtype, fname)

Functions

template<typename T>
static zyppng::expected< void > zyppng::doParseField (const std::string &val, ProvideMessage &t, std::string_view msgtype, std::string_view name)

Macro Definition Documentation

◆ DEF_REQ_FIELD

#define DEF_REQ_FIELD ( fname)
Value:
bool has_##fname = false

◆ PARSE_FIELD

#define PARSE_FIELD ( msgtype,
fname,
ftype,
_C_ )
Value:
if ( name == #fname ) { \
const auto &res = doParseField<ftype>( val, pMessage, #msgtype, #fname ); \
if ( !res ) { \
} \
_C_ \
}

◆ HANDLE_UNKNOWN_FIELD

#define HANDLE_UNKNOWN_FIELD ( fname,
val )
Value:
{ \
pMessage.addValue( fname, val ); \
}

◆ OR_HANDLE_UNKNOWN_FIELD

#define OR_HANDLE_UNKNOWN_FIELD ( fname,
val )
Value:
else HANDLE_UNKNOWN_FIELD( fname, val )
#define HANDLE_UNKNOWN_FIELD(fname, val)

◆ BEGIN_PARSE_HEADERS

#define BEGIN_PARSE_HEADERS
Value:
for ( const auto &header : msg.headerList() ) { \
const auto &name = header.first; \
const auto &val = header.second;

◆ END_PARSE_HEADERS

#define END_PARSE_HEADERS   }

◆ PARSE_REQ_FIELD

#define PARSE_REQ_FIELD ( msgtype,
fname,
ftype )
Value:
PARSE_FIELD( msgtype, fname, ftype, has_##fname = true; )
#define PARSE_FIELD(msgtype, fname, ftype, _C_)

◆ OR_PARSE_REQ_FIELD

#define OR_PARSE_REQ_FIELD ( msgtype,
fname,
ftype )
Value:
else PARSE_REQ_FIELD( msgtype, fname, ftype )
#define PARSE_REQ_FIELD(msgtype, fname, ftype)

◆ PARSE_OPT_FIELD

#define PARSE_OPT_FIELD ( msgtype,
fname,
ftype )
Value:
PARSE_FIELD( msgtype, fname, ftype, )

◆ OR_PARSE_OPT_FIELD

#define OR_PARSE_OPT_FIELD ( msgtype,
fname,
ftype )
Value:
else PARSE_OPT_FIELD( msgtype, fname, ftype )
#define PARSE_OPT_FIELD(msgtype, fname, ftype)

◆ FAIL_IF_NOT_SEEN_REQ_FIELD

#define FAIL_IF_NOT_SEEN_REQ_FIELD ( msgtype,
fname )
Value:
if ( !has_##fname ) \
return expected<ProvideMessage>::error( ZYPP_EXCPT_PTR( InvalidMessageReceivedException( zypp::str::Str() << #msgtype <<" message does not contain required " << #fname << " field" ) ) )
Convenient building of std::string via std::ostringstream Basically a std::ostringstream autoconverti...
Definition String.h:213
#define ZYPP_EXCPT_PTR(EXCPT)
Drops a logline and returns Exception as a std::exception_ptr.
Definition Exception.h:463