23 #ifndef __MUSICBRAINZ3_RELATION_H__
24 #define __MUSICBRAINZ3_RELATION_H__
84 Relation(
const std::string &relationType = std::string(),
85 const std::string &targetType = std::string(),
86 const std::string &targetId = std::string(),
88 const Attributes &attributes = Attributes(),
89 const std::string &beginDate = std::string(),
90 const std::string &endDate = std::string(),
103 std::string getType()
const;
110 void setType(
const std::string &type);
120 std::string getTargetId()
const;
129 void setTargetId(
const std::string &targetId);
142 std::string getTargetType()
const;
151 void setTargetType(
const std::string &targetType);
163 std::string getBeginDate()
const;
172 void setBeginDate(
const std::string &dateStr);
185 std::string getEndDate()
const;
194 void setEndDate(
const std::string &dateStr);
220 void setDirection(
const Direction direction);
229 Attributes &getAttributes();
240 int getNumAttributes()
const;
251 std::string getAttribute(
int index)
const;
258 void addAttribute(
const std::string &attribute);
268 Entity *getTarget()
const;
278 void setTarget(
Entity *target);
282 class RelationPrivate;
static const std::string TO_URL
Identifies relations linking to an URL.
Definition: relation.h:57
Direction
Definition: relation.h:59
std::vector< std::string > Attributes
A vector of strings (attributes).
Definition: relation.h:69
Relation reading direction is from source to target.
Definition: relation.h:63
A first-level MusicBrainz class.
Definition: entity.h:56
static const std::string TO_RELEASE
Identifies relations linking to a release.
Definition: relation.h:53
Represents a relation between two Entities.
Definition: relation.h:46
static const std::string TO_ARTIST
Identifies relations linking to an artist.
Definition: relation.h:51
Relation reading direction doesn't matter.
Definition: relation.h:61
#define MB_API
Definition: defines.h:40
static const std::string TO_TRACK
Identifies relations linking to a track.
Definition: relation.h:55