|
Packit |
f70c98 |
/* --------------------------------------------------------------------------
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
libmusicbrainz5 - Client library to access MusicBrainz
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
Copyright (C) 2012 Andrew Hawkins
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
This file is part of libmusicbrainz5.
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
This library is free software; you can redistribute it and/or
|
|
Packit |
f70c98 |
modify it under the terms of the GNU Lesser General Public
|
|
Packit |
f70c98 |
License as published by the Free Software Foundation; either
|
|
Packit |
f70c98 |
version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
libmusicbrainz5 is distributed in the hope that it will be useful,
|
|
Packit |
f70c98 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
f70c98 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
f70c98 |
Lesser General Public License for more details.
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
You should have received a copy of the GNU General Public License
|
|
Packit |
f70c98 |
along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
$Id$
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
----------------------------------------------------------------------------*/
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
#ifndef _MUSICBRAINZ5_COLLECTION_H
|
|
Packit |
f70c98 |
#define _MUSICBRAINZ5_COLLECTION_H
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
#include "musicbrainz5/Entity.h"
|
|
Packit |
f70c98 |
#include "musicbrainz5/ReleaseList.h"
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
#include "musicbrainz5/xmlParser.h"
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
namespace MusicBrainz5
|
|
Packit |
f70c98 |
{
|
|
Packit |
f70c98 |
class CCollectionPrivate;
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
class CCollection: public CEntity
|
|
Packit |
f70c98 |
{
|
|
Packit |
f70c98 |
public:
|
|
Packit |
f70c98 |
CCollection(const XMLNode& Node);
|
|
Packit |
f70c98 |
CCollection(const CCollection& Other);
|
|
Packit |
f70c98 |
CCollection& operator =(const CCollection& Other);
|
|
Packit |
f70c98 |
virtual ~CCollection();
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
virtual CCollection *Clone();
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
std::string ID() const;
|
|
Packit |
f70c98 |
std::string Name() const;
|
|
Packit |
f70c98 |
std::string Editor() const;
|
|
Packit |
f70c98 |
CReleaseList *ReleaseList() const;
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
virtual std::ostream& Serialise(std::ostream& os) const;
|
|
Packit |
f70c98 |
static std::string GetElementName();
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
protected:
|
|
Packit |
f70c98 |
virtual void ParseAttribute(const std::string& Name, const std::string& Value);
|
|
Packit |
f70c98 |
virtual void ParseElement(const XMLNode& Node);
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
private:
|
|
Packit |
f70c98 |
void Cleanup();
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
CCollectionPrivate * const m_d;
|
|
Packit |
f70c98 |
};
|
|
Packit |
f70c98 |
}
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
#endif
|