10 #ifndef _EMBEDDED_RPC__CLIENT_MANAGER_H_ 11 #define _EMBEDDED_RPC__CLIENT_MANAGER_H_ 15 #include "erpc_config_internal.h" 16 #if ERPC_MESSAGE_LOGGING 54 #if ERPC_MESSAGE_LOGGING 55 class ClientManager :
public MessageLoggers
74 , m_serverThreadId(NULL)
148 #if ERPC_NESTED_CALLS 154 void setServer(
Server *server) { m_server = server; }
161 void setServerThreadId(
Thread::thread_id_t serverThreadId) { m_serverThreadId = serverThreadId; }
170 #if ERPC_NESTED_CALLS 185 #if ERPC_NESTED_CALLS 278 #endif // _EMBEDDED_RPC__CLIENT_MANAGER_H_ Abstract interface for transport layer.
Definition: erpc_transport.h:35
int32_t erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:86
Transport * m_transport
Transport layer to use.
Definition: erpc_client_manager.h:167
virtual erpc_status_t performClientRequest(RequestContext &request)
This function performs request.
Definition: erpc_client_manager.cpp:50
virtual erpc_status_t performRequest(RequestContext &request)
This function performs request.
Definition: erpc_client_manager.cpp:38
Base client implementation.
Definition: erpc_client_manager.h:57
uint32_t m_sequence
Sequence number.
Definition: erpc_client_manager.h:168
Abstract serialization encoder/decoder interface.
Definition: erpc_codec.h:50
CodecFactory * m_codecFactory
Codec to use.
Definition: erpc_client_manager.h:166
bool m_oneway
When true, request context will be oneway type (only send data).
Definition: erpc_client_manager.h:269
uint32_t m_sequence
Sequence number. To be sure that reply belong to current request.
Definition: erpc_client_manager.h:267
void setIsOneway(bool oneway)
Set request context to be oneway type (only send data).
Definition: erpc_client_manager.h:264
#define ERPC_MESSAGE_LOGGING
void callErrorHandler(erpc_status_t err, uint32_t functionID)
This function calls error handler callback function with given status.
Definition: erpc_client_manager.cpp:212
bool isOneway(void) const
Returns information if request context is oneway or not.
Definition: erpc_client_manager.h:257
Abstract interface for codec factory.
Definition: erpc_codec.h:420
ClientManager(void)
Constructor.
Definition: erpc_client_manager.h:66
void setTransport(Transport *transport)
This function sets transport layer to use.
Definition: erpc_client_manager.cpp:25
virtual erpc_status_t verifyReply(RequestContext &request)
Validate that an incoming message is a reply.
Definition: erpc_client_manager.cpp:158
Based server functionality.
Definition: erpc_server.h:107
uint32_t getSequence(void) const
Get sequence number (be sure that reply belong to current request).
Definition: erpc_client_manager.h:250
#define ERPC_NESTED_CALLS
Definition: erpc_arbitrated_client_manager.h:25
MessageBufferFactory * m_messageFactory
Message buffer factory to use.
Definition: erpc_client_manager.h:165
virtual ~ClientManager(void)
ClientManager destructor.
Definition: erpc_client_manager.h:85
Codec * getCodec(void)
Get inout codec (for writing).
Definition: erpc_client_manager.h:243
Codec * m_codec
Inout codec. Codec for receiving and sending data.
Definition: erpc_client_manager.h:268
Codec * createBufferAndCodec(void)
Create message buffer and codec.
Definition: erpc_client_manager.cpp:185
void(* client_error_handler_t)(erpc_status_t err, uint32_t functionID)
Definition: erpc_client_manager.h:33
void * thread_id_t
Unique identifier for a thread.
Definition: erpc_threading.h:60
virtual RequestContext createRequest(bool isOneway)
This function creates request context.
Definition: erpc_client_manager.cpp:30
Abstract interface for message buffer factory.
Definition: erpc_message_buffer.h:364
RequestContext(uint32_t sequence, Codec *codec, bool isOneway)
Constructor.
Definition: erpc_client_manager.h:231
void setCodecFactory(CodecFactory *factory)
This function sets codec factory to use.
Definition: erpc_client_manager.h:99
void setErrorHandler(client_error_handler_t error_handler)
This function sets error handler function for infrastructure errors.
Definition: erpc_client_manager.h:136
void setMessageBufferFactory(MessageBufferFactory *factory)
This function sets message buffer factory to use.
Definition: erpc_client_manager.h:92
Logging messages functionality.
Definition: erpc_message_loggers.h:77
virtual void releaseRequest(RequestContext &request)
This function releases request context.
Definition: erpc_client_manager.cpp:206
Encapsulates all information about a request.
Definition: erpc_client_manager.h:219
client_error_handler_t m_errorHandler
Pointer to function error handler.
Definition: erpc_client_manager.h:169