libmusicbrainz3  3.0.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
label.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  *
21  */
22 
23 #ifndef __MUSICBRAINZ3_LABEL_H__
24 #define __MUSICBRAINZ3_LABEL_H__
25 
26 #include <string>
27 #include <vector>
29 #include <musicbrainz3/entity.h>
30 #include <musicbrainz3/lists.h>
31 
32 namespace MusicBrainz
33 {
34 
38  class MB_API Label : public Entity
39  {
40  public:
41 
42  static const std::string TYPE_PERSON;
43  static const std::string TYPE_GROUP;
44 
53  Label(const std::string &id = "", const std::string &type = "",
54  const std::string &name = "", const std::string &sortName = "");
55 
59  virtual ~Label();
60 
66  std::string getType() const;
67 
73  void setType(const std::string &type);
74 
80  int getCode() const;
81 
87  void setCode(int code);
88 
94  std::string getName() const;
95 
101  void setName(const std::string &name);
102 
112  std::string getSortName() const;
113 
121  void setSortName(const std::string &sortName);
122 
138  std::string getDisambiguation() const;
139 
147  void setDisambiguation(const std::string &disambiguation);
148 
160  std::string getUniqueName() const;
161 
176  std::string getBeginDate() const;
177 
185  void setBeginDate(const std::string &dateStr);
186 
198  std::string getEndDate() const;
199 
207  void setEndDate(const std::string &dateStr);
208 
218  ReleaseList &getReleases();
219 
229  int getNumReleases() const;
230 
240  Release *getRelease(int index);
241 
247  void addRelease(Release *release);
248 
261  int getReleasesOffset() const;
262 
270  void setReleasesOffset(const int offset);
271 
283  int getReleasesCount() const;
284 
292  void setReleasesCount(const int count);
293 
299  LabelAliasList &getAliases();
300 
310  int getNumAliases() const;
311 
321  LabelAlias *getAlias(int index);
322 
328  void addAlias(LabelAlias *alias);
329 
330  private:
331 
332  class LabelPrivate;
333  LabelPrivate *d;
334  };
335 
336 }
337 
338 #endif