26#ifndef TAGLIB_MP4ITEMFACTORY_H
27#define TAGLIB_MP4ITEMFACTORY_H
256 std::unique_ptr<ItemFactoryPrivate> d;
A list of ByteVectors.
Definition tbytevectorlist.h:42
A byte vector.
Definition tbytevector.h:46
A generic, implicitly shared list.
Definition tlist.h:54
A factory for creating MP4 items during parsing.
Definition mp4itemfactory.h:70
static ByteVector renderText(const ByteVector &name, const MP4::Item &item, int flags=TypeUTF8)
static ItemFactory * instance()
static std::pair< String, Item > parseUInt(const MP4::Atom *atom, const ByteVector &bytes)
virtual std::pair< String, StringList > itemToProperty(const ByteVector &itemName, const Item &item) const
static std::pair< String, Item > parseTextOrInt(const MP4::Atom *atom, const ByteVector &bytes)
ItemFactory & operator=(const ItemFactory &)=delete
static std::pair< String, Item > parseGnre(const MP4::Atom *atom, const ByteVector &bytes)
static ByteVector renderIntPairNoTrailing(const ByteVector &name, const MP4::Item &item)
static ByteVector renderInt(const ByteVector &name, const MP4::Item &item)
static ByteVector renderByte(const ByteVector &name, const MP4::Item &item)
static std::pair< String, Item > parseFreeForm(const MP4::Atom *atom, const ByteVector &bytes)
static std::pair< String, Item > parseIntPair(const MP4::Atom *atom, const ByteVector &bytes)
virtual ByteVector renderItem(const String &itemName, const Item &item) const
static ByteVector renderLongLong(const ByteVector &name, const MP4::Item &item)
static ByteVectorList parseData(const MP4::Atom *atom, const ByteVector &bytes, int expectedFlags=-1, bool freeForm=false)
virtual ByteVector nameForPropertyKey(const String &key) const
static ByteVector renderBool(const ByteVector &name, const MP4::Item &item)
static ByteVector renderAtom(const ByteVector &name, const ByteVector &data)
static std::pair< String, Item > parseLongLong(const MP4::Atom *atom, const ByteVector &bytes)
static ByteVector renderStem(const ByteVector &name, const MP4::Item &item)
static MP4::AtomDataList parseData2(const MP4::Atom *atom, const ByteVector &data, int expectedFlags=-1, bool freeForm=false)
static ByteVector renderCovr(const ByteVector &name, const MP4::Item &item)
static ByteVector renderTextOrInt(const ByteVector &name, const MP4::Item &item)
virtual ItemHandlerType handlerTypeForName(const ByteVector &name) const
virtual std::pair< ByteVector, Item > itemFromProperty(const String &key, const StringList &values) const
static std::pair< String, Item > parseInt(const MP4::Atom *atom, const ByteVector &bytes)
ItemHandlerType
Definition mp4itemfactory.h:132
static ByteVector renderData(const ByteVector &name, int flags, const ByteVectorList &data)
virtual String propertyKeyForName(const ByteVector &name) const
static std::pair< String, Item > parseBool(const MP4::Atom *atom, const ByteVector &bytes)
static std::pair< String, Item > parseCovr(const MP4::Atom *atom, const ByteVector &data)
static std::pair< String, Item > parseByte(const MP4::Atom *atom, const ByteVector &bytes)
virtual Map< ByteVector, String > namePropertyMap() const
ItemFactory(const ItemFactory &)=delete
static std::pair< String, Item > parseText(const MP4::Atom *atom, const ByteVector &bytes, int expectedFlags=1)
virtual NameHandlerMap nameHandlerMap() const
static ByteVector renderIntPair(const ByteVector &name, const MP4::Item &item)
static ByteVector renderFreeForm(const String &name, const MP4::Item &item)
static ByteVector renderUInt(const ByteVector &name, const MP4::Item &item)
static std::pair< String, Item > parseStem(const MP4::Atom *atom, const ByteVector &data)
virtual std::pair< String, Item > parseItem(const Atom *atom, const ByteVector &data) const
MP4 item.
Definition mp4item.h:38
A list of strings.
Definition tstringlist.h:44
A wide string class suitable for unicode.
Definition tstring.h:83
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
#define TAGLIB_EXPORT
Definition taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55