ADTF  3.18.2
IDDLFactoryMethodabstract

Abstract base class/interface for Factory Method design-pattern. More...

Inheritance diagram for IDDLFactoryMethod:
[legend]

Public Member Functions

virtual cDDLDescriptionGetDDL () const =0
 Getter for the DDL object. More...
 
virtual tResult CreateNew (double fVersion=0)=0
 Method to build up a new DDL hierarchy. More...
 
virtual void DestroyDDL ()=0
 Method to destroy the DDL object and all contained objects.
 
virtual tResult BuildHeader ()=0
 Method to build a header object. More...
 
virtual tResult BuildUnits ()=0
 Method to build a units object hierarchy. More...
 
virtual tResult BuildDatatypes ()=0
 Method to build a datatypes object hierarchy. More...
 
virtual tResult BuildEnums ()=0
 Method to build a enums object hierarchy. More...
 
virtual tResult BuildStructs ()=0
 Method to build a structs object hierarchy. More...
 
virtual tResult BuildStreams ()=0
 Method to build a streams object hierarchy. More...
 
virtual tResult BuildStreamMetaTypes ()=0
 Method to build a streams object hierarchy. More...
 
virtual ~IDDLFactoryMethod ()
 DTOR.
 

Detailed Description

Abstract base class/interface for Factory Method design-pattern.

Definition at line 17 of file ddlfactorymethod_intf.h.

Member Function Documentation

◆ BuildDatatypes()

virtual tResult BuildDatatypes ( )
pure virtual

Method to build a datatypes object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. unit)

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildEnums()

virtual tResult BuildEnums ( )
pure virtual

Method to build a enums object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. RefEnums)
ERR_UNKNOWNNot all firstly unknown structs have been resolved

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildHeader()

virtual tResult BuildHeader ( )
pure virtual

Method to build a header object.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildStreamMetaTypes()

virtual tResult BuildStreamMetaTypes ( )
pure virtual

Method to build a streams object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. struct)

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildStreams()

virtual tResult BuildStreams ( )
pure virtual

Method to build a streams object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. struct)

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildStructs()

virtual tResult BuildStructs ( )
pure virtual

Method to build a structs object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. datatype)
ERR_UNKNOWNNot all firstly unknown structs have been resolved

Implemented in cDDLImporter, and cDDLCloner.

◆ BuildUnits()

virtual tResult BuildUnits ( )
pure virtual

Method to build a units object hierarchy.

Return values
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. refUnit)
ERR_UNKNOWNNot all firstly unknown units have been resolved

Implemented in cDDLImporter, and cDDLCloner.

◆ CreateNew()

virtual tResult CreateNew ( double  fVersion = 0)
pure virtual

Method to build up a new DDL hierarchy.

Parameters
[in]fVersionThe version of the DDL hierarchy to be created. 0 Means newest version.
Return values
ERR_NOT_INITIALIZEDNot yet initialized (see setter methods in concrete classes, e.g. cDDLImporter::SetFile())
ERR_UNKNOWN_FORMATExpected XML hierarchy not found
ERR_NO_CLASSCross reference not resolvable (e.g. refUnit)
ERR_UNKNOWNCross reference has not been resolved
ERR_NOT_FOUNDAt least one mandatory element (e.g. header) was not found.

Implemented in cDDLImporter, and cDDLCloner.

◆ GetDDL()

virtual cDDLDescription* GetDDL ( ) const
pure virtual

Getter for the DDL object.

Returns
the DDL object
Attention
The caller/user has the responsibility for the created DDL object! Especially take this aspect into consideration in matters of the deallocation of memory!

Implemented in cDDLImporter, and cDDLCloner.