libmusicbrainz3  3.0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
artist.h
Go to the documentation of this file.
1 /*
2  * MusicBrainz -- The Internet music metadatabase
3  *
4  * Copyright (C) 2006 Lukas Lalinsky
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  *
20  * $Id: artist.h 8472 2006-09-05 14:32:41Z luks $
21  */
22 
23 #ifndef __MUSICBRAINZ3_ARTIST_H__
24 #define __MUSICBRAINZ3_ARTIST_H__
25 
26 #include <string>
27 #include <vector>
29 #include <musicbrainz3/entity.h>
30 #include <musicbrainz3/lists.h>
31 
32 namespace MusicBrainz
33 {
34 
46  class MB_API Artist : public Entity
47  {
48  public:
49 
50  static const std::string TYPE_PERSON;
51  static const std::string TYPE_GROUP;
52 
61  Artist(const std::string &id = "", const std::string &type = "",
62  const std::string &name = "", const std::string &sortName = "");
63 
67  virtual ~Artist();
68 
74  std::string getType() const;
75 
81  void setType(const std::string &type);
82 
88  std::string getName() const;
89 
95  void setName(const std::string &name);
96 
106  std::string getSortName() const;
107 
115  void setSortName(const std::string &sortName);
116 
132  std::string getDisambiguation() const;
133 
141  void setDisambiguation(const std::string &disambiguation);
142 
154  std::string getUniqueName() const;
155 
170  std::string getBeginDate() const;
171 
179  void setBeginDate(const std::string &dateStr);
180 
192  std::string getEndDate() const;
193 
201  void setEndDate(const std::string &dateStr);
202 
212  ReleaseList &getReleases();
213 
223  int getNumReleases() const;
224 
234  Release *getRelease(int index);
235 
241  void addRelease(Release *release);
242 
255  int getReleasesOffset() const;
256 
264  void setReleasesOffset(const int offset);
265 
277  int getReleasesCount() const;
278 
286  void setReleasesCount(const int count);
287 
293  ArtistAliasList &getAliases();
294 
304  int getNumAliases() const;
305 
315  ArtistAlias *getAlias(int index);
316 
322  void addAlias(ArtistAlias *alias);
323 
324  private:
325 
326  class ArtistPrivate;
327  ArtistPrivate *d;
328  };
329 
330 }
331 
332 #endif