summaryrefslogtreecommitdiff
path: root/src/Metadata.h
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2009-05-18 05:18:32 +0000
committerjhurst <>2009-05-18 05:18:32 +0000
commit65a8ec13b66c700b74788d3fc7525e91cf62bab0 (patch)
tree15f588026b93aae7e65a4bf37ed4cffe8e4bc4ad /src/Metadata.h
parent111e0170052b57fc128a37fa02736015edb8c60f (diff)
massive dictionary re-factoring
Diffstat (limited to 'src/Metadata.h')
-rwxr-xr-xsrc/Metadata.h118
1 files changed, 88 insertions, 30 deletions
diff --git a/src/Metadata.h b/src/Metadata.h
index 5117425..b5a255e 100755
--- a/src/Metadata.h
+++ b/src/Metadata.h
@@ -38,7 +38,7 @@ namespace ASDCP
{
namespace MXF
{
- void Metadata_InitTypes();
+ void Metadata_InitTypes(const Dictionary& Dict);
//
@@ -46,8 +46,10 @@ namespace ASDCP
class Identification : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(Identification);
+ Identification();
public:
+ const Dictionary& m_Dict;
UUID ThisGenerationUID;
UTF16String CompanyName;
UTF16String ProductName;
@@ -58,7 +60,7 @@ namespace ASDCP
VersionType ToolkitVersion;
UTF16String Platform;
- Identification() {}
+ Identification(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~Identification() {}
virtual const char* HasName() { return "Identification"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -72,12 +74,14 @@ namespace ASDCP
class ContentStorage : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(ContentStorage);
+ ContentStorage();
public:
+ const Dictionary& m_Dict;
Batch<UUID> Packages;
Batch<UUID> EssenceContainerData;
- ContentStorage() {}
+ ContentStorage(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~ContentStorage() {}
virtual const char* HasName() { return "ContentStorage"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -91,13 +95,15 @@ namespace ASDCP
class EssenceContainerData : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(EssenceContainerData);
+ EssenceContainerData();
public:
+ const Dictionary& m_Dict;
UMID LinkedPackageUID;
ui32_t IndexSID;
ui32_t BodySID;
- EssenceContainerData() : IndexSID(0), BodySID(0) {}
+ EssenceContainerData(const Dictionary& d) : InterchangeObject(d), m_Dict(d), IndexSID(0), BodySID(0) {}
virtual ~EssenceContainerData() {}
virtual const char* HasName() { return "EssenceContainerData"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -111,15 +117,17 @@ namespace ASDCP
class GenericPackage : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(GenericPackage);
+ GenericPackage();
public:
+ const Dictionary& m_Dict;
UMID PackageUID;
UTF16String Name;
Timestamp PackageCreationDate;
Timestamp PackageModifiedDate;
Batch<UUID> Tracks;
- GenericPackage() {}
+ GenericPackage(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~GenericPackage() {}
virtual const char* HasName() { return "GenericPackage"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -131,10 +139,12 @@ namespace ASDCP
class MaterialPackage : public GenericPackage
{
ASDCP_NO_COPY_CONSTRUCT(MaterialPackage);
+ MaterialPackage();
public:
+ const Dictionary& m_Dict;
- MaterialPackage() {}
+ MaterialPackage(const Dictionary& d) : GenericPackage(d), m_Dict(d) {}
virtual ~MaterialPackage() {}
virtual const char* HasName() { return "MaterialPackage"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -148,11 +158,13 @@ namespace ASDCP
class SourcePackage : public GenericPackage
{
ASDCP_NO_COPY_CONSTRUCT(SourcePackage);
+ SourcePackage();
public:
+ const Dictionary& m_Dict;
UUID Descriptor;
- SourcePackage() {}
+ SourcePackage(const Dictionary& d) : GenericPackage(d), m_Dict(d) {}
virtual ~SourcePackage() {}
virtual const char* HasName() { return "SourcePackage"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -166,14 +178,16 @@ namespace ASDCP
class GenericTrack : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(GenericTrack);
+ GenericTrack();
public:
+ const Dictionary& m_Dict;
ui32_t TrackID;
ui32_t TrackNumber;
UTF16String TrackName;
UUID Sequence;
- GenericTrack() : TrackID(0), TrackNumber(0) {}
+ GenericTrack(const Dictionary& d) : InterchangeObject(d), m_Dict(d), TrackID(0), TrackNumber(0) {}
virtual ~GenericTrack() {}
virtual const char* HasName() { return "GenericTrack"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -185,10 +199,12 @@ namespace ASDCP
class StaticTrack : public GenericTrack
{
ASDCP_NO_COPY_CONSTRUCT(StaticTrack);
+ StaticTrack();
public:
+ const Dictionary& m_Dict;
- StaticTrack() {}
+ StaticTrack(const Dictionary& d) : GenericTrack(d), m_Dict(d) {}
virtual ~StaticTrack() {}
virtual const char* HasName() { return "StaticTrack"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -202,12 +218,14 @@ namespace ASDCP
class Track : public GenericTrack
{
ASDCP_NO_COPY_CONSTRUCT(Track);
+ Track();
public:
+ const Dictionary& m_Dict;
Rational EditRate;
ui64_t Origin;
- Track() : Origin(0) {}
+ Track(const Dictionary& d) : GenericTrack(d), m_Dict(d), Origin(0) {}
virtual ~Track() {}
virtual const char* HasName() { return "Track"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -221,12 +239,14 @@ namespace ASDCP
class StructuralComponent : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(StructuralComponent);
+ StructuralComponent();
public:
+ const Dictionary& m_Dict;
UL DataDefinition;
ui64_t Duration;
- StructuralComponent() : Duration(0) {}
+ StructuralComponent(const Dictionary& d) : InterchangeObject(d), m_Dict(d), Duration(0) {}
virtual ~StructuralComponent() {}
virtual const char* HasName() { return "StructuralComponent"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -238,11 +258,13 @@ namespace ASDCP
class Sequence : public StructuralComponent
{
ASDCP_NO_COPY_CONSTRUCT(Sequence);
+ Sequence();
public:
+ const Dictionary& m_Dict;
Batch<UUID> StructuralComponents;
- Sequence() {}
+ Sequence(const Dictionary& d) : StructuralComponent(d), m_Dict(d) {}
virtual ~Sequence() {}
virtual const char* HasName() { return "Sequence"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -256,13 +278,15 @@ namespace ASDCP
class SourceClip : public StructuralComponent
{
ASDCP_NO_COPY_CONSTRUCT(SourceClip);
+ SourceClip();
public:
+ const Dictionary& m_Dict;
ui64_t StartPosition;
UMID SourcePackageID;
ui32_t SourceTrackID;
- SourceClip() : StartPosition(0), SourceTrackID(0) {}
+ SourceClip(const Dictionary& d) : StructuralComponent(d), m_Dict(d), StartPosition(0), SourceTrackID(0) {}
virtual ~SourceClip() {}
virtual const char* HasName() { return "SourceClip"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -276,13 +300,15 @@ namespace ASDCP
class TimecodeComponent : public StructuralComponent
{
ASDCP_NO_COPY_CONSTRUCT(TimecodeComponent);
+ TimecodeComponent();
public:
+ const Dictionary& m_Dict;
ui16_t RoundedTimecodeBase;
ui64_t StartTimecode;
ui8_t DropFrame;
- TimecodeComponent() : RoundedTimecodeBase(0), StartTimecode(0), DropFrame(0) {}
+ TimecodeComponent(const Dictionary& d) : StructuralComponent(d), m_Dict(d), RoundedTimecodeBase(0), StartTimecode(0), DropFrame(0) {}
virtual ~TimecodeComponent() {}
virtual const char* HasName() { return "TimecodeComponent"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -296,12 +322,14 @@ namespace ASDCP
class GenericDescriptor : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(GenericDescriptor);
+ GenericDescriptor();
public:
+ const Dictionary& m_Dict;
Batch<UUID> Locators;
Batch<UUID> SubDescriptors;
- GenericDescriptor() {}
+ GenericDescriptor(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~GenericDescriptor() {}
virtual const char* HasName() { return "GenericDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -313,15 +341,17 @@ namespace ASDCP
class FileDescriptor : public GenericDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(FileDescriptor);
+ FileDescriptor();
public:
+ const Dictionary& m_Dict;
ui32_t LinkedTrackID;
Rational SampleRate;
ui64_t ContainerDuration;
UL EssenceContainer;
UL Codec;
- FileDescriptor() : LinkedTrackID(0), ContainerDuration(0) {}
+ FileDescriptor(const Dictionary& d) : GenericDescriptor(d), m_Dict(d), LinkedTrackID(0), ContainerDuration(0) {}
virtual ~FileDescriptor() {}
virtual const char* HasName() { return "FileDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -335,8 +365,10 @@ namespace ASDCP
class GenericSoundEssenceDescriptor : public FileDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(GenericSoundEssenceDescriptor);
+ GenericSoundEssenceDescriptor();
public:
+ const Dictionary& m_Dict;
Rational AudioSamplingRate;
ui8_t Locked;
ui8_t AudioRefLevel;
@@ -344,7 +376,7 @@ namespace ASDCP
ui32_t QuantizationBits;
ui8_t DialNorm;
- GenericSoundEssenceDescriptor() : Locked(0), AudioRefLevel(0), ChannelCount(0), QuantizationBits(0), DialNorm(0) {}
+ GenericSoundEssenceDescriptor(const Dictionary& d) : FileDescriptor(d), m_Dict(d), Locked(0), AudioRefLevel(0), ChannelCount(0), QuantizationBits(0), DialNorm(0) {}
virtual ~GenericSoundEssenceDescriptor() {}
virtual const char* HasName() { return "GenericSoundEssenceDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -358,14 +390,16 @@ namespace ASDCP
class WaveAudioDescriptor : public GenericSoundEssenceDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(WaveAudioDescriptor);
+ WaveAudioDescriptor();
public:
+ const Dictionary& m_Dict;
ui16_t BlockAlign;
ui8_t SequenceOffset;
ui32_t AvgBps;
UL ChannelAssignment;
- WaveAudioDescriptor() : BlockAlign(0), SequenceOffset(0), AvgBps(0) {}
+ WaveAudioDescriptor(const Dictionary& d) : GenericSoundEssenceDescriptor(d), m_Dict(d), BlockAlign(0), SequenceOffset(0), AvgBps(0) {}
virtual ~WaveAudioDescriptor() {}
virtual const char* HasName() { return "WaveAudioDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -379,15 +413,17 @@ namespace ASDCP
class GenericPictureEssenceDescriptor : public FileDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(GenericPictureEssenceDescriptor);
+ GenericPictureEssenceDescriptor();
public:
+ const Dictionary& m_Dict;
ui8_t FrameLayout;
ui32_t StoredWidth;
ui32_t StoredHeight;
Rational AspectRatio;
UL PictureEssenceCoding;
- GenericPictureEssenceDescriptor() : FrameLayout(0), StoredWidth(0), StoredHeight(0) {}
+ GenericPictureEssenceDescriptor(const Dictionary& d) : FileDescriptor(d), m_Dict(d), FrameLayout(0), StoredWidth(0), StoredHeight(0) {}
virtual ~GenericPictureEssenceDescriptor() {}
virtual const char* HasName() { return "GenericPictureEssenceDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -401,12 +437,14 @@ namespace ASDCP
class RGBAEssenceDescriptor : public GenericPictureEssenceDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(RGBAEssenceDescriptor);
+ RGBAEssenceDescriptor();
public:
+ const Dictionary& m_Dict;
ui32_t ComponentMaxRef;
ui32_t ComponentMinRef;
- RGBAEssenceDescriptor() : ComponentMaxRef(0), ComponentMinRef(0) {}
+ RGBAEssenceDescriptor(const Dictionary& d) : GenericPictureEssenceDescriptor(d), m_Dict(d), ComponentMaxRef(0), ComponentMinRef(0) {}
virtual ~RGBAEssenceDescriptor() {}
virtual const char* HasName() { return "RGBAEssenceDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -420,8 +458,10 @@ namespace ASDCP
class JPEG2000PictureSubDescriptor : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(JPEG2000PictureSubDescriptor);
+ JPEG2000PictureSubDescriptor();
public:
+ const Dictionary& m_Dict;
ui16_t Rsize;
ui32_t Xsize;
ui32_t Ysize;
@@ -436,7 +476,7 @@ namespace ASDCP
Raw CodingStyleDefault;
Raw QuantizationDefault;
- JPEG2000PictureSubDescriptor() : Rsize(0), Xsize(0), Ysize(0), XOsize(0), YOsize(0), XTsize(0), YTsize(0), XTOsize(0), YTOsize(0), Csize(0) {}
+ JPEG2000PictureSubDescriptor(const Dictionary& d) : InterchangeObject(d), m_Dict(d), Rsize(0), Xsize(0), Ysize(0), XOsize(0), YOsize(0), XTsize(0), YTsize(0), XTOsize(0), YTOsize(0), Csize(0) {}
virtual ~JPEG2000PictureSubDescriptor() {}
virtual const char* HasName() { return "JPEG2000PictureSubDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -450,14 +490,16 @@ namespace ASDCP
class CDCIEssenceDescriptor : public GenericPictureEssenceDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(CDCIEssenceDescriptor);
+ CDCIEssenceDescriptor();
public:
+ const Dictionary& m_Dict;
ui32_t ComponentDepth;
ui32_t HorizontalSubsampling;
ui32_t VerticalSubsampling;
ui8_t ColorSiting;
- CDCIEssenceDescriptor() : ComponentDepth(0), HorizontalSubsampling(0), VerticalSubsampling(0), ColorSiting(0) {}
+ CDCIEssenceDescriptor(const Dictionary& d) : GenericPictureEssenceDescriptor(d), m_Dict(d), ComponentDepth(0), HorizontalSubsampling(0), VerticalSubsampling(0), ColorSiting(0) {}
virtual ~CDCIEssenceDescriptor() {}
virtual const char* HasName() { return "CDCIEssenceDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -471,14 +513,16 @@ namespace ASDCP
class MPEG2VideoDescriptor : public CDCIEssenceDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(MPEG2VideoDescriptor);
+ MPEG2VideoDescriptor();
public:
+ const Dictionary& m_Dict;
ui8_t CodedContentType;
ui8_t LowDelay;
ui32_t BitRate;
ui8_t ProfileAndLevel;
- MPEG2VideoDescriptor() : CodedContentType(0), LowDelay(0), BitRate(0), ProfileAndLevel(0) {}
+ MPEG2VideoDescriptor(const Dictionary& d) : CDCIEssenceDescriptor(d), m_Dict(d), CodedContentType(0), LowDelay(0), BitRate(0), ProfileAndLevel(0) {}
virtual ~MPEG2VideoDescriptor() {}
virtual const char* HasName() { return "MPEG2VideoDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -492,15 +536,17 @@ namespace ASDCP
class DMSegment : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(DMSegment);
+ DMSegment();
public:
+ const Dictionary& m_Dict;
UL DataDefinition;
ui64_t EventStartPosition;
ui64_t Duration;
UTF16String EventComment;
UUID DMFramework;
- DMSegment() : EventStartPosition(0), Duration(0) {}
+ DMSegment(const Dictionary& d) : InterchangeObject(d), m_Dict(d), EventStartPosition(0), Duration(0) {}
virtual ~DMSegment() {}
virtual const char* HasName() { return "DMSegment"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -514,11 +560,13 @@ namespace ASDCP
class CryptographicFramework : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(CryptographicFramework);
+ CryptographicFramework();
public:
+ const Dictionary& m_Dict;
UUID ContextSR;
- CryptographicFramework() {}
+ CryptographicFramework(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~CryptographicFramework() {}
virtual const char* HasName() { return "CryptographicFramework"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -532,15 +580,17 @@ namespace ASDCP
class CryptographicContext : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(CryptographicContext);
+ CryptographicContext();
public:
+ const Dictionary& m_Dict;
UUID ContextID;
UL SourceEssenceContainer;
UL CipherAlgorithm;
UL MICAlgorithm;
UUID CryptographicKeyID;
- CryptographicContext() {}
+ CryptographicContext(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~CryptographicContext() {}
virtual const char* HasName() { return "CryptographicContext"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -554,11 +604,13 @@ namespace ASDCP
class GenericDataEssenceDescriptor : public FileDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(GenericDataEssenceDescriptor);
+ GenericDataEssenceDescriptor();
public:
+ const Dictionary& m_Dict;
UL DataEssenceCoding;
- GenericDataEssenceDescriptor() {}
+ GenericDataEssenceDescriptor(const Dictionary& d) : FileDescriptor(d), m_Dict(d) {}
virtual ~GenericDataEssenceDescriptor() {}
virtual const char* HasName() { return "GenericDataEssenceDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -572,13 +624,15 @@ namespace ASDCP
class TimedTextDescriptor : public GenericDataEssenceDescriptor
{
ASDCP_NO_COPY_CONSTRUCT(TimedTextDescriptor);
+ TimedTextDescriptor();
public:
+ const Dictionary& m_Dict;
UUID ResourceID;
UTF16String UCSEncoding;
UTF16String NamespaceURI;
- TimedTextDescriptor() {}
+ TimedTextDescriptor(const Dictionary& d) : GenericDataEssenceDescriptor(d), m_Dict(d) {}
virtual ~TimedTextDescriptor() {}
virtual const char* HasName() { return "TimedTextDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -592,13 +646,15 @@ namespace ASDCP
class TimedTextResourceSubDescriptor : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(TimedTextResourceSubDescriptor);
+ TimedTextResourceSubDescriptor();
public:
+ const Dictionary& m_Dict;
UUID AncillaryResourceID;
UTF16String MIMEMediaType;
ui32_t EssenceStreamID;
- TimedTextResourceSubDescriptor() : EssenceStreamID(0) {}
+ TimedTextResourceSubDescriptor(const Dictionary& d) : InterchangeObject(d), m_Dict(d), EssenceStreamID(0) {}
virtual ~TimedTextResourceSubDescriptor() {}
virtual const char* HasName() { return "TimedTextResourceSubDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);
@@ -612,10 +668,12 @@ namespace ASDCP
class StereoscopicPictureSubDescriptor : public InterchangeObject
{
ASDCP_NO_COPY_CONSTRUCT(StereoscopicPictureSubDescriptor);
+ StereoscopicPictureSubDescriptor();
public:
+ const Dictionary& m_Dict;
- StereoscopicPictureSubDescriptor() {}
+ StereoscopicPictureSubDescriptor(const Dictionary& d) : InterchangeObject(d), m_Dict(d) {}
virtual ~StereoscopicPictureSubDescriptor() {}
virtual const char* HasName() { return "StereoscopicPictureSubDescriptor"; }
virtual Result_t InitFromTLVSet(TLVReader& TLVSet);