libmusicbrainz5
5.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
ReleaseGroup.h
Go to the documentation of this file.
1
/* --------------------------------------------------------------------------
2
3
libmusicbrainz5 - Client library to access MusicBrainz
4
5
Copyright (C) 2012 Andrew Hawkins
6
7
This file is part of libmusicbrainz5.
8
9
This library is free software; you can redistribute it and/or
10
modify it under the terms of the GNU Lesser General Public
11
License as published by the Free Software Foundation; either
12
version 2.1 of the License, or (at your option) any later version.
13
14
libmusicbrainz5 is distributed in the hope that it will be useful,
15
but WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
Lesser General Public License for more details.
18
19
You should have received a copy of the GNU General Public License
20
along with this library. If not, see <http://www.gnu.org/licenses/>.
21
22
$Id$
23
24
----------------------------------------------------------------------------*/
25
26
#ifndef _MUSICBRAINZ5_RELEASE_GROUP_H
27
#define _MUSICBRAINZ5_RELEASE_GROUP_H
28
29
#include <string>
30
#include <iostream>
31
32
#include "
musicbrainz5/Entity.h
"
33
#include "
musicbrainz5/ReleaseList.h
"
34
#include "
musicbrainz5/RelationList.h
"
35
#include "
musicbrainz5/TagList.h
"
36
#include "
musicbrainz5/UserTagList.h
"
37
#include "
musicbrainz5/SecondaryTypeList.h
"
38
39
#include "musicbrainz5/xmlParser.h"
40
41
namespace
MusicBrainz5
42
{
43
class
CReleaseGroupPrivate;
44
45
class
CArtistCredit
;
46
class
CRating
;
47
class
CUserRating
;
48
class
CSecondaryType
;
49
50
class
CReleaseGroup
:
public
CEntity
51
{
52
public
:
53
CReleaseGroup
(
const
XMLNode& Node=XMLNode::emptyNode());
54
CReleaseGroup
(
const
CReleaseGroup
& Other);
55
CReleaseGroup
&
operator =
(
const
CReleaseGroup
& Other);
56
virtual
~CReleaseGroup
();
57
58
virtual
CReleaseGroup
*
Clone
();
59
60
std::string
ID
()
const
;
61
std::string
PrimaryType
()
const
;
62
std::string
Title
()
const
;
63
std::string
Disambiguation
()
const
;
64
std::string
FirstReleaseDate
()
const
;
65
CArtistCredit
*
ArtistCredit
()
const
;
66
CReleaseList
*
ReleaseList
()
const
;
67
CRelationListList
*
RelationListList
()
const
;
68
CTagList
*
TagList
()
const
;
69
CUserTagList
*
UserTagList
()
const
;
70
CRating
*
Rating
()
const
;
71
CUserRating
*
UserRating
()
const
;
72
CSecondaryTypeList
*
SecondaryTypeList
()
const
;
73
74
virtual
std::ostream&
Serialise
(std::ostream& os)
const
;
75
static
std::string
GetElementName
();
76
77
protected
:
78
virtual
void
ParseAttribute
(
const
std::string& Name,
const
std::string& Value);
79
virtual
void
ParseElement
(
const
XMLNode& Node);
80
81
private
:
82
void
Cleanup();
83
84
CReleaseGroupPrivate *
const
m_d;
85
};
86
}
87
88
#endif
Entity.h
RelationList.h
ReleaseList.h
SecondaryTypeList.h
TagList.h
UserTagList.h
MusicBrainz5::CArtistCredit
Definition
ArtistCredit.h:41
MusicBrainz5::CEntity::CEntity
CEntity()
MusicBrainz5::CRating
Definition
Rating.h:40
MusicBrainz5::CRelationListList
Definition
RelationListList.h:40
MusicBrainz5::CReleaseGroup::Title
std::string Title() const
MusicBrainz5::CReleaseGroup::FirstReleaseDate
std::string FirstReleaseDate() const
MusicBrainz5::CReleaseGroup::Rating
CRating * Rating() const
MusicBrainz5::CReleaseGroup::RelationListList
CRelationListList * RelationListList() const
MusicBrainz5::CReleaseGroup::ParseElement
virtual void ParseElement(const XMLNode &Node)
MusicBrainz5::CReleaseGroup::ArtistCredit
CArtistCredit * ArtistCredit() const
MusicBrainz5::CReleaseGroup::CReleaseGroup
CReleaseGroup(const CReleaseGroup &Other)
MusicBrainz5::CReleaseGroup::ParseAttribute
virtual void ParseAttribute(const std::string &Name, const std::string &Value)
MusicBrainz5::CReleaseGroup::UserTagList
CUserTagList * UserTagList() const
MusicBrainz5::CReleaseGroup::SecondaryTypeList
CSecondaryTypeList * SecondaryTypeList() const
MusicBrainz5::CReleaseGroup::operator=
CReleaseGroup & operator=(const CReleaseGroup &Other)
MusicBrainz5::CReleaseGroup::~CReleaseGroup
virtual ~CReleaseGroup()
MusicBrainz5::CReleaseGroup::ID
std::string ID() const
MusicBrainz5::CReleaseGroup::Clone
virtual CReleaseGroup * Clone()
MusicBrainz5::CReleaseGroup::Disambiguation
std::string Disambiguation() const
MusicBrainz5::CReleaseGroup::PrimaryType
std::string PrimaryType() const
MusicBrainz5::CReleaseGroup::Serialise
virtual std::ostream & Serialise(std::ostream &os) const
MusicBrainz5::CReleaseGroup::ReleaseList
CReleaseList * ReleaseList() const
MusicBrainz5::CReleaseGroup::UserRating
CUserRating * UserRating() const
MusicBrainz5::CReleaseGroup::CReleaseGroup
CReleaseGroup(const XMLNode &Node=XMLNode::emptyNode())
MusicBrainz5::CReleaseGroup::TagList
CTagList * TagList() const
MusicBrainz5::CReleaseGroup::GetElementName
static std::string GetElementName()
MusicBrainz5::CSecondaryType
Definition
SecondaryType.h:41
MusicBrainz5::CSecondaryTypeList
Definition
SecondaryTypeList.h:42
MusicBrainz5::CUserRating
Definition
UserRating.h:40
MusicBrainz5
Definition
Alias.h:37
MusicBrainz5::CUserTagList
CListImpl< CUserTag > CUserTagList
Definition
UserTagList.h:35
MusicBrainz5::CReleaseList
CListImpl< CRelease > CReleaseList
Definition
ReleaseList.h:35
MusicBrainz5::CTagList
CListImpl< CTag > CTagList
Definition
TagList.h:35
include
musicbrainz5
ReleaseGroup.h
Generated by
1.17.0