10 #ifndef _EMBEDDED_RPC__CODEC_H_ 11 #define _EMBEDDED_RPC__CODEC_H_ 13 #include "erpc_common.h" 33 typedef enum _message_type {
34 kInvocationMessage = 0,
41 typedef funPtr *arrayOfFunPtr;
117 virtual void startWriteMessage(message_type_t type, uint32_t service, uint32_t request, uint32_t sequence) = 0;
124 virtual void write(
bool value) = 0;
131 virtual void write(int8_t value) = 0;
138 virtual void write(int16_t value) = 0;
145 virtual void write(int32_t value) = 0;
152 virtual void write(int64_t value) = 0;
159 virtual void write(uint8_t value) = 0;
166 virtual void write(uint16_t value) = 0;
173 virtual void write(uint32_t value) = 0;
180 virtual void write(uint64_t value) = 0;
187 virtual void write(
float value) = 0;
194 virtual void write(
double value) = 0;
201 virtual void writePtr(uintptr_t value) = 0;
209 virtual void writeString(uint32_t length,
const char *value) = 0;
217 virtual void writeBinary(uint32_t length,
const uint8_t *value) = 0;
247 virtual void writeCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr callback) = 0;
255 virtual void writeCallback(funPtr callback1, funPtr callback2) = 0;
269 virtual void startReadMessage(message_type_t *type, uint32_t *service, uint32_t *request, uint32_t *sequence) = 0;
276 virtual void read(
bool *value) = 0;
283 virtual void read(int8_t *value) = 0;
290 virtual void read(int16_t *value) = 0;
297 virtual void read(int32_t *value) = 0;
304 virtual void read(int64_t *value) = 0;
311 virtual void read(uint8_t *value) = 0;
318 virtual void read(uint16_t *value) = 0;
325 virtual void read(uint32_t *value) = 0;
332 virtual void read(uint64_t *value) = 0;
339 virtual void read(
float *value) = 0;
346 virtual void read(
double *value) = 0;
353 virtual void readPtr(uintptr_t *value) = 0;
361 virtual void readString(uint32_t *length,
char **value) = 0;
369 virtual void readBinary(uint32_t *length, uint8_t **value) = 0;
399 virtual void readCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr *callback) = 0;
407 virtual void readCallback(funPtr callbacks1, funPtr *callback2) = 0;
438 virtual Codec *create(
void) = 0;
445 virtual void dispose(
Codec *codec) = 0;
452 #endif // _EMBEDDED_RPC__CODEC_H_ virtual void startReadMessage(message_type_t *type, uint32_t *service, uint32_t *request, uint32_t *sequence)=0
Prototype for read header of message.
erpc_status_t m_status
Definition: erpc_codec.h:412
int32_t erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:86
MessageBuffer * getBuffer(void)
Return message buffer used for read and write data.
Definition: erpc_codec.h:75
message_type_t
Types of messages that can be encoded.
Definition: erpc_codec.h:33
virtual void read(bool *value)=0
Prototype for read boolean value.
virtual void writePtr(uintptr_t value)=0
Prototype for write uintptr value.
virtual void writeCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr callback)=0
Writes an order ID of callback function.
No error occurred.
Definition: erpc_common.h:28
MessageBuffer::Cursor m_cursor
Definition: erpc_codec.h:411
virtual void writeBinary(uint32_t length, const uint8_t *value)=0
Prototype for write binary value.
Abstract serialization encoder/decoder interface.
Definition: erpc_codec.h:50
virtual ~Codec(void)
Codec destructor.
Definition: erpc_codec.h:68
virtual void readBinary(uint32_t *length, uint8_t **value)=0
Prototype for read binary value.
Cursor within a MessageBuffer.
Definition: erpc_message_buffer.h:188
virtual void writeNullFlag(bool isNull)=0
Writes a flag indicating whether the next value is null.
virtual void readPtr(uintptr_t *value)=0
Prototype for read uintptr value.
Abstract interface for codec factory.
Definition: erpc_codec.h:420
virtual void writeString(uint32_t length, const char *value)=0
Prototype for write string value.
virtual void startReadUnion(int32_t *discriminator)=0
Prototype for start read union.
virtual ~CodecFactory(void)
CodecFactory destructor.
Definition: erpc_codec.h:431
virtual void readCallback(arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr *callback)=0
Read an callback function id and return address of callback function.
virtual void readNullFlag(bool *isNull)=0
Reads a flag indicating whether the next value is null.
virtual void startReadList(uint32_t *length)=0
Prototype for start read list.
void set(MessageBuffer *buffer)
Set message buffer.
Definition: erpc_message_buffer.cpp:72
virtual void readString(uint32_t *length, char **value)=0
Prototype for read string value.
virtual void startWriteUnion(int32_t discriminator)=0
Prototype for start write union.
virtual void startWriteList(uint32_t length)=0
Prototype for start write list.
Represents a memory buffer containing a message.
Definition: erpc_message_buffer.h:36
virtual void startWriteMessage(message_type_t type, uint32_t service, uint32_t request, uint32_t sequence)=0
Prototype for write header of message.
Definition: erpc_arbitrated_client_manager.h:25
virtual void write(bool value)=0
Prototype for write boolean value.
virtual void setBuffer(MessageBuffer &buf)
Prototype for set message buffer used for read and write data.
Definition: erpc_codec.h:82
CodecFactory(void)
Constructor.
Definition: erpc_codec.h:426
virtual void reset(void)
Reset the codec to initial state.
Definition: erpc_codec.h:90
Codec(void)
Constructor.
Definition: erpc_codec.h:58
MessageBuffer m_buffer
Definition: erpc_codec.h:410