23 #ifndef __MUSICBRAINZ3_FACTORY_H__
24 #define __MUSICBRAINZ3_FACTORY_H__
38 virtual Artist *newArtist() = 0;
40 virtual Disc *newDisc() = 0;
41 virtual Track *newTrack() = 0;
43 virtual Release *newRelease() = 0;
46 virtual User *newUser() = 0;
47 virtual Tag *newTag() = 0;
48 virtual Label *newLabel() = 0;
virtual Track * newTrack()
Definition: factory.h:63
virtual ReleaseEvent * newReleaseEvent()
Definition: factory.h:67
virtual ArtistAlias * newArtistAlias()
Definition: factory.h:61
Represents an artist.
Definition: artist.h:46
virtual Label * newLabel()
Definition: factory.h:70
virtual Artist * newArtist()
Definition: factory.h:60
virtual ~IFactory()
Definition: factory.h:37
Represents an Audio CD.
Definition: disc.h:54
Represents a MusicBrainz user.
Definition: user.h:36
virtual Relation * newRelation()
Definition: factory.h:64
virtual Tag * newTag()
Definition: factory.h:69
Represents a track.
Definition: track.h:51
virtual Disc * newDisc()
Definition: factory.h:62
virtual ReleaseGroup * newReleaseGroup()
Definition: factory.h:66
Represents a label alias.
Definition: labelalias.h:38
virtual Release * newRelease()
Definition: factory.h:65
Represents an artist alias.
Definition: artistalias.h:43
virtual User * newUser()
Definition: factory.h:68
Represents a Release Group.
Definition: releasegroup.h:40
A factory to instantiate classes from the domain model.
Definition: factory.h:57
Represents a relation between two Entities.
Definition: relation.h:46
Represents a record label.
Definition: label.h:38
A release event, indicating where and when a release took place.
Definition: releaseevent.h:39
#define MB_API
Definition: defines.h:40
Represents a Release.
Definition: release.h:47
A factory to instantiate classes from the domain model.
Definition: factory.h:34
virtual LabelAlias * newLabelAlias()
Definition: factory.h:71