ADTF  3.18.2
cCodec

Codec for dynamic structures defined by a DDL definition. More...

Inheritance diagram for cCodec:
[legend]

Public Types

typedef adtf_ddl::tStructElement DefinedStructElementType
 
- Public Types inherited from cDecoder
typedef adtf_ddl::tStructElement DefinedStructElementType
 
- Public Types inherited from cStaticDecoder
typedef adtf_ddl::tStructElement DefinedStructElementType
 

Public Member Functions

 cCodec ()=default
 Default constructor.
 
 cCodec (cCodec &&)=default
 Move constructor.
 
cCodecoperator= (cCodec &&)=default
 Move assignment operator.
 
tResult SetElementValue (size_t nIndex, const void *pValue)
 Sets the current value of the given element by copying its data from the passed-in location. More...
 
tResult SetElementValue (size_t nIndex, const A_UTILS_NS::cVariant &oValue)
 Sets the current value of the given element to the given value. More...
 
void * GetElementAddress (size_t nIndex)
 
tResult SetConstants ()
 Sets all elements to their constant values defined in the DDL. More...
 
const void * GetElementAddress (size_t nIndex) const
 
- Public Member Functions inherited from cDecoder
 cDecoder ()=default
 Default constructor.
 
 cDecoder (cDecoder &&)=default
 Move constructor.
 
cDecoderoperator= (cDecoder &&)=default
 Move assignment operator.
 
virtual tResult IsValid () const override
 
virtual size_t GetElementCount () const override
 
size_t GetBufferSize (tDataRepresentation eRep=tDataRepresentation::Deserialized) const
 
cCodec MakeCodecFor (void *pData, size_t nDataSize, tDataRepresentation eRep) const
 Create a new codec with the current dynamic structure layout for a new data buffer. More...
 
- Public Member Functions inherited from cStaticDecoder
 cStaticDecoder ()
 Default constructor.
 
 cStaticDecoder (cStaticDecoder &&)=default
 Move constructor.
 
cStaticDecoderoperator= (cStaticDecoder &&)=default
 Move assignment operator.
 
tResult GetElement (size_t nIndex, const tStructElement *&pElement) const
 Access information about an element. More...
 
tResult GetElementValue (size_t nIndex, void *pValue) const
 Returns the current value of the given element by copying its data to the passed-in location. More...
 
tResult GetElementValue (size_t nIndex, A_UTILS_NS::cVariant &oValue) const
 Returns the current value of the given element as a variant. More...
 
const void * GetElementAddress (size_t nIndex) const
 
size_t GetStaticBufferSize (tDataRepresentation eRep=tDataRepresentation::Deserialized) const
 
tDataRepresentation GetRepresentation () const
 
A_UTILS_NS::cString GetElementValueString (size_t nIndex) const
 Returns the current value of the given element as a string. More...
 

Protected Member Functions

 cCodec (std::shared_ptr< const cStructLayout > pLayout, void *pData, size_t nDataSize, tDataRepresentation eRep)
 For internal use only.
 
 cCodec (const cDecoder &oDecoder, void *pData, size_t nDataSize, tDataRepresentation eRep)
 For internal use only.
 
- Protected Member Functions inherited from cDecoder
 cDecoder (std::shared_ptr< const cStructLayout > pLayout, const void *pData, size_t nDataSize, tDataRepresentation eRep)
 For internal use only.
 
 cDecoder (const cDecoder &oDecoder, const void *pData, size_t nDataSize, tDataRepresentation eRep)
 For internal use only.
 
virtual const tStructLayoutElement * GetLayoutElement (size_t nIndex) const override
 For internal use only.
 
- Protected Member Functions inherited from cStaticDecoder
 cStaticDecoder (std::shared_ptr< const cStructLayout > pLayout, const void *pData, size_t nDataSize, tDataRepresentation eRep)
 For internal use only.
 

Additional Inherited Members

- Static Public Member Functions inherited from cStaticDecoder
static const char * GetStructElementName (const tStructElement *pElement)
 Access information about an element. More...
 
- Protected Attributes inherited from cDecoder
std::shared_ptr< std::vector< tStructLayoutElement > > m_pDynamicElements
 For internal use only.
 
tOffsets m_sBufferSizes
 For internal use only.
 
- Protected Attributes inherited from cStaticDecoder
std::shared_ptr< const cStructLayout > m_pLayout
 For internal use only.
 
const void * m_pData
 For internal use only.
 
size_t m_nDataSize
 For internal use only.
 
const cElementAccessor * m_pElementAccessor
 For internal use only.
 

Detailed Description

Codec for dynamic structures defined by a DDL definition.

Currently the amount of dynamic elements is determined during construction only (by the current values in the structure).

Definition at line 112 of file builds/digitalwerk/solutions/adtf_content/adtf_base/adtf_core/extern/pkg_ddl/include/adtfddl/codec/codec.h.

Member Function Documentation

◆ GetElementAddress() [1/2]

void* GetElementAddress ( size_t  nIndex)
Parameters
[in]nIndexThe index of the element.
Returns
A pointer to the element or nullptr in case of an error.

◆ GetElementAddress() [2/2]

const void* GetElementAddress
Parameters
[in]nIndexThe index of the element.
Returns
A pointer to the element or nullptr in case of an error.

◆ SetConstants()

tResult SetConstants ( )

Sets all elements to their constant values defined in the DDL.

Returns
Standard result.

◆ SetElementValue() [1/2]

tResult SetElementValue ( size_t  nIndex,
const A_UTILS_NS::cVariant oValue 
)

Sets the current value of the given element to the given value.

Parameters
[in]nIndexThe index of the element.
[in]oValueThe value.
Return values
ERR_INVALID_INDEXInvalid element index.

◆ SetElementValue() [2/2]

tResult SetElementValue ( size_t  nIndex,
const void *  pValue 
)

Sets the current value of the given element by copying its data from the passed-in location.

Parameters
[in]nIndexThe index of the element.
[in]pValueThe location where the data should be copied from.
Return values
ERR_INVALID_INDEXInvalid element index.