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 #ifndef __MUSICBRAINZ3_ARTIST_H__
00024 #define __MUSICBRAINZ3_ARTIST_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
00046 class MB_API Artist : public Entity
00047 {
00048 public:
00049
00050 static const std::string TYPE_PERSON;
00051 static const std::string TYPE_GROUP;
00052
00061 Artist(const std::string &id = "", const std::string &type = "",
00062 const std::string &name = "", const std::string &sortName = "");
00063
00067 virtual ~Artist();
00068
00074 std::string getType() const;
00075
00081 void setType(const std::string &type);
00082
00088 std::string getName() const;
00089
00095 void setName(const std::string &name);
00096
00106 std::string getSortName() const;
00107
00115 void setSortName(const std::string &sortName);
00116
00132 std::string getDisambiguation() const;
00133
00141 void setDisambiguation(const std::string &disambiguation);
00142
00154 std::string getUniqueName() const;
00155
00170 std::string getBeginDate() const;
00171
00179 void setBeginDate(const std::string &dateStr);
00180
00192 std::string getEndDate() const;
00193
00201 void setEndDate(const std::string &dateStr);
00202
00212 ReleaseList &getReleases();
00213
00223 int getNumReleases() const;
00224
00234 Release *getRelease(int index);
00235
00241 void addRelease(Release *release);
00242
00255 int getReleasesOffset() const;
00256
00264 void setReleasesOffset(const int offset);
00265
00277 int getReleasesCount() const;
00278
00286 void setReleasesCount(const int count);
00287
00293 ArtistAliasList &getAliases();
00294
00304 int getNumAliases() const;
00305
00315 ArtistAlias *getAlias(int index);
00316
00322 void addAlias(ArtistAlias *alias);
00323
00324 private:
00325
00326 class ArtistPrivate;
00327 ArtistPrivate *d;
00328 };
00329
00330 }
00331
00332 #endif