1#if !defined(RESIP_MIME_HXX)
13class HeaderFieldValue;
59#define defineParam(_enum, _name, _type, _RFC_ref_ignored) \
60 const _enum##_Param::DType& param(const _enum##_Param& paramType) const; \
61 _enum##_Param::DType& param(const _enum##_Param& paramType); \
62 friend class _enum##_Param
Wraps your platform's implementation of hash_map, hash_multimap, and hash_set.
Generically represents miscellaneous parameter data.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents the "media-type" element in the RFC 3261 grammar.
virtual void parse(ParseBuffer &pb)
static constexpr CommaHandlingMode commaHandling
virtual Parameter * createParam(ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool)
defineParam(name, "name", DataParameter, "RFC 2046")
virtual ParserCategory * clone() const
const Data & subType() const
defineParam(directory, "directory", DataParameter, "RFC 2046")
defineParam(size, "size", DataParameter, "RFC 2046")
defineParam(accessType, "access-type", DataParameter, "RFC 2046")
bool isEqual(const Mime &rhs) const
defineParam(permission, "permission", DataParameter, "RFC 2046")
defineParam(charset, "charset", DataParameter, "RFC 2045")
bool exists(const Param< Mime > ¶mType) const
defineParam(mode, "mode", DataParameter, "RFC 2046")
defineParam(site, "site", DataParameter, "RFC 2046")
defineParam(smimeType, "smime-type", DataParameter, "RFC 2633")
bool operator!=(const Mime &rhs) const
Mime & operator=(const Mime &)
defineParam(server, "server", DataParameter, "RFC 2046")
bool operator==(const Mime &rhs) const
defineParam(q, "q", QValueParameter, "RFC 3261")
bool operator<(const Mime &rhs) const
defineParam(url, "url", QuotedDataParameter, "RFC 4483")
defineParam(protocol, "protocol", QuotedDataParameter, "RFC 1847")
void remove(const Param< Mime > ¶mType)
const Data & type() const
defineParam(micalg, "micalg", DataParameter, "RFC 1847")
defineParam(expiration, "expiration", QuotedDataParameter, "RFC 2046")
virtual EncodeStream & encodeParsed(EncodeStream &str) const
defineParam(boundary, "boundary", DataParameter, "RFC 2046")
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.
@ CommasAllowedOutputCommas
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.
dcm! – add UnusedChecking(_enum) below;
ParserContainer< Mime > Mimes