1'------------------------------------------------------------------------------- 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 101