Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef TAGLIB_MP4ITEM_H
00027 #define TAGLIB_MP4ITEM_H
00028
00029 #include "tstringlist.h"
00030 #include "mp4coverart.h"
00031 #include "taglib_export.h"
00032
00033 namespace TagLib {
00034
00035 namespace MP4 {
00036
00037 class TAGLIB_EXPORT Item
00038 {
00039 public:
00040 struct IntPair {
00041 int first, second;
00042 };
00043
00044 Item();
00045 Item(const Item &item);
00046
00050 Item &operator=(const Item &item);
00051
00055 void swap(Item &item);
00056
00057 ~Item();
00058
00059 Item(int value);
00060 Item(unsigned char value);
00061 Item(unsigned int value);
00062 Item(long long value);
00063 Item(bool value);
00064 Item(int first, int second);
00065 Item(const StringList &value);
00066 Item(const ByteVectorList &value);
00067 Item(const CoverArtList &value);
00068
00069 void setAtomDataType(AtomDataType type);
00070 AtomDataType atomDataType() const;
00071
00072 int toInt() const;
00073 unsigned char toByte() const;
00074 unsigned int toUInt() const;
00075 long long toLongLong() const;
00076 bool toBool() const;
00077 IntPair toIntPair() const;
00078 StringList toStringList() const;
00079 ByteVectorList toByteVectorList() const;
00080 CoverArtList toCoverArtList() const;
00081
00082 bool isValid() const;
00083
00084 private:
00085 class ItemPrivate;
00086 ItemPrivate *d;
00087 };
00088
00089 }
00090
00091 }
00092
00093 #endif