libmusicbrainz3  3.0.2
results.h
Go to the documentation of this file.
00001 /*
00002  * MusicBrainz -- The Internet music metadatabase
00003  *
00004  * Copyright (C) 2006 Lukas Lalinsky
00005  *  
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  * 
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  * 
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019  *
00020  * $Id: results.h 8466 2006-09-05 08:59:44Z luks $
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines