ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Codec

Decoder for dynamic structures defined by a DataDefinition definition. More...

#include <codec_legacy.h>

Inheritance diagram for Codec:
[legend]

Public Member Functions

DEV_ESSENTIAL_DEPRECATED_CODEC Codec ()=default
 Default constructor.
 
 Codec (Codec &&)=default
 Move constructor.
 
DEV_ESSENTIAL_DEPRECATED_CODEC Codecoperator= (Codec &&)=default
 Move assignment operator.
 
a_util::result::Result setElementValue (size_t index, const void *value)
 Sets the current value of the given element by copying its data from the passed-in location.
 
a_util::result::Result setElementValue (size_t index, const a_util::variant::Variant &value)
 Sets the current value of the given element to the given value.
 
void * getElementAddress (size_t index)
 
a_util::result::Result setConstants ()
 Sets all elements to their constant values defined in the DataDefinition.
 
const void * getElementAddress (size_t index) const
 
- Public Member Functions inherited from Decoder
DEV_ESSENTIAL_DEPRECATED_DECODER Decoder ()=default
 Default constructor.
 
 Decoder (Decoder &&)=default
 Move constructor.
 
DEV_ESSENTIAL_DEPRECATED_DECODER Decoderoperator= (Decoder &&)=default
 Move assignment operator.
 
 Decoder (const Decoder &)=delete
 No copy constructor.
 
Decoderoperator= (const Decoder &)=delete
 No copy assignment operator.
 
a_util::result::Result isValid () const override
 
size_t getElementCount () const override
 
size_t getBufferSize (DataRepresentation rep=deserialized) const
 
Codec makeCodecFor (void *data, size_t data_size, DataRepresentation rep) const
 Create a new codec with the current dynamic structure layout for a new data buffer.
 
- Public Member Functions inherited from StaticDecoder
 ~StaticDecoder ()=default
 virtual DTOR
 
DEV_ESSENTIAL_DEPRECATED_STATIC_DECODER StaticDecoder ()
 Default constructor.
 
 StaticDecoder (const StaticDecoder &)=delete
 Noncopyable.
 
StaticDecoderoperator= (const StaticDecoder &)=delete
 Noncopyable.
 
 StaticDecoder (StaticDecoder &&)=default
 Move constructor.
 
DEV_ESSENTIAL_DEPRECATED_STATIC_DECODER StaticDecoderoperator= (StaticDecoder &&)=default
 Move assignment operator.
 
a_util::result::Result getElement (size_t index, const StructElement *&element) const
 Access information about an element.
 
a_util::result::Result getElementValue (size_t index, void *value) const
 Returns the current value of the given element by copying its data to the passed-in location.
 
a_util::result::Result getElementValue (size_t index, a_util::variant::Variant &value) const
 Returns the current value of the given element as a variant.
 
const void * getElementAddress (size_t index) const
 
size_t getStaticBufferSize (DataRepresentation rep=deserialized) const
 
DataRepresentation getRepresentation () const
 

Protected Member Functions

 Codec (std::shared_ptr< const StructLayout > layout, void *data, size_t data_size, DataRepresentation rep)
 For internal use only.
 
 Codec (codec::Codec &&codec)
 For internal use only.
 
- Protected Member Functions inherited from Decoder
virtual const void * getLayoutElement (size_t index) const
 this virtual pointer must stay for binary compatiblity.
 
 Decoder (const std::shared_ptr< LegacyCodecAccess > &legacy_codec_access)
 For internal use only.
 
 Decoder (std::shared_ptr< const StructLayout >, const void *data, size_t data_size, DataRepresentation rep)
 This CTOR must stay there for binary compatible reason due to an inline usage within old CodecFactory.
 
- Protected Member Functions inherited from StaticDecoder
 StaticDecoder (std::shared_ptr< const StructLayout > layout, const void *data, size_t data_size, DataRepresentation rep)
 For internal use only.
 
 StaticDecoder (const std::shared_ptr< LegacyCodecAccess > &legacy_codec_access)
 For internal use only.
 

Additional Inherited Members

- Protected Attributes inherited from StaticDecoder
std::shared_ptr< LegacyCodecAccess > _legacy_access
 For internal use only.
 
const void * _compat_data
 For internal use only.
 
size_t _compat_data_size
 For internal use only.
 
const void * _compat_element_accessor
 For internal use only.
 

Detailed Description

Decoder for dynamic structures defined by a DataDefinition definition.

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

Deprecated
Use the new Codec() instead.

Definition at line 129 of file codec_legacy.h.

Member Function Documentation

◆ getElementAddress() [1/2]

void * getElementAddress ( size_t index)
Parameters
[in]indexThe index of the element.
Returns
A pointer to the element or NULL in case of an error.

References StaticDecoder::getElementAddress().

◆ getElementAddress() [2/2]

const void * getElementAddress ( size_t index) const
Parameters
[in]indexThe index of the element.
Returns
A pointer to the element or NULL in case of an error.

◆ setConstants()

a_util::result::Result setConstants ( )

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

Returns
Standard result.

◆ setElementValue() [1/2]

a_util::result::Result setElementValue ( size_t index,
const a_util::variant::Variant & value )

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

Parameters
[in]indexThe index of the element.
[in]valueThe value.
Return values
ERR_INVALID_INDEXInvalid element index.

◆ setElementValue() [2/2]

a_util::result::Result setElementValue ( size_t index,
const void * value )

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

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