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_RESULTS_H__
00024 #define __MUSICBRAINZ3_RESULTS_H__
00025
00026 #include <musicbrainz3/model.h>
00027
00028 namespace MusicBrainz
00029 {
00030
00034 class MB_API Result
00035 {
00036 public:
00037
00043 Result(int score);
00044
00048 virtual ~Result() {};
00049
00058 int getScore();
00059
00065 void setScore(int score);
00066
00067 private:
00068
00069 int score;
00070 };
00071
00079 class MB_API ArtistResult : public Result
00080 {
00081 public:
00082
00086 ArtistResult(Artist *artist, int score);
00087
00091 ~ArtistResult();
00092
00098 Artist *getArtist();
00099
00105 void setArtist(Artist *artist);
00106
00107 private:
00108
00109 Artist *artist;
00110 };
00111
00119 class MB_API ReleaseResult : public Result
00120 {
00121 public:
00122
00126 ReleaseResult(Release *release, int score);
00127
00131 ~ReleaseResult();
00132
00138 Release *getRelease();
00139
00145 void setRelease(Release *release);
00146
00147 private:
00148
00149 Release *release;
00150 };
00151
00159 class MB_API TrackResult : public Result
00160 {
00161 public:
00162
00166 TrackResult(Track *track, int score);
00167
00171 ~TrackResult();
00172
00178 Track *getTrack();
00179
00185 void setTrack(Track *track);
00186
00187 private:
00188
00189 Track *track;
00190 };
00191
00192 }
00193
00194 #endif