• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

artist.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  * 
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

Generated on Mon Oct 18 2010 for libmusicbrainz3 by  doxygen 1.7.1