1#if !defined(RESIP_VIA_HXX)
57#define defineParam(_enum, _name, _type, _RFC_ref_ignored) \
58 const _enum##_Param::DType& param(const _enum##_Param& paramType) const; \
59 _enum##_Param::DType& param(const _enum##_Param& paramType); \
60 friend class _enum##_Param
74 Data mProtocolVersion;
Represents the "via-branch" parameter of the RFC 3261 grammar.
Generically represents miscellaneous parameter data.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Parameter *(* Factory)(ParameterTypes::Type, ParseBuffer &, const std::bitset< 256 > &terminators, PoolBase *pool)
Provides string-parsing functionality with protection from buffer overflow.
Base class for all SIP grammar elements that can have parameters.
void remove(const ParamBase ¶mType)
Removes a natively supported parameter, if the parameter is present.
bool exists(const ParamBase ¶mType) const
Checks for the existence of a natively supported parameter.
@ CommasAllowedOutputMulti
const Data & param(const ExtensionParameter ¶m) const
Const accessor for non-natively-supported parameter types.
Container class for ParserCategory, used by SipMessage to represent multi-valued headers (Contact,...
Generically represents miscellaneous parameter data that is encoded using double quotes.
Represents the "via-received" element in the RFC 3261 grammar.
Represents the "response-port" element of the SIP grammar (as extended in RFC 3581).
Generically represents unsigned 32-bit integer values conveyed by SIP parameters.
Represents the "via-parm" element in the RFC 3261 grammar.
void remove(const Param< Via > ¶mType)
defineParam(ttl, "ttl", UInt32Parameter, "RFC 3261")
defineParam(received, "received", ReceivedParameter, "RFC 3261")
virtual void parse(ParseBuffer &pb)
static constexpr CommaHandlingMode commaHandling
virtual ParserCategory * clone() const
defineParam(branch, "branch", BranchParameter, "RFC 3261")
defineParam(comp, "comp", DataParameter, "RFC 3486")
defineParam(rport, "rport", RportParameter, "RFC 3581")
Via & operator=(const Via &)
bool exists(const Param< Via > ¶mType) const
defineParam(sigcompId, "sigcomp-id", QuotedDataParameter, "RFC 5049")
defineParam(maddr, "maddr", DataParameter, "RFC 3261")
virtual Parameter * createParam(ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool)
virtual EncodeStream & encodeParsed(EncodeStream &str) const
dcm! – add UnusedChecking(_enum) below;
ParserContainer< Via > Vias