00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MUSICBRAINZ3_LABEL_H__
00024 #define __MUSICBRAINZ3_LABEL_H__
00025
00026 #include <string>
00027 #include <vector>
00028 #include <musicbrainz3/musicbrainz.h>
00029 #include <musicbrainz3/entity.h>
00030 #include <musicbrainz3/lists.h>
00031
00032 namespace MusicBrainz
00033 {
00034
00038 class MB_API Label : public Entity
00039 {
00040 public:
00041
00042 static const std::string TYPE_PERSON;
00043 static const std::string TYPE_GROUP;
00044
00053 Label(const std::string &id = "", const std::string &type = "",
00054 const std::string &name = "", const std::string &sortName = "");
00055
00059 virtual ~Label();
00060
00066 std::string getType() const;
00067
00073 void setType(const std::string &type);
00074
00080 std::string getName() const;
00081
00087 void setName(const std::string &name);
00088
00098 std::string getSortName() const;
00099
00107 void setSortName(const std::string &sortName);
00108
00124 std::string getDisambiguation() const;
00125
00133 void setDisambiguation(const std::string &disambiguation);
00134
00146 std::string getUniqueName() const;
00147
00162 std::string getBeginDate() const;
00163
00171 void setBeginDate(const std::string &dateStr);
00172
00184 std::string getEndDate() const;
00185
00193 void setEndDate(const std::string &dateStr);
00194
00204 ReleaseList &getReleases();
00205
00215 int getNumReleases() const;
00216
00226 Release *getRelease(int index);
00227
00233 void addRelease(Release *release);
00234
00247 int getReleasesOffset() const;
00248
00256 void setReleasesOffset(const int offset);
00257
00269 int getReleasesCount() const;
00270
00278 void setReleasesCount(const int count);
00279
00285 LabelAliasList &getAliases();
00286
00296 int getNumAliases() const;
00297
00307 LabelAlias *getAlias(int index);
00308
00314 void addAlias(LabelAlias *alias);
00315
00316 private:
00317
00318 class LabelPrivate;
00319 LabelPrivate *d;
00320 };
00321
00322 }
00323
00324 #endif