blob: 0dad6273762060550dbc723c03064cc5caac6926 [file] [log] [blame]
Julian Hall7af7f902023-02-16 11:07:32 +00001'-------------------------------------------------------------------------------
2' Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
3'
4' SPDX-License-Identifier: BSD-3-Clause
5'
6'-------------------------------------------------------------------------------
7
8@startuml
9
10class fw_directory
11class fw_inspector
12class img_dir_serializer
13class stream_manager
14class update_agent
15class fw_store
16class installer
17
18class update_agent {
19 +begin_staging()
20 +end_staging()
21 +cancel_staging()
22 +accept()
23 +select_previous()
24 +open()
25 +commit()
26 +read_stream()
27 +write_stream()
28}
29
30class fw_directory {
31 +set_boot_info()
32 +add_image_info()
33 +find_image_info()
34 +get_image_info()
35 +num_images()
36}
37
38class fw_inspector {
39 +inspect
40}
41
42class img_dir_serializer {
43 +serialize()
44 +get_len()
45}
46
47class stream_manager {
48 +open_buffer_stream()
49 +open_install_stream()
50 +close_stream()
51 +cancel_streams()
52 +is_open_streams()
53 +read()
54 +write()
55}
56
57class fw_store {
58 +synchronize()
59 +begin_install()
60 +cancel_install()
61 +finalize_install()
62 +select_installer()
63 +write_image()
64 +commit_image()
65 +notify_accepted()
66 +is_accepted()
67 +is_trial()
68 +commit_to_update()
69 +revert_to_previous()
70 +export()
71}
72
73class installer {
74 +begin()
75 +finalize()
76 +abort()
77 +open()
78 +commit()
79 +write()
80 +enumerate()
81}
82
83class installer_index {
84 +register()
85 +find()
86 +get()
87 +get_location_ids()
88}
89
90update_agent -> fw_store
91update_agent -> fw_directory
92update_agent -> fw_inspector
93update_agent -> stream_manager
94update_agent -> img_dir_serializer
95img_dir_serializer ..> fw_directory
96fw_inspector -> installer_index
97fw_inspector ..> installer
98stream_manager ..> installer
99
100@enduml