ADTF
|
Codec for samples with static and/or dynamic data. More...
Public Types | |
typedef ddl::codec::CodecElement< sample_codec_access< cSampleCodec > > | tElement |
Iterator value element type for the codec to get value, set value and get element information. More... | |
typedef ddl::codec::ChildElements< sample_codec_access< cSampleCodec > > | tElements |
Iterator container to iterate all elements of the codec. More... | |
Public Types inherited from cSampleDecoderBase | |
typedef ddl::codec::DecoderElement< sample_decoder_access< const cSampleDecoderBase > > | tElement |
Iterator value element type for the codec to get value, set value and get element information. More... | |
typedef ddl::codec::ChildElements< sample_decoder_access< const cSampleDecoderBase > > | tElements |
Iterator container to iterate all elements of the decoder. More... | |
Public Types inherited from cDecoderLegacy | |
typedef ddl::StructElement | DefinedStructElementType |
type definition for the old access_element API. | |
Public Member Functions | |
cSampleCodec () | |
Default constructor. | |
cSampleCodec (cSampleCodec &&) | |
Move constructor. | |
cSampleCodec & | operator= (cSampleCodec &&) |
Move assignment operator. | |
template<typename T > | |
void | SetElementValue (const tCodecIndex &oCodecIndex, const T &oValue) |
Sets the elements value from the given oValue . More... | |
template<typename T > | |
void | SetElementValue (const tLeafCodecIndex &oLeafCodecIndex, const T &oValue) |
Sets the elements value from the given oValue . More... | |
void | SetElementVariantValue (const tCodecIndex &oCodecIndex, const a_util::variant::Variant &oValue) |
Sets the current value of the given element from the given variant. More... | |
void | SetElementStringValue (const tCodecIndex &oCodecIndex, const std::string &strValue) |
Sets the current value of the given element from the given string. More... | |
void | SetElementRawValue (const tCodecIndex &oCodecIndex, const void *pValue, size_t szValueSize) |
Sets the elements value by copy the memory from pValue . More... | |
void * | GetElementAddress (const tCodecIndex &oCodecIndex) |
Gets the elements value memory pointer into the given data for writig access. More... | |
tElement | GetElement (const tCodecIndex &oCodecIndex) |
Retrieves an element for the codec index. More... | |
tElement | GetElement (const std::string &strElementFullName) |
Retrieves an element for the given name. More... | |
tElements & | GetElements () |
Retrieves the elements of the codec to get element information, to get and set the values. More... | |
void * | GetElementAddress (const std::string &strElementFullName) |
Gets the elements value memory pointer into the given data for writing access. More... | |
size_t | GetBufferSize () const |
Gets the buffer size in bytes for the main structure. More... | |
size_t | GetBufferSize (ddl::tDataRepresentation eRep) const |
Gets the buffer size in bytes for the main structure. More... | |
const void * | GetData () const |
Get the current data pointer. More... | |
void * | GetData () |
Get the current data pointer for writing access. More... | |
size_t | GetDataSize () const |
Get the current data size. More... | |
tElement | GetElement (const tCodecIndex &oCodecIndex) const |
Retrieves an element for the codec index. More... | |
tElement | GetElement (const std::string &strElementFullName) const |
Retrieves an element for the given name. More... | |
const tElements & | GetElements () const |
Retrieves the elements of the decoder to get element information and the values. More... | |
const void * | GetElementAddress (const tCodecIndex &oCodecIndex) const |
Gets the elements value memory pointer into the given data. More... | |
Public Member Functions inherited from cSampleDecoderBase | |
cSampleDecoderBase (cSampleDecoderBase &&) | |
cSampleDecoderBase & | operator= (cSampleDecoderBase &&) |
tResult | IsValid () const |
Returns the validation state of the coder. More... | |
tElement | GetElement (const tCodecIndex &oCodecIndex) const |
Retrieves an element for the codec index. More... | |
tElement | GetElement (const std::string &strElementFullName) const |
Retrieves an element for the given name. More... | |
const tElements & | GetElements () const |
Retrieves the elements of the decoder to get element information and the values. More... | |
size_t | GetElementChildCount (const tCodecIndex &oCodecIndex) const |
Retrieves the amount of child elements for the given codec index. More... | |
std::string | GetElementFullName (const tCodecIndex &oCodecIndex) const |
Retrieves the full name of the element within its main structure. More... | |
std::string | GetElementName (const tCodecIndex &oCodecIndex) const |
Retrieves the name of the element within its structured element. More... | |
const std::string & | GetElementBaseName (const tCodecIndex &oCodecIndex) const |
Retrieves the base name of the element within its structured element. More... | |
size_t | GetStaticBufferSize () const |
Gets the static buffer size in bytes for the main structure. More... | |
size_t | GetStaticBufferSize (ddl::tDataRepresentation oRep) const |
Gets the static buffer size in bytes for the main structure. More... | |
ddl::tDataRepresentation | GetRepresentation () const |
Returns the current data representation the decoder decodes from. More... | |
template<typename T > | |
T | GetElementValue (const tCodecIndex &oCodecIndex) const |
Gets the elements value as value of type T. More... | |
template<typename T > | |
T | GetElementValue (const penguin::tLeafCodecIndex &oLeafCodecIndex) const |
Gets the elements value as value of type T. More... | |
a_util::variant::Variant | GetElementVariantValue (const tCodecIndex &oCodecIndex) const |
Returns the current value of the given element as a variant. More... | |
void | GetElementVariantValue (const tCodecIndex &oCodecIndex, a_util::variant::Variant &oValue) const |
Returns the current value of the given element as a variant. More... | |
std::string | GetElementStringValue (const tCodecIndex &oCodecIndex) const |
Returns the current value of the given element as a string. More... | |
void | GetElementRawValue (const tCodecIndex &oCodecIndex, void *pValue, size_t szValueSize) const |
Copies the elements value to the given memory pointer in @pValue. More... | |
const void * | GetElementAddress (const tCodecIndex &oCodecIndex) const |
Gets the elements value memory pointer into the given data. More... | |
void | Resolve (tCodecIndex &oCodecIndex) const |
retrieves the lyoutinformation for the given codec index. More... | |
Public Member Functions inherited from cDecoderLegacy | |
tCodecIndex | Resolve (tCodecLeafIndex nElementLeafIndex) const |
Legacy: Retrieves a codec index with element information for the given leaf index. More... | |
adtf_util::cVariant | GetElementValue (tCodecLeafIndex nElementLeafIndex) const |
Legacy: Get the Element Value. More... | |
tResult | GetElementValue (tCodecLeafIndex nElementLeafIndex, adtf_util::cVariant &oValue) const |
Legacy: Get the Element Value. More... | |
tResult | GetElementValue (const char *strElementName, adtf_util::cVariant &oValue) const |
Legacy: Get the Element Value. More... | |
tResult | GetElementValue (tCodecLeafIndex nElementLeafIndex, void *pValue) const |
Legacy: Copies the Element Value memory into the memory pointer. More... | |
tResult | GetElementValue (const char *strElementName, void *pValue) const |
Legacy: Get the Element Value pointer. More... | |
adtf_util::cString | GetElementValueString (tCodecLeafIndex nElementLeafIndex) const |
Legacy: Get the Element Value as string (resolved to the enum element name if is enum type) More... | |
tResult | GetElement (tCodecLeafIndex nElementLeafIndex, const ddl::StructElement *&pElement) const |
Get the Element StructElement information. More... | |
const void * | GetElementAddress (tCodecLeafIndex nElementIndex) const |
Legacy: Get the Element StructElement information. More... | |
size_t | GetElementCount () const |
Legacy: Get the Element Leaf count. More... | |
Public Member Functions inherited from cCodecLegacy< ddl::codec::Codec > | |
tResult | SetElementValue (tCodecLeafIndex nElementLeafIndex, const adtf_util::cVariant &oValue) |
Legacy: Set the Element Value. More... | |
tResult | SetElementValue (const char *strElementName, const adtf_util::cVariant &oValue) |
Legacy: Set the Element Value. More... | |
void * | GetElementAddress (tCodecLeafIndex nElementLeafIndex) |
Legacy:Get the Element Address object. More... | |
Private Member Functions | |
cSampleCodec (ddl::codec::Codec &&oDecoder, adtf::ucom::object_ptr_locked< adtf::streaming::ISampleBuffer > &&pBuffer) | |
For internal use only. | |
const ddl::codec::StaticDecoder * | getDecoder () const override |
For internal use only. | |
ddl::codec::Codec * | getCodec () override |
Get the Codec. More... | |
Private Attributes | |
ddl::codec::Codec | m_oCodec |
For internal use only. | |
adtf::ucom::object_ptr_locked< adtf::streaming::ISampleBuffer > | m_pBuffer |
For internal use only. | |
tElement | m_oFirstElement |
Additional Inherited Members | |
Static Public Member Functions inherited from cDecoderLegacy | |
static const char * | GetStructElementName (const ddl::StructElement *pElement) |
Legacy: Get the Struct Element Name for access_element legacy support. More... | |
Protected Member Functions inherited from cSampleDecoderBase | |
void | ResetFirst () |
Codec for samples with static and/or dynamic data.
Definition at line 673 of file sample_codec.h.
Iterator value element type for the codec to get value, set value and get element information.
Definition at line 829 of file sample_codec.h.
Iterator container to iterate all elements of the codec.
Definition at line 864 of file sample_codec.h.
size_t GetBufferSize | ( | ) | const |
Gets the buffer size in bytes for the main structure.
size_t | size in bytes of the structure depending on the current representation (GetRepresentation) |
size_t GetBufferSize | ( | ddl::tDataRepresentation | eRep | ) | const |
Gets the buffer size in bytes for the main structure.
eRep | option to retrieve size in bytes for the deserialized or serialized representation. |
size_t | size in bytes of the structure depending on the given representation eRep |
|
overrideprivatevirtual |
Get the Codec.
Implements cCodecLegacy< ddl::codec::Codec >.
Referenced by cSampleCodec::SetElementValue().
|
inline |
Get the current data pointer for writing access.
Definition at line 906 of file sample_codec.h.
References cSampleCodec::m_pBuffer.
|
inline |
Get the current data pointer.
Definition at line 898 of file sample_codec.h.
References cSampleCodec::m_pBuffer.
|
inline |
Get the current data size.
Definition at line 915 of file sample_codec.h.
References cSampleCodec::m_pBuffer.
tElement GetElement | ( | const std::string & | strElementFullName | ) |
Retrieves an element for the given name.
[in] | strElementFullName | The full name of the element in point notation (i.e. "element1.child_element[4].element_value" ). |
throws | tResult if not found. |
tElement GetElement |
Retrieves an element for the given name.
[in] | strElementFullName | The full name of the element in point notation (i.e. "element1.child_element[4].element_value" ). |
throws | tResult if not found. |
tElement GetElement | ( | const tCodecIndex & | oCodecIndex | ) |
Retrieves an element for the codec index.
You may use a valid codec index retrieved by the cSampleCodecFactory, but no other! This is to prepare for decoding in advance:
[in] | oCodecIndex | The codec index retrieved by the used cSampleCodecFactory for this decoder. |
throws | tResult if not found. |
tElement GetElement |
Retrieves an element for the codec index.
You may use a valid codec index retrieved by the cSampleCodecFactory, but no other! This is to prepare for decoding in advance:
[in] | oCodecIndex | The codec index retrieved by the used cSampleCodecFactory for this decoder. |
throws | tResult if not found. |
void* GetElementAddress | ( | const std::string & | strElementFullName | ) |
Gets the elements value memory pointer into the given data for writing access.
[in] | strElementFullName | The full name of the element in point notation (i.e. "element1.child_element[4].element_value" ). |
throws | tResult if not found. |
void* GetElementAddress | ( | const tCodecIndex & | oCodecIndex | ) |
Gets the elements value memory pointer into the given data for writig access.
[in] | oCodecIndex | The codec index of the element. |
throws | tResult if not found. |
const void* GetElementAddress |
Gets the elements value memory pointer into the given data.
[in] | oCodecIndex | The codec index of the element. |
throws | tResult if not found. |
tElements& GetElements | ( | ) |
Retrieves the elements of the codec to get element information, to get and set the values.
const tElements& GetElements |
Retrieves the elements of the decoder to get element information and the values.
void SetElementRawValue | ( | const tCodecIndex & | oCodecIndex, |
const void * | pValue, | ||
size_t | szValueSize | ||
) |
Sets the elements value by copy the memory from pValue
.
You may use a valid codec index retrieved by the cSampleCodecFactory, but no other! This is to prepare for codec processing in advance:
[in] | oCodecIndex | The codec index of the element. |
[in] | pValue | The value memory to copy. |
[in] | szValueSize | The size of memory in pValue . |
throws | tResult if not found. |
void SetElementStringValue | ( | const tCodecIndex & | oCodecIndex, |
const std::string & | strValue | ||
) |
Sets the current value of the given element from the given string.
If this element is a enum type the enum types element name can be used in oValue
. Otherwise the string value is automatically converted to the elments data type, if possible.
[in] | oCodecIndex | The index of the element. |
[in] | strValue | The value to set. |
throws | std::runtime_error if not found. |
|
inline |
Sets the elements value from the given oValue
.
If this element is a enum type the enum types element name can be used in oValue
if T
= std::string. Otherwise the string value is automatically converted to the elments data type.
You may use a valid codec index retrieved by the cSampleCodecFactory, but no other! This is to prepare for codec processing in advance:
[in] | oCodecIndex | The codec index of the element. |
[in] | oValue | The value of type T (supported types: all int types, bool, float, double, std::string) |
T | The type of oValue to set. |
throws | tResult if not found. |
Definition at line 728 of file sample_codec.h.
References cSampleCodec::getCodec().
|
inline |
Sets the elements value from the given oValue
.
If this element is a enum type the enum types element name can be used in oValue
if T
= std::string. Otherwise the string value is automatically converted to the elments data type. You may use a valid codec index retrieved by the cSampleCodecFactory, but no other! This is to prepare for codec processing in advance:
[in] | oLeafCodecIndex | The leaf codec index of the element. |
[in] | oValue | The value of type T (supported types: all int types, bool, float, double) |
T | The type of oValue to set. |
throws | tResult if not found. |
Definition at line 766 of file sample_codec.h.
References cSampleCodec::getCodec().
void SetElementVariantValue | ( | const tCodecIndex & | oCodecIndex, |
const a_util::variant::Variant & | oValue | ||
) |
Sets the current value of the given element from the given variant.
This will convert the given value to the elements data type!
[in] | codec_index | The index of the element. |
[in] | oValue | The value to set. |
throws | std::runtime_error if not found. |