00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef TAGLIB_TAG_H
00023
#define TAGLIB_TAG_H
00024
00025
#include <tstring.h>
00026
00027
namespace TagLib {
00028
00030
00039 class Tag
00040 {
00041
public:
00042
00046
virtual ~Tag();
00047
00052
virtual String title()
const = 0;
00053
00058
virtual String artist()
const = 0;
00059
00064
virtual String album()
const = 0;
00065
00070
virtual String comment()
const = 0;
00071
00076
virtual String genre()
const = 0;
00077
00081
virtual uint year()
const = 0;
00082
00087
virtual uint track()
const = 0;
00088
00093
virtual void setTitle(
const String &s) = 0;
00094
00099
virtual void setArtist(
const String &s) = 0;
00100
00105
virtual void setAlbum(
const String &s) = 0;
00106
00111
virtual void setComment(
const String &s) = 0;
00112
00120
virtual void setGenre(
const String &s) = 0;
00121
00125
virtual void setYear(
uint i) = 0;
00126
00130
virtual void setTrack(
uint i) = 0;
00131
00137
virtual bool isEmpty()
const;
00138
00150
static void duplicate(
const Tag *source,
Tag *target,
bool overwrite =
true);
00151
00152
protected:
00157
Tag();
00158
00159
private:
00160
Tag(
const Tag &);
00161
Tag &operator=(
const Tag &);
00162
00163
class TagPrivate;
00164 TagPrivate *d;
00165 };
00166 }
00167
00168
#endif