1#if !defined(RESIP_NAME_ADDR_HXX)
2#define RESIP_NAME_ADDR_HXX
28 explicit NameAddr(
const Data& unparsed,
bool preCacheAor=
false);
63#define defineParam(_enum, _name, _type, _RFC_ref_ignored) \
64 const _enum##_Param::DType& param(const _enum##_Param& paramType) const; \
65 _enum##_Param::DType& param(const _enum##_Param& paramType); \
66 friend class _enum##_Param
Generically represents miscellaneous parameter data.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents various parameters that are indicated to be in effect merely by being present,...
Represents the "name-addr" and the "addr-spec" elements in the RFC 3261 grammar.
defineParam(extensions, "extensions", QuotedDataParameter, "RFC 3840")
bool operator<(const NameAddr &other) const
defineParam(pubGruu, "pub-gruu", QuotedDataParameter, "RFC 5627")
defineParam(text, "text", ExistsOrDataParameter, "RFC 3840")
NameAddr & operator=(const NameAddr &)
defineParam(mobility, "mobility", QuotedDataParameter, "RFC 3840")
defineParam(limit, "limit", UInt32Parameter, "RFC 5806")
defineParam(reason, "reason", DataParameter, "RFC 5806")
defineParam(data, "data", ExistsParameter, "RFC 3840")
bool operator==(const NameAddr &other) const
bool mustQuoteDisplayName() const
static constexpr CommaHandlingMode commaHandling
defineParam(language, "language", QuotedDataParameter, "RFC 3840")
defineParam(schemes, "schemes", QuotedDataParameter, "RFC 3840")
void remove(const Param< NameAddr > ¶mType)
defineParam(regid, "reg-id", UInt32Parameter, "RFC 5626")
virtual ParserCategory * clone() const
defineParam(priority, "priority", QuotedDataParameter, "RFC 3840")
defineParam(tempGruu, "temp-gruu", QuotedDataParameter, "RFC 5627")
defineParam(np, "np", DataParameter, "RFC 4244-bis")
defineParam(video, "video", ExistsParameter, "RFC 3840")
virtual EncodeStream & encodeParsed(EncodeStream &str) const
defineParam(methods, "methods", QuotedDataParameter, "RFC 3840")
defineParam(events, "events", QuotedDataParameter, "RFC 3840")
defineParam(tag, "tag", DataParameter, "RFC 3261")
defineParam(q, "q", QValueParameter, "RFC 3261")
defineParam(actor, "actor", QuotedDataParameter, "RFC 3840")
void adjustDisplayNameIfNeeded()
defineParam(Instance, "+sip.instance", QuotedDataParameter, "RFC 5626")
defineParam(expires, "expires", UInt32Parameter, "RFC 3261")
defineParam(type, "type", QuotedDataParameter, "RFC 3840")
virtual void parse(ParseBuffer &pb)
defineParam(control, "control", ExistsParameter, "RFC 3840")
bool isAllContacts() const
defineParam(counter, "counter", UInt32Parameter, "RFC 5806")
defineParam(index, "index", DataParameter, "RFC 4244")
Data * mUnknownUriParametersBuffer
defineParam(application, "application", ExistsParameter, "RFC 3840")
defineParam(isFocus, "isfocus", ExistsParameter, "RFC 3840")
defineParam(privacy, "privacy", DataParameter, "RFC 5806")
defineParam(description, "description", QuotedDataParameter, "RFC 3840")
defineParam(rc, "rc", DataParameter, "RFC 4244-bis")
defineParam(screen, "screen", DataParameter, "RFC 5806")
bool exists(const Param< NameAddr > ¶mType) const
virtual Parameter * createParam(ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool)
defineParam(mp, "mp", DataParameter, "RFC 4244-bis")
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 the "q" parameter value of the RFC 3261 grammar.
Generically represents miscellaneous parameter data that is encoded using double quotes.
Generically represents unsigned 32-bit integer values conveyed by SIP parameters.
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
dcm! – add UnusedChecking(_enum) below;
ParserContainer< NameAddr > NameAddrs