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;
45 virtual User *newUser() = 0;
46 virtual Tag *newTag() = 0;
47 virtual Label *newLabel() = 0;
virtual Track * newTrack()
Definition: factory.h:62
virtual ReleaseEvent * newReleaseEvent()
Definition: factory.h:65
virtual ArtistAlias * newArtistAlias()
Definition: factory.h:60
Represents an artist.
Definition: artist.h:46
virtual Label * newLabel()
Definition: factory.h:68
virtual Artist * newArtist()
Definition: factory.h:59
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:63
virtual Tag * newTag()
Definition: factory.h:67
Represents a track.
Definition: track.h:51
virtual Disc * newDisc()
Definition: factory.h:61
Represents a label alias.
Definition: labelalias.h:38
virtual Release * newRelease()
Definition: factory.h:64
Represents an artist alias.
Definition: artistalias.h:43
virtual User * newUser()
Definition: factory.h:66
A factory to instantiate classes from the domain model.
Definition: factory.h:56
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:69