blob: 0519f41c3166843c3708d4548073bf506cb3a700 [file] [log] [blame]
Julian Halle76ade82020-11-25 03:07:21 +01001'-------------------------------------------------------------------------------
2' Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
3'
4' SPDX-License-Identifier: BSD-3-Clause
5'
6'-------------------------------------------------------------------------------
7
8@startuml
9
10class service_client
11
12class rpc_caller
13{
14 rpc_call_handle call_begin()
15 int call_invoke()
16 void call_end()
17}
18
19abstract class service_context
20{
21 {abstract} rpc_caller open()
22 {abstract} void close(rpc_caller)
23}
24
25class service_locator <<singleton>>
26{
27 service_context query(service_name)
28 void relinquish(service_context)
29}
30
31service_locator ..> "finds" service_context
32service_context ..> "opens session" rpc_caller
33service_client ..> "queries" service_locator
34service_client --> service_context
35service_client --> rpc_caller
36
37@enduml