| eRPC API Reference Rev. 1.8.1 NXP Semiconductors

- Main Page
- API Reference
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
erpc::Codec Class Referenceabstract
Infrastructure » Serialization

Abstract serialization encoder/decoder interface. More...

`#include <erpc_codec.h>`

Inheritance diagram for erpc::Codec:
[legend]
Collaboration diagram for erpc::Codec:
[legend]

## Public Member Functions
| Codec (void)
| Constructor. More...
virtual | ~Codec (void)
| Codec destructor.
MessageBuffer * | getBuffer (void)
| Return message buffer used for read and write data. More...
virtual void | setBuffer (MessageBuffer &buf)
| Prototype for set message buffer used for read and write data. More...
virtual void | reset (void)
| Reset the codec to initial state.
erpc_status_t | getStatus (void)
| Return current status of eRPC message processing. More...
bool | isStatusOk (void)
| Return bool value representing current status. More...
void | updateStatus (erpc_status_t status)
| Set current status of eRPC message processing to given value. More...
Encoding
virtual void | startWriteMessage (message_type_t type, uint32_t service, uint32_t request, uint32_t sequence)=0
| Prototype for write header of message. More...
virtual void | write (bool value)=0
| Prototype for write boolean value. More...
virtual void | write (int8_t value)=0
| Prototype for write int8_t value. More...
virtual void | write (int16_t value)=0
| Prototype for write int16_t value. More...
virtual void | write (int32_t value)=0
| Prototype for write int32_t value. More...
virtual void | write (int64_t value)=0
| Prototype for write int64_t value. More...
virtual void | write (uint8_t value)=0
| Prototype for write uint8_t value. More...
virtual void | write (uint16_t value)=0
| Prototype for write uint16_t value. More...
virtual void | write (uint32_t value)=0
| Prototype for write uint32_t value. More...
virtual void | write (uint64_t value)=0
| Prototype for write uint64_t value. More...
virtual void | write (float value)=0
| Prototype for write float value. More...
virtual void | write (double value)=0
| Prototype for write double value. More...
virtual void | writePtr (uintptr_t value)=0
| Prototype for write uintptr value. More...
virtual void | writeString (uint32_t length, const char *value)=0
| Prototype for write string value. More...
virtual void | writeBinary (uint32_t length, const uint8_t *value)=0
| Prototype for write binary value. More...
virtual void | startWriteList (uint32_t length)=0
| Prototype for start write list. More...
virtual void | startWriteUnion (int32_t discriminator)=0
| Prototype for start write union. More...
virtual void | writeNullFlag (bool isNull)=0
| Writes a flag indicating whether the next value is null. More...
virtual void | writeCallback (arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr callback)=0
| Writes an order ID of callback function. More...
virtual void | writeCallback (funPtr callback1, funPtr callback2)=0
| Writes an order ID of callback function. More...

## Decoding
MessageBuffer | m_buffer
MessageBuffer::Cursor | m_cursor
erpc_status_t | m_status
virtual void | startReadMessage (message_type_t *type, uint32_t *service, uint32_t *request, uint32_t *sequence)=0
| Prototype for read header of message. More...
virtual void | read (bool *value)=0
| Prototype for read boolean value. More...
virtual void | read (int8_t *value)=0
| Prototype for read int8_t value. More...
virtual void | read (int16_t *value)=0
| Prototype for read int16_t value. More...
virtual void | read (int32_t *value)=0
| Prototype for read int32_t value. More...
virtual void | read (int64_t *value)=0
| Prototype for read int64_t value. More...
virtual void | read (uint8_t *value)=0
| Prototype for read uint8_t value. More...
virtual void | read (uint16_t *value)=0
| Prototype for read uint16_t value. More...
virtual void | read (uint32_t *value)=0
| Prototype for read uint32_t value. More...
virtual void | read (uint64_t *value)=0
| Prototype for read uint64_t value. More...
virtual void | read (float *value)=0
| Prototype for read float value. More...
virtual void | read (double *value)=0
| Prototype for read double value. More...
virtual void | readPtr (uintptr_t *value)=0
| Prototype for read uintptr value. More...
virtual void | readString (uint32_t *length, char **value)=0
| Prototype for read string value. More...
virtual void | readBinary (uint32_t *length, uint8_t **value)=0
| Prototype for read binary value. More...
virtual void | startReadList (uint32_t *length)=0
| Prototype for start read list. More...
virtual void | startReadUnion (int32_t *discriminator)=0
| Prototype for start read union. More...
virtual void | readNullFlag (bool *isNull)=0
| Reads a flag indicating whether the next value is null. More...
virtual void | readCallback (arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr *callback)=0
| Read an callback function id and return address of callback function. More...
virtual void | readCallback (funPtr callbacks1, funPtr *callback2)=0
| Read an callback function id and return address of callback function. More...

## Detailed Description

Abstract serialization encoder/decoder interface.

Codecs write to or read from a MessageBuffer.

## Constructor & Destructor Documentation

erpc::Codec::Codec | ( | void |  | ) |
| inline

Constructor.

This function initializes object attributes.

## Member Function Documentation

MessageBuffer* erpc::Codec::getBuffer | ( | void |  | ) |
| inline

Return message buffer used for read and write data.

Returns
  Pointer to used message buffer.

virtual void erpc::Codec::setBuffer | ( | MessageBuffer & | buf | ) |
| inline virtual

Prototype for set message buffer used for read and write data.

Parameters

  [in] | buf | Message buffer to set.

erpc_status_t erpc::Codec::getStatus | ( | void |  | ) |
| inline

Return current status of eRPC message processing.

Returns
  Current status of eRPC message processing.

bool erpc::Codec::isStatusOk | ( | void |  | ) |
| inline

Return bool value representing current status.

Return values

  True | Current status value is kErpcStatus_Success.
  False | Current status is other than kErpcStatus_Success.

void erpc::Codec::updateStatus | ( | erpc_status_t | status | ) |
| inline

Set current status of eRPC message processing to given value.

Parameters

  [in] | status | New current value.

virtual void erpc::Codec::startWriteMessage | ( | message_type_t | type,
|  | uint32_t | service,
|  | uint32_t | request,
|  | uint32_t | sequence
| ) |  |
| pure virtual

Prototype for write header of message.

Parameters

  [in] | type | Type of message.
  [in] | service | Which interface is requested.
  [in] | request | Which function need be called.
  [in] | sequence | Send sequence number to be sure that received message is reply for current request.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | bool | value | ) |
| pure virtual

Prototype for write boolean value.

Parameters

  [in] | value | Boolean typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | int8_t | value | ) |
| pure virtual

Prototype for write int8_t value.

Parameters

  [in] | value | int8_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | int16_t | value | ) |
| pure virtual

Prototype for write int16_t value.

Parameters

  [in] | value | int16_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | int32_t | value | ) |
| pure virtual

Prototype for write int32_t value.

Parameters

  [in] | value | int32_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | int64_t | value | ) |
| pure virtual

Prototype for write int64_t value.

Parameters

  [in] | value | int64_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | uint8_t | value | ) |
| pure virtual

Prototype for write uint8_t value.

Parameters

  [in] | value | uint8_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | uint16_t | value | ) |
| pure virtual

Prototype for write uint16_t value.

Parameters

  [in] | value | uint16_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | uint32_t | value | ) |
| pure virtual

Prototype for write uint32_t value.

Parameters

  [in] | value | uint32_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | uint64_t | value | ) |
| pure virtual

Prototype for write uint64_t value.

Parameters

  [in] | value | uint64_t typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | float | value | ) |
| pure virtual

Prototype for write float value.

Parameters

  [in] | value | float typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::write | ( | double | value | ) |
| pure virtual

Prototype for write double value.

Parameters

  [in] | value | double typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writePtr | ( | uintptr_t | value | ) |
| pure virtual

Prototype for write uintptr value.

Parameters

  [in] | value | uintptr typed value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writeString | ( | uint32_t | length,
|  | const char * | value
| ) |  |
| pure virtual

Prototype for write string value.

Parameters

  [in] | length | of string.
  [in] | value | string value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writeBinary | ( | uint32_t | length,
|  | const uint8_t * | value
| ) |  |
| pure virtual

Prototype for write binary value.

Parameters

  [in] | length | of binary.
  [in] | value | Binary value to write.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::startWriteList | ( | uint32_t | length | ) |
| pure virtual

Prototype for start write list.

Parameters

  [in] | length | Length of list.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::startWriteUnion | ( | int32_t | discriminator | ) |
| pure virtual

Prototype for start write union.

Parameters

  [in] | discriminator | Discriminator of union.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writeNullFlag | ( | bool | isNull | ) |
| pure virtual

Writes a flag indicating whether the next value is null.

Parameters

  [in] | isNull | Null flag to send.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writeCallback | ( | arrayOfFunPtr | callbacks,
|  | uint8_t | callbacksCount,
|  | funPtr | callback
| ) |  |
| pure virtual

Writes an order ID of callback function.

Parameters

  [in] | callbacks | Pointer to array of callbacks.
  [in] | callbacksCount | Size of array of callbacks.
  [in] | callback | Callback which ID should be serialized.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::writeCallback | ( | funPtr | callback1,
|  | funPtr | callback2
| ) |  |
| pure virtual

Writes an order ID of callback function.

Parameters

  [in] | callback1 | Pointer to existing callback.
  [out] | callback2 | Callback which ID should be serialized.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::startReadMessage | ( | message_type_t * | type,
|  | uint32_t * | service,
|  | uint32_t * | request,
|  | uint32_t * | sequence
| ) |  |
| pure virtual

Prototype for read header of message.

Parameters

  [in] | type | Type of message.
  [in] | service | Which interface was used.
  [in] | request | Which function was called.
  [in] | sequence | Returned sequence number to be sure that received message is reply for current request.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | bool * | value | ) |
| pure virtual

Prototype for read boolean value.

Parameters

  [in] | value | Boolean typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | int8_t * | value | ) |
| pure virtual

Prototype for read int8_t value.

Parameters

  [in] | value | int8_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | int16_t * | value | ) |
| pure virtual

Prototype for read int16_t value.

Parameters

  [in] | value | int16_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | int32_t * | value | ) |
| pure virtual

Prototype for read int32_t value.

Parameters

  [in] | value | int32_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | int64_t * | value | ) |
| pure virtual

Prototype for read int64_t value.

Parameters

  [in] | value | int64_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | uint8_t * | value | ) |
| pure virtual

Prototype for read uint8_t value.

Parameters

  [in] | value | uint8_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | uint16_t * | value | ) |
| pure virtual

Prototype for read uint16_t value.

Parameters

  [in] | value | uint16_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | uint32_t * | value | ) |
| pure virtual

Prototype for read uint32_t value.

Parameters

  [in] | value | uint32_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | uint64_t * | value | ) |
| pure virtual

Prototype for read uint64_t value.

Parameters

  [in] | value | uint64_t typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | float * | value | ) |
| pure virtual

Prototype for read float value.

Parameters

  [in] | value | float typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::read | ( | double * | value | ) |
| pure virtual

Prototype for read double value.

Parameters

  [in] | value | double typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readPtr | ( | uintptr_t * | value | ) |
| pure virtual

Prototype for read uintptr value.

Parameters

  [in] | value | uintptr typed value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readString | ( | uint32_t * | length,
|  | char ** | value
| ) |  |
| pure virtual

Prototype for read string value.

Parameters

  [in] | length | of string.
  [in] | value | String value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readBinary | ( | uint32_t * | length,
|  | uint8_t ** | value
| ) |  |
| pure virtual

Prototype for read binary value.

Parameters

  [in] | length | of binary.
  [in] | value | Binary value to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::startReadList | ( | uint32_t * | length | ) |
| pure virtual

Prototype for start read list.

Parameters

  [in] | length | Length of list.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::startReadUnion | ( | int32_t * | discriminator | ) |
| pure virtual

Prototype for start read union.

Parameters

  [in] | discriminator | Discriminator of union.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readNullFlag | ( | bool * | isNull | ) |
| pure virtual

Reads a flag indicating whether the next value is null.

Parameters

  [in] | isNull | Null flag to read.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readCallback | ( | arrayOfFunPtr | callbacks,
|  | uint8_t | callbacksCount,
|  | funPtr * | callback
| ) |  |
| pure virtual

Read an callback function id and return address of callback function.

Parameters

  [in] | callbacks | Pointer to array of callbacks.
  [in] | callbacksCount | Size of array of callbacks.
  [out] | callback | Callback which is deserialized.

Implemented in erpc::BasicCodec.

virtual void erpc::Codec::readCallback | ( | funPtr | callbacks1,
|  | funPtr * | callback2
| ) |  |
| pure virtual

Read an callback function id and return address of callback function.

Parameters

  [in] | callback1 | Pointer to existing callback.
  [out] | callback2 | Callback which is deserialized.

Implemented in erpc::BasicCodec.

## Member Data Documentation

MessageBuffer erpc::Codec::m_buffer
| protected

Message buffer object

MessageBuffer::Cursor erpc::Codec::m_cursor
| protected

Copy data to message buffers.

erpc_status_t erpc::Codec::m_status
| protected

Status of serialized data.

The documentation for this class was generated from the following file:

- erpc_codec.h