1#if !defined(RESIP_IDENTITY_CATEGORY_HXX)
2#define RESIP_IDENTITY_CATEGORY_HXX
53#define defineParam(_enum, _name, _type, _RFC_ref_ignored) \
54 const _enum##_Param::DType& param(const _enum##_Param& paramType) const; \
55 _enum##_Param::DType& param(const _enum##_Param& paramType); \
56 friend class _enum##_Param
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents an Identity header from RFC8824.
IdentityCategory & operator=(const IdentityCategory &)
static constexpr CommaHandlingMode commaHandling
const Data & value() const
Gets the value (ie; no parameters) of this IdentityCategory as a Data&.
defineParam(info, "info", UriParameter, "RFC 8224")
bool exists(const Param< IdentityCategory > ¶mType) const
virtual Parameter * createParam(ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool)
virtual void parse(ParseBuffer &pb)
virtual EncodeStream & encodeParsed(EncodeStream &str) const
void remove(const Param< IdentityCategory > ¶mType)
virtual ParserCategory * clone() const
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,...
Represents a URI enclosed in angle brackets, used in Identity headers for RFC8224.
dcm! – add UnusedChecking(_enum) below;
ParserContainer< IdentityCategory > IdentityCategories