libmusicbrainz5
5.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
Track.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_TRACK_H
27
#define _MUSICBRAINZ5_TRACK_H
28
29
#include <string>
30
#include <iostream>
31
32
#include "
musicbrainz5/Entity.h
"
33
34
#include "musicbrainz5/xmlParser.h"
35
36
namespace
MusicBrainz5
37
{
38
class
CTrackPrivate;
39
40
class
CRecording
;
41
class
CArtistCredit
;
42
43
class
CTrack
:
public
CEntity
44
{
45
public
:
46
CTrack
(
const
XMLNode& Node=XMLNode::emptyNode());
47
CTrack
(
const
CTrack
& Other);
48
CTrack
&
operator =
(
const
CTrack
& Other);
49
virtual
~CTrack
();
50
51
virtual
CTrack
*
Clone
();
52
53
int
Position
()
const
;
54
std::string
Title
()
const
;
55
CRecording
*
Recording
()
const
;
56
int
Length
()
const
;
57
CArtistCredit
*
ArtistCredit
()
const
;
58
std::string
Number
()
const
;
59
60
virtual
std::ostream&
Serialise
(std::ostream& os)
const
;
61
static
std::string
GetElementName
();
62
63
protected
:
64
virtual
void
ParseAttribute
(
const
std::string& Name,
const
std::string& Value);
65
virtual
void
ParseElement
(
const
XMLNode& Node);
66
67
private
:
68
void
Cleanup();
69
70
CTrackPrivate *
const
m_d;
71
};
72
}
73
74
#endif
Entity.h
MusicBrainz5::CArtistCredit
Definition
ArtistCredit.h:41
MusicBrainz5::CEntity::CEntity
CEntity()
MusicBrainz5::CRecording
Definition
Recording.h:56
MusicBrainz5::CTrack::Length
int Length() const
MusicBrainz5::CTrack::Title
std::string Title() const
MusicBrainz5::CTrack::Recording
CRecording * Recording() const
MusicBrainz5::CTrack::ParseElement
virtual void ParseElement(const XMLNode &Node)
MusicBrainz5::CTrack::Serialise
virtual std::ostream & Serialise(std::ostream &os) const
MusicBrainz5::CTrack::ParseAttribute
virtual void ParseAttribute(const std::string &Name, const std::string &Value)
MusicBrainz5::CTrack::Clone
virtual CTrack * Clone()
MusicBrainz5::CTrack::ArtistCredit
CArtistCredit * ArtistCredit() const
MusicBrainz5::CTrack::GetElementName
static std::string GetElementName()
MusicBrainz5::CTrack::CTrack
CTrack(const CTrack &Other)
MusicBrainz5::CTrack::Position
int Position() const
MusicBrainz5::CTrack::operator=
CTrack & operator=(const CTrack &Other)
MusicBrainz5::CTrack::Number
std::string Number() const
MusicBrainz5::CTrack::CTrack
CTrack(const XMLNode &Node=XMLNode::emptyNode())
MusicBrainz5::CTrack::~CTrack
virtual ~CTrack()
MusicBrainz5
Definition
Alias.h:37
include
musicbrainz5
Track.h
Generated by
1.17.0