eRPC API Reference  Rev. 1.9.0
NXP Semiconductors
erpc_arbitrated_client_manager.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Freescale Semiconductor, Inc.
3  * Copyright 2016 NXP
4  * All rights reserved.
5  *
6  *
7  * SPDX-License-Identifier: BSD-3-Clause
8  */
9 
10 #ifndef _EMBEDDED_RPC__ARBITRATED_CLIENT_MANAGER_H_
11 #define _EMBEDDED_RPC__ARBITRATED_CLIENT_MANAGER_H_
12 
13 #include "erpc_client_manager.h"
14 
21 // Classes
24 
25 namespace erpc {
26 class TransportArbitrator;
27 
41 {
42 public:
49  : ClientManager()
50  , m_arbitrator(NULL)
51  {
52  }
53 
59  void setArbitrator(TransportArbitrator *arbitrator);
60 
61 protected:
63 
72  virtual void performClientRequest(RequestContext &request);
73 
75  void setTransport(Transport *transport) { (void)transport; }
76 };
77 
78 } // namespace erpc
79 
82 #endif // _EMBEDDED_RPC__ARBITRATED_CLIENT_MANAGER_H_
Abstract interface for transport layer.
Definition: erpc_transport.h:36
Interposer to share transport between client and server.
Definition: erpc_transport_arbitrator.h:40
Base client implementation.
Definition: erpc_client_manager.h:53
void setTransport(Transport *transport)
This method is not used with this class.
Definition: erpc_arbitrated_client_manager.h:75
void setArbitrator(TransportArbitrator *arbitrator)
Sets the transport arbitrator instance.
Definition: erpc_arbitrated_client_manager.cpp:34
ArbitratedClientManager(void)
Constructor.
Definition: erpc_arbitrated_client_manager.h:48
Client that can share a transport with a server.
Definition: erpc_arbitrated_client_manager.h:40
Definition: erpc_arbitrated_client_manager.h:25
TransportArbitrator * m_arbitrator
Optional transport arbitrator. May be NULL.
Definition: erpc_arbitrated_client_manager.h:62
virtual void performClientRequest(RequestContext &request)
This function performs request.
Definition: erpc_arbitrated_client_manager.cpp:40
Encapsulates all information about a request.
Definition: erpc_client_manager.h:212