libmusicbrainz5 5.1.0
Loading...
Searching...
No Matches
MusicBrainz5::CEntity Class Referenceabstract

#include <Entity.h>

Inheritance diagram for MusicBrainz5::CEntity:
MusicBrainz5::CAlias MusicBrainz5::CAnnotation MusicBrainz5::CArtist MusicBrainz5::CArtistCredit MusicBrainz5::CAttribute MusicBrainz5::CCDStub MusicBrainz5::CCollection MusicBrainz5::CDisc MusicBrainz5::CFreeDBDisc MusicBrainz5::CIPI MusicBrainz5::CISRC MusicBrainz5::CISWC MusicBrainz5::CLabel MusicBrainz5::CLabelInfo MusicBrainz5::CLifespan MusicBrainz5::CList MusicBrainz5::CMedium MusicBrainz5::CMessage MusicBrainz5::CMetadata MusicBrainz5::CNameCredit MusicBrainz5::CNonMBTrack MusicBrainz5::CPUID MusicBrainz5::CRating MusicBrainz5::CRecording MusicBrainz5::CRelation MusicBrainz5::CRelease MusicBrainz5::CReleaseGroup MusicBrainz5::CSecondaryType MusicBrainz5::CTag MusicBrainz5::CTextRepresentation MusicBrainz5::CTrack MusicBrainz5::CUserRating MusicBrainz5::CUserTag MusicBrainz5::CWork

Public Member Functions

 CEntity ()
 CEntity (const CEntity &Other)
CEntityoperator= (const CEntity &Other)
virtual ~CEntity ()
virtual CEntityClone ()=0
void Parse (const XMLNode &Node)
std::map< std::string, std::string > ExtAttributes () const
std::map< std::string, std::string > ExtElements () const
virtual std::ostream & Serialise (std::ostream &os) const

Static Public Member Functions

static std::string GetElementName ()

Protected Member Functions

void ProcessRelationList (const XMLNode &Node, CRelationListList *&RetVal)
template<typename T>
void ProcessItem (const XMLNode &Node, T *&RetVal)
template<class T>
void ProcessItem (const XMLNode &Node, T &RetVal)
template<typename T>
void ProcessItem (const std::string &Text, T &RetVal)
void ProcessItem (const XMLNode &Node, std::string &RetVal)
virtual void ParseAttribute (const std::string &Name, const std::string &Value)=0
virtual void ParseElement (const XMLNode &Node)=0

Constructor & Destructor Documentation

◆ CEntity() [1/2]

MusicBrainz5::CEntity::CEntity ( )

◆ CEntity() [2/2]

MusicBrainz5::CEntity::CEntity ( const CEntity & Other)

◆ ~CEntity()

virtual MusicBrainz5::CEntity::~CEntity ( )
virtual

Member Function Documentation

◆ Clone()

virtual CEntity * MusicBrainz5::CEntity::Clone ( )
pure virtual

Implemented in MusicBrainz5::CAlias, MusicBrainz5::CAnnotation, MusicBrainz5::CArtist, MusicBrainz5::CArtistCredit, MusicBrainz5::CAttribute, MusicBrainz5::CCDStub, MusicBrainz5::CCollection, MusicBrainz5::CDisc, MusicBrainz5::CFreeDBDisc, MusicBrainz5::CIPI, MusicBrainz5::CISRC, MusicBrainz5::CISWC, MusicBrainz5::CISWCList, MusicBrainz5::CLabel, MusicBrainz5::CLabelInfo, MusicBrainz5::CLifespan, MusicBrainz5::CList, MusicBrainz5::CListImpl< T >, MusicBrainz5::CListImpl< CAlias >, MusicBrainz5::CListImpl< CAnnotation >, MusicBrainz5::CListImpl< CArtist >, MusicBrainz5::CListImpl< CAttribute >, MusicBrainz5::CListImpl< CCDStub >, MusicBrainz5::CListImpl< CCollection >, MusicBrainz5::CListImpl< CDisc >, MusicBrainz5::CListImpl< CFreeDBDisc >, MusicBrainz5::CListImpl< CIPI >, MusicBrainz5::CListImpl< CISRC >, MusicBrainz5::CListImpl< CISWC >, MusicBrainz5::CListImpl< CLabel >, MusicBrainz5::CListImpl< CLabelInfo >, MusicBrainz5::CListImpl< CMedium >, MusicBrainz5::CListImpl< CNameCredit >, MusicBrainz5::CListImpl< CNonMBTrack >, MusicBrainz5::CListImpl< CPUID >, MusicBrainz5::CListImpl< CRecording >, MusicBrainz5::CListImpl< CRelation >, MusicBrainz5::CListImpl< CRelease >, MusicBrainz5::CListImpl< CReleaseGroup >, MusicBrainz5::CListImpl< CSecondaryType >, MusicBrainz5::CListImpl< CTag >, MusicBrainz5::CListImpl< CTrack >, MusicBrainz5::CListImpl< CUserTag >, MusicBrainz5::CListImpl< CWork >, MusicBrainz5::CMedium, MusicBrainz5::CMediumList, MusicBrainz5::CMessage, MusicBrainz5::CMetadata, MusicBrainz5::CNameCredit, MusicBrainz5::CNonMBTrack, MusicBrainz5::CPUID, MusicBrainz5::CRating, MusicBrainz5::CRecording, MusicBrainz5::CRelation, MusicBrainz5::CRelationList, MusicBrainz5::CRelease, MusicBrainz5::CReleaseGroup, MusicBrainz5::CSecondaryType, MusicBrainz5::CSecondaryTypeList, MusicBrainz5::CTag, MusicBrainz5::CTextRepresentation, MusicBrainz5::CTrack, MusicBrainz5::CUserRating, MusicBrainz5::CUserTag, and MusicBrainz5::CWork.

◆ ExtAttributes()

std::map< std::string, std::string > MusicBrainz5::CEntity::ExtAttributes ( ) const

◆ ExtElements()

std::map< std::string, std::string > MusicBrainz5::CEntity::ExtElements ( ) const

◆ GetElementName()

std::string MusicBrainz5::CEntity::GetElementName ( )
static

◆ operator=()

CEntity & MusicBrainz5::CEntity::operator= ( const CEntity & Other)

◆ Parse()

void MusicBrainz5::CEntity::Parse ( const XMLNode & Node)

◆ ParseAttribute()

◆ ParseElement()

virtual void MusicBrainz5::CEntity::ParseElement ( const XMLNode & Node)
protectedpure virtual

Implemented in MusicBrainz5::CAlias, MusicBrainz5::CAnnotation, MusicBrainz5::CArtist, MusicBrainz5::CArtistCredit, MusicBrainz5::CAttribute, MusicBrainz5::CCDStub, MusicBrainz5::CCollection, MusicBrainz5::CDisc, MusicBrainz5::CFreeDBDisc, MusicBrainz5::CIPI, MusicBrainz5::CISRC, MusicBrainz5::CISWC, MusicBrainz5::CISWCList, MusicBrainz5::CLabel, MusicBrainz5::CLabelInfo, MusicBrainz5::CLifespan, MusicBrainz5::CList, MusicBrainz5::CListImpl< T >, MusicBrainz5::CListImpl< CAlias >, MusicBrainz5::CListImpl< CAnnotation >, MusicBrainz5::CListImpl< CArtist >, MusicBrainz5::CListImpl< CAttribute >, MusicBrainz5::CListImpl< CCDStub >, MusicBrainz5::CListImpl< CCollection >, MusicBrainz5::CListImpl< CDisc >, MusicBrainz5::CListImpl< CFreeDBDisc >, MusicBrainz5::CListImpl< CIPI >, MusicBrainz5::CListImpl< CISRC >, MusicBrainz5::CListImpl< CISWC >, MusicBrainz5::CListImpl< CLabel >, MusicBrainz5::CListImpl< CLabelInfo >, MusicBrainz5::CListImpl< CMedium >, MusicBrainz5::CListImpl< CNameCredit >, MusicBrainz5::CListImpl< CNonMBTrack >, MusicBrainz5::CListImpl< CPUID >, MusicBrainz5::CListImpl< CRecording >, MusicBrainz5::CListImpl< CRelation >, MusicBrainz5::CListImpl< CRelease >, MusicBrainz5::CListImpl< CReleaseGroup >, MusicBrainz5::CListImpl< CSecondaryType >, MusicBrainz5::CListImpl< CTag >, MusicBrainz5::CListImpl< CTrack >, MusicBrainz5::CListImpl< CUserTag >, MusicBrainz5::CListImpl< CWork >, MusicBrainz5::CMedium, MusicBrainz5::CMediumList, MusicBrainz5::CMessage, MusicBrainz5::CMetadata, MusicBrainz5::CNameCredit, MusicBrainz5::CNonMBTrack, MusicBrainz5::CPUID, MusicBrainz5::CRating, MusicBrainz5::CRecording, MusicBrainz5::CRelation, MusicBrainz5::CRelationList, MusicBrainz5::CRelease, MusicBrainz5::CReleaseGroup, MusicBrainz5::CSecondaryType, MusicBrainz5::CSecondaryTypeList, MusicBrainz5::CTag, MusicBrainz5::CTextRepresentation, MusicBrainz5::CTrack, MusicBrainz5::CUserRating, MusicBrainz5::CUserTag, and MusicBrainz5::CWork.

◆ ProcessItem() [1/4]

template<typename T>
void MusicBrainz5::CEntity::ProcessItem ( const std::string & Text,
T & RetVal )
inlineprotected

◆ ProcessItem() [2/4]

void MusicBrainz5::CEntity::ProcessItem ( const XMLNode & Node,
std::string & RetVal )
inlineprotected

◆ ProcessItem() [3/4]

template<class T>
void MusicBrainz5::CEntity::ProcessItem ( const XMLNode & Node,
T & RetVal )
inlineprotected

◆ ProcessItem() [4/4]

template<typename T>
void MusicBrainz5::CEntity::ProcessItem ( const XMLNode & Node,
T *& RetVal )
inlineprotected

◆ ProcessRelationList()

void MusicBrainz5::CEntity::ProcessRelationList ( const XMLNode & Node,
CRelationListList *& RetVal )
protected

◆ Serialise()

virtual std::ostream & MusicBrainz5::CEntity::Serialise ( std::ostream & os) const
virtual

Reimplemented in MusicBrainz5::CAlias, MusicBrainz5::CAnnotation, MusicBrainz5::CArtist, MusicBrainz5::CArtistCredit, MusicBrainz5::CAttribute, MusicBrainz5::CCDStub, MusicBrainz5::CCollection, MusicBrainz5::CDisc, MusicBrainz5::CFreeDBDisc, MusicBrainz5::CIPI, MusicBrainz5::CISRC, MusicBrainz5::CISWC, MusicBrainz5::CISWCList, MusicBrainz5::CLabel, MusicBrainz5::CLabelInfo, MusicBrainz5::CLifespan, MusicBrainz5::CList, MusicBrainz5::CListImpl< T >, MusicBrainz5::CListImpl< CAlias >, MusicBrainz5::CListImpl< CAnnotation >, MusicBrainz5::CListImpl< CArtist >, MusicBrainz5::CListImpl< CAttribute >, MusicBrainz5::CListImpl< CCDStub >, MusicBrainz5::CListImpl< CCollection >, MusicBrainz5::CListImpl< CDisc >, MusicBrainz5::CListImpl< CFreeDBDisc >, MusicBrainz5::CListImpl< CIPI >, MusicBrainz5::CListImpl< CISRC >, MusicBrainz5::CListImpl< CISWC >, MusicBrainz5::CListImpl< CLabel >, MusicBrainz5::CListImpl< CLabelInfo >, MusicBrainz5::CListImpl< CMedium >, MusicBrainz5::CListImpl< CNameCredit >, MusicBrainz5::CListImpl< CNonMBTrack >, MusicBrainz5::CListImpl< CPUID >, MusicBrainz5::CListImpl< CRecording >, MusicBrainz5::CListImpl< CRelation >, MusicBrainz5::CListImpl< CRelease >, MusicBrainz5::CListImpl< CReleaseGroup >, MusicBrainz5::CListImpl< CSecondaryType >, MusicBrainz5::CListImpl< CTag >, MusicBrainz5::CListImpl< CTrack >, MusicBrainz5::CListImpl< CUserTag >, MusicBrainz5::CListImpl< CWork >, MusicBrainz5::CMedium, MusicBrainz5::CMediumList, MusicBrainz5::CMessage, MusicBrainz5::CMetadata, MusicBrainz5::CNameCredit, MusicBrainz5::CNonMBTrack, MusicBrainz5::CPUID, MusicBrainz5::CRating, MusicBrainz5::CRecording, MusicBrainz5::CRelation, MusicBrainz5::CRelationList, MusicBrainz5::CRelease, MusicBrainz5::CReleaseGroup, MusicBrainz5::CSecondaryType, MusicBrainz5::CSecondaryTypeList, MusicBrainz5::CTag, MusicBrainz5::CTextRepresentation, MusicBrainz5::CTrack, MusicBrainz5::CUserRating, MusicBrainz5::CUserTag, and MusicBrainz5::CWork.