tag.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_TAG_H
00027 #define TAGLIB_TAG_H
00028
00029 #include "taglib_export.h"
00030 #include "tstring.h"
00031
00032 namespace TagLib {
00033
00035
00044 class TAGLIB_EXPORT Tag
00045 {
00046 public:
00047
00051 virtual ~Tag();
00052
00057 virtual String title() const = 0;
00058
00063 virtual String artist() const = 0;
00064
00069 virtual String album() const = 0;
00070
00075 virtual String comment() const = 0;
00076
00081 virtual String genre() const = 0;
00082
00086 virtual uint year() const = 0;
00087
00092 virtual uint track() const = 0;
00093
00098 virtual void setTitle(const String &s) = 0;
00099
00104 virtual void setArtist(const String &s) = 0;
00105
00110 virtual void setAlbum(const String &s) = 0;
00111
00116 virtual void setComment(const String &s) = 0;
00117
00125 virtual void setGenre(const String &s) = 0;
00126
00130 virtual void setYear(uint i) = 0;
00131
00135 virtual void setTrack(uint i) = 0;
00136
00142 virtual bool isEmpty() const;
00143
00155 static void duplicate(const Tag *source, Tag *target, bool overwrite = true);
00156
00157 protected:
00162 Tag();
00163
00164 private:
00165 Tag(const Tag &);
00166 Tag &operator=(const Tag &);
00167
00168 class TagPrivate;
00169 TagPrivate *d;
00170 };
00171 }
00172
00173 #endif