asftag.h
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_ASFTAG_H
00027 #define TAGLIB_ASFTAG_H
00028
00029 #include "tag.h"
00030 #include "tlist.h"
00031 #include "tmap.h"
00032 #include "taglib_export.h"
00033 #include "asfattribute.h"
00034
00035 namespace TagLib {
00036
00037 namespace ASF {
00038
00039 typedef List<Attribute> AttributeList;
00040 typedef Map<String, AttributeList> AttributeListMap;
00041
00042 class TAGLIB_EXPORT Tag : public TagLib::Tag {
00043
00044 friend class File;
00045
00046 public:
00047
00048 Tag();
00049
00050 virtual ~Tag();
00051
00055 virtual String title() const;
00056
00060 virtual String artist() const;
00061
00066 virtual String album() const;
00067
00071 virtual String comment() const;
00072
00077 virtual String genre() const;
00078
00082 virtual String rating() const;
00083
00088 virtual String copyright() const;
00089
00093 virtual unsigned int year() const;
00094
00099 virtual unsigned int track() const;
00100
00104 virtual void setTitle(const String &s);
00105
00109 virtual void setArtist(const String &s);
00110
00115 virtual void setAlbum(const String &s);
00116
00120 virtual void setComment(const String &s);
00121
00125 virtual void setRating(const String &s);
00126
00130 virtual void setCopyright(const String &s);
00131
00135 virtual void setGenre(const String &s);
00136
00140 virtual void setYear(unsigned int i);
00141
00145 virtual void setTrack(unsigned int i);
00146
00152 virtual bool isEmpty() const;
00153
00157 AttributeListMap &attributeListMap();
00158
00163 const AttributeListMap &attributeListMap() const;
00164
00168 bool contains(const String &name) const;
00169
00173 void removeItem(const String &name);
00174
00179 AttributeList attribute(const String &name) const;
00180
00185 void setAttribute(const String &name, const Attribute &attribute);
00186
00190 void setAttribute(const String &name, const AttributeList &values);
00191
00196 void addAttribute(const String &name, const Attribute &attribute);
00197
00198 PropertyMap properties() const;
00199 void removeUnsupportedProperties(const StringList& properties);
00200 PropertyMap setProperties(const PropertyMap &properties);
00201
00202 private:
00203
00204 class TagPrivate;
00205 TagPrivate *d;
00206 };
00207 }
00208 }
00209 #endif