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_APEITEM_H
00027 #define TAGLIB_APEITEM_H
00028
00029 #include "tbytevector.h"
00030 #include "tstring.h"
00031 #include "tstringlist.h"
00032
00033 namespace TagLib {
00034
00035 namespace APE {
00036
00038
00042 class TAGLIB_EXPORT Item
00043 {
00044 public:
00048 enum ItemTypes {
00050 Text = 0,
00052 Binary = 1,
00054 Locator = 2
00055 };
00059 Item();
00060
00064
00065 Item(const String &key, const String &value);
00066
00070 Item(const String &key, const StringList &values);
00071
00076 Item(const String &key, const ByteVector &value, bool binary);
00077
00081 Item(const Item &item);
00082
00086 virtual ~Item();
00087
00091 Item &operator=(const Item &item);
00092
00096 String key() const;
00097
00102 ByteVector binaryData() const;
00103
00108 void setBinaryData(const ByteVector &value);
00109
00110 #ifndef DO_NOT_DOCUMENT
00111
00112 ByteVector value() const;
00113 #endif
00114
00118 void setKey(const String &key);
00119
00125 void setValue(const String &value);
00126
00133 void setValues(const StringList &values);
00134
00140 void appendValue(const String &value);
00141
00147 void appendValues(const StringList &values);
00148
00152 int size() const;
00153
00158 String toString() const;
00159
00160 #ifndef DO_NOT_DOCUMENT
00161
00162 StringList toStringList() const;
00163 #endif
00164
00168 StringList values() const;
00169
00173 ByteVector render() const;
00174
00178 void parse(const ByteVector& data);
00179
00183 void setReadOnly(bool readOnly);
00184
00188 bool isReadOnly() const;
00189
00195 void setType(ItemTypes type);
00196
00200 ItemTypes type() const;
00201
00205 bool isEmpty() const;
00206
00207 private:
00208 class ItemPrivate;
00209 ItemPrivate *d;
00210 };
00211 }
00212
00213 }
00214
00215 #endif
00216
00217