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_RELEASEGROUP_H__
00024 #define __MUSICBRAINZ3_RELEASEGROUP_H__
00025
00026 #include <string>
00027 #include <musicbrainz3/musicbrainz.h>
00028 #include <musicbrainz3/entity.h>
00029 #include <musicbrainz3/lists.h>
00030
00031 namespace MusicBrainz
00032 {
00033
00034 class Artist;
00035
00040 class MB_API ReleaseGroup : public Entity
00041 {
00042 public:
00043
00044 static const std::string TYPE_NONE;
00045
00046 static const std::string TYPE_ALBUM;
00047 static const std::string TYPE_SINGLE;
00048 static const std::string TYPE_EP;
00049 static const std::string TYPE_COMPILATION;
00050 static const std::string TYPE_SOUNDTRACK;
00051 static const std::string TYPE_SPOKENWORD;
00052 static const std::string TYPE_INTERVIEW;
00053 static const std::string TYPE_AUDIOBOOK;
00054 static const std::string TYPE_LIVE;
00055 static const std::string TYPE_REMIX;
00056 static const std::string TYPE_OTHER;
00057
00064 ReleaseGroup(const std::string &id = std::string(),
00065 const std::string &title = std::string());
00066
00070 ~ReleaseGroup();
00071
00083 std::string getTitle() const;
00084
00092 void setTitle(const std::string &title);
00093
00099 Artist *getArtist();
00100
00106 void setArtist(Artist *artist);
00107
00113 void setType(const std::string &type);
00114
00122 std::string getType() const;
00123
00124 ReleaseList &getReleases();
00125 int getNumReleases() const;
00126 Release *getRelease(int index);
00127
00128 private:
00129
00130 class ReleaseGroupPrivate;
00131 ReleaseGroupPrivate *d;
00132 };
00133
00134 }
00135
00136 #endif
00137