@@ -30,19 +30,26 @@ class Matroska::SimpleTag::SimpleTagPrivate
3030public:
3131 SimpleTagPrivate (const String &name, const String &value,
3232 TargetTypeValue targetTypeValue, const String &language, bool defaultLanguage,
33- unsigned long long trackUid) :
33+ unsigned long long trackUid, unsigned long long editionUid,
34+ unsigned long long chapterUid, unsigned long long attachmentUid) :
3435 value (value), name(name), language(language), trackUid(trackUid),
36+ editionUid (editionUid), chapterUid(chapterUid), attachmentUid(attachmentUid),
3537 targetTypeValue (targetTypeValue), defaultLanguageFlag(defaultLanguage) {}
3638 SimpleTagPrivate (const String &name, const ByteVector &value,
3739 TargetTypeValue targetTypeValue, const String &language, bool defaultLanguage,
38- unsigned long long trackUid) :
40+ unsigned long long trackUid, unsigned long long editionUid,
41+ unsigned long long chapterUid, unsigned long long attachmentUid) :
3942 value (value), name(name), language(language), trackUid(trackUid),
43+ editionUid (editionUid), chapterUid(chapterUid), attachmentUid(attachmentUid),
4044 targetTypeValue (targetTypeValue), defaultLanguageFlag(defaultLanguage) {}
4145
4246 const std::variant<String, ByteVector> value;
4347 const String name;
4448 const String language;
4549 const unsigned long long trackUid;
50+ const unsigned long long editionUid;
51+ const unsigned long long chapterUid;
52+ const unsigned long long attachmentUid;
4653 const TargetTypeValue targetTypeValue;
4754 const bool defaultLanguageFlag;
4855};
@@ -56,7 +63,19 @@ Matroska::SimpleTag::SimpleTag(const String &name, const String &value,
5663 const String &language, bool defaultLanguage,
5764 unsigned long long trackUid) :
5865 d(std::make_unique<SimpleTagPrivate>(name, value, targetTypeValue,
59- language, defaultLanguage, trackUid))
66+ language, defaultLanguage, trackUid, 0 , 0 , 0 ))
67+ {
68+ }
69+
70+ Matroska::SimpleTag::SimpleTag (const String &name, const String &value,
71+ TargetTypeValue targetTypeValue,
72+ const String &language, bool defaultLanguage,
73+ unsigned long long trackUid,
74+ unsigned long long editionUid,
75+ unsigned long long chapterUid,
76+ unsigned long long attachmentUid) :
77+ d(std::make_unique<SimpleTagPrivate>(name, value, targetTypeValue,
78+ language, defaultLanguage, trackUid, editionUid, chapterUid, attachmentUid))
6079{
6180}
6281
@@ -65,7 +84,19 @@ Matroska::SimpleTag::SimpleTag(const String &name, const ByteVector &value,
6584 const String &language, bool defaultLanguage,
6685 unsigned long long trackUid) :
6786 d(std::make_unique<SimpleTagPrivate>(name, value, targetTypeValue,
68- language, defaultLanguage, trackUid))
87+ language, defaultLanguage, trackUid, 0 , 0 , 0 ))
88+ {
89+ }
90+
91+ Matroska::SimpleTag::SimpleTag (const String &name, const ByteVector &value,
92+ TargetTypeValue targetTypeValue,
93+ const String &language, bool defaultLanguage,
94+ unsigned long long trackUid,
95+ unsigned long long editionUid,
96+ unsigned long long chapterUid,
97+ unsigned long long attachmentUid) :
98+ d(std::make_unique<SimpleTagPrivate>(name, value, targetTypeValue,
99+ language, defaultLanguage, trackUid, editionUid, chapterUid, attachmentUid))
69100{
70101}
71102
@@ -118,6 +149,21 @@ unsigned long long Matroska::SimpleTag::trackUid() const
118149 return d->trackUid ;
119150}
120151
152+ unsigned long long Matroska::SimpleTag::editionUid () const
153+ {
154+ return d->editionUid ;
155+ }
156+
157+ unsigned long long Matroska::SimpleTag::chapterUid () const
158+ {
159+ return d->chapterUid ;
160+ }
161+
162+ unsigned long long Matroska::SimpleTag::attachmentUid () const
163+ {
164+ return d->attachmentUid ;
165+ }
166+
121167Matroska::SimpleTag::ValueType Matroska::SimpleTag::type () const
122168{
123169 return std::holds_alternative<ByteVector>(d->value ) ? BinaryType : StringType;
0 commit comments