diff options
| author | jhurst <jhurst@cinecert.com> | 2009-05-18 05:18:32 +0000 |
|---|---|---|
| committer | jhurst <> | 2009-05-18 05:18:32 +0000 |
| commit | 65a8ec13b66c700b74788d3fc7525e91cf62bab0 (patch) | |
| tree | 15f588026b93aae7e65a4bf37ed4cffe8e4bc4ad /src/Metadata.h | |
| parent | 111e0170052b57fc128a37fa02736015edb8c60f (diff) | |
massive dictionary re-factoring
Diffstat (limited to 'src/Metadata.h')
| -rwxr-xr-x | src/Metadata.h | 118 |
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); |
