1#if !defined(RESIP_CALLID_HXX)
2#define RESIP_CALLID_HXX
48 const std::bitset<256>& terminators,
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
Represents the "callid" element in the SIP grammar.
void remove(const Param< CallID > ¶mType)
bool operator==(const CallID &) const
bool exists(const Param< CallID > ¶mType) const
CallID & operator=(const CallID &)
virtual void parse(ParseBuffer &pb)
virtual EncodeStream & encodeParsed(EncodeStream &str) const
defineParam(toTag, "to-tag", DataParameter, "RFC 3891 (not in IANA, apparently)")
virtual ParserCategory * clone() const
defineParam(fromTag, "from-tag", DataParameter, "RFC 3891 (not in IANA, apparently)")
defineParam(earlyOnly, "early-only", ExistsParameter, "RFC 3891 (not in IANA, apparently)")
static constexpr CommaHandlingMode commaHandling
virtual Parameter * createParam(ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool)
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,...
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.
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,...
dcm! – add UnusedChecking(_enum) below;
ParserContainer< CallID > CallIDs