EssenceParser Class Reference

Master-class for parsing essence via EssenceSubParser objects. More...

#include <essence.h>

List of all members.

Public Types

typedef std::list< EssenceSubParserFactoryPtrEssenceSubParserFactoryList
 A list of parser factory functions.
typedef SmartPtr< WrappingConfigWrappingConfigPtr
 Smart pointer to a WrappingConfig object.
typedef std::list< WrappingConfigPtrWrappingConfigList
 List of smart pointers to WrappingConfig objects.

Static Public Member Functions

static void AddNewSubParserType (EssenceSubParserFactoryPtr Factory)
 Add a new EssenceSubParser type.
static void AddNewSubParserType (EssenceSubParserPtr SubParser)
 Add a new EssenceSubParser type.
static ParserDescriptorListPtr IdentifyEssence (FileHandle InFile)
 Build a list of parsers with their descriptors for a given essence file.
static WrappingConfigList ListWrappingOptions (bool AllowMultiples, FileHandle InFile, ParserDescriptorListPtr PDList, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigList ListWrappingOptions (FileHandle InFile, ParserDescriptorListPtr PDList, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigList ListWrappingOptions (bool AllowMultiples, FileHandle InFile, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigList ListWrappingOptions (FileHandle InFile, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigList ListWrappingOptions (bool AllowMultiples, FileHandle InFile, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigList ListWrappingOptions (FileHandle InFile, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Produce a list of available wrapping options.
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ParserDescriptorListPtr PDList, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ParserDescriptorListPtr PDList, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (bool AllowMultiples, FileHandle InFile, ParserDescriptorListPtr PDList, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (bool AllowMultiples, FileHandle InFile, ParserDescriptorListPtr PDList, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (bool AllowMultiples, FileHandle InFile, Rational ForceEditRate, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static WrappingConfigPtr SelectWrappingOption (bool AllowMultiples, FileHandle InFile, WrappingOption::WrapType ForceWrap=WrappingOption::None)
 Select the best wrapping option.
static void SelectWrappingOption (EssenceParser::WrappingConfigPtr Config)
 Select the specified wrapping options.
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile)
 Auto select a wrapping option (using the default edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, std::string WrappingName, Rational ForceEditRate)
 Select a named wrapping option (with a specified edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, std::string WrappingName)
 Select a named wrapping option (using the default edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, std::list< std::string > WrappingNameList, Rational ForceEditRate)
 Select from a list of named wrapping options (with a specified edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, std::list< std::string > WrappingNameList)
 Select a named wrapping option (using the default edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ULPtr &WrappingID, Rational ForceEditRate)
 Select a UL identified wrapping option (with a specified edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ULPtr &WrappingID)
 Select a UL identified wrapping option (using the default edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ULList &WrappingIDList, Rational ForceEditRate)
 Select a UL identified wrapping option (with a specified edit rate).
static WrappingConfigPtr SelectWrappingOption (FileHandle InFile, ULList &WrappingIDList)
 Select a UL identified wrapping option (using the default edit rate).

Static Protected Member Functions

static void ExtractValidWrappingOptions (WrappingConfigList &Ret, FileHandle InFile, EssenceStreamDescriptorPtr &ESDescriptor, WrappingOptionList &WO, Rational &ForceEditRate, WrappingOption::WrapType ForceWrap)
 Take a list of wrapping options and validate them agains a specified edit rate and wrapping type.
static void Init (void)
 Initialise the sub-parser list.

Static Protected Attributes

static EssenceSubParserFactoryList EPList
 List of pointers to known parsers.
static bool Inited
 Initialization flag for EPList.

Private Member Functions

 EssenceParser ()
 Prevent instantiation of essence parser - all methods are now static.

Classes

class  WrappingConfig
 Configuration data for an essence parser with a specific wrapping option. More...


Detailed Description

Master-class for parsing essence via EssenceSubParser objects.


Member Typedef Documentation

typedef std::list<EssenceSubParserFactoryPtr> EssenceSubParserFactoryList

A list of parser factory functions.

typedef SmartPtr<WrappingConfig> WrappingConfigPtr

Smart pointer to a WrappingConfig object.

typedef std::list<WrappingConfigPtr> WrappingConfigList

List of smart pointers to WrappingConfig objects.


Constructor & Destructor Documentation

EssenceParser (  )  [private]

Prevent instantiation of essence parser - all methods are now static.


Member Function Documentation

static void AddNewSubParserType ( EssenceSubParserFactoryPtr  Factory  )  [inline, static]

Add a new EssenceSubParser type.

This adds a factory to build instances of a new sub parser type if required to parse an essence stream

static void AddNewSubParserType ( EssenceSubParserPtr  SubParser  )  [inline, static]

Add a new EssenceSubParser type.

This adds a factory to build instances of a new sub parser type if required to parse an essence stream.

Note:
This is the lecacy version to cope with EssenceSubParsers which are thier own factories

ParserDescriptorListPtr IdentifyEssence ( FileHandle  InFile  )  [static]

Build a list of parsers with their descriptors for a given essence file.

EssenceParser::WrappingConfigList ListWrappingOptions ( bool  AllowMultiples,
FileHandle  InFile,
ParserDescriptorListPtr  PDList,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [static]

Produce a list of available wrapping options.

static WrappingConfigList ListWrappingOptions ( FileHandle  InFile,
ParserDescriptorListPtr  PDList,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Produce a list of available wrapping options.

EssenceParser::WrappingConfigList ListWrappingOptions ( bool  AllowMultiples,
FileHandle  InFile,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [static]

Produce a list of available wrapping options.

static WrappingConfigList ListWrappingOptions ( FileHandle  InFile,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Produce a list of available wrapping options.

static WrappingConfigList ListWrappingOptions ( bool  AllowMultiples,
FileHandle  InFile,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Produce a list of available wrapping options.

static WrappingConfigList ListWrappingOptions ( FileHandle  InFile,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Produce a list of available wrapping options.

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ParserDescriptorListPtr  PDList,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ParserDescriptorListPtr  PDList,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

EssenceParser::WrappingConfigPtr SelectWrappingOption ( bool  AllowMultiples,
FileHandle  InFile,
ParserDescriptorListPtr  PDList,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [static]

Select the best wrapping option.

static WrappingConfigPtr SelectWrappingOption ( bool  AllowMultiples,
FileHandle  InFile,
ParserDescriptorListPtr  PDList,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

EssenceParser::WrappingConfigPtr SelectWrappingOption ( bool  AllowMultiples,
FileHandle  InFile,
Rational  ForceEditRate,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [static]

Select the best wrapping option.

static WrappingConfigPtr SelectWrappingOption ( bool  AllowMultiples,
FileHandle  InFile,
WrappingOption::WrapType  ForceWrap = WrappingOption::None 
) [inline, static]

Select the best wrapping option.

void SelectWrappingOption ( EssenceParser::WrappingConfigPtr  Config  )  [static]

Select the specified wrapping options.

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile  )  [inline, static]

Auto select a wrapping option (using the default edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
std::string  WrappingName,
Rational  ForceEditRate 
) [static]

Select a named wrapping option (with a specified edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
std::string  WrappingName 
) [inline, static]

Select a named wrapping option (using the default edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
std::list< std::string >  WrappingNameList,
Rational  ForceEditRate 
) [static]

Select from a list of named wrapping options (with a specified edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
std::list< std::string >  WrappingNameList 
) [inline, static]

Select a named wrapping option (using the default edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ULPtr WrappingID,
Rational  ForceEditRate 
) [static]

Select a UL identified wrapping option (with a specified edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ULPtr WrappingID 
) [inline, static]

Select a UL identified wrapping option (using the default edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ULList WrappingIDList,
Rational  ForceEditRate 
) [static]

Select a UL identified wrapping option (with a specified edit rate).

static WrappingConfigPtr SelectWrappingOption ( FileHandle  InFile,
ULList WrappingIDList 
) [inline, static]

Select a UL identified wrapping option (using the default edit rate).

void ExtractValidWrappingOptions ( WrappingConfigList Ret,
FileHandle  InFile,
EssenceStreamDescriptorPtr ESDescriptor,
WrappingOptionList WO,
Rational ForceEditRate,
WrappingOption::WrapType  ForceWrap 
) [static, protected]

Take a list of wrapping options and validate them agains a specified edit rate and wrapping type.

All valid options are built into a WrappingConfig object and added to a specified WrappingConfigList, which may already contain other items.

void Init ( void   )  [static, protected]

Initialise the sub-parser list.

Add one factory for of all known essence parsers


Member Data Documentation

EssenceParser::EssenceSubParserFactoryList EPList [static, protected]

List of pointers to known parsers.

Used only for building parsers to parse essence - the parses in this list must not themselves be used for essence parsing

bool Inited [static, protected]

Initialization flag for EPList.


The documentation for this class was generated from the following files:
Generated on Mon Apr 2 15:20:59 2007 for MXFLib by  doxygen 1.5.1-p1