| '------------------------------------------------------------------------------- |
| ' Copyright (c) 2023, Arm Limited and Contributors. All rights reserved. |
| ' |
| ' SPDX-License-Identifier: BSD-3-Clause |
| ' |
| '------------------------------------------------------------------------------- |
| |
| @startuml |
| |
| class fw_directory |
| class fw_inspector |
| class img_dir_serializer |
| class stream_manager |
| class update_agent |
| class fw_store |
| class installer |
| |
| class update_agent { |
| +begin_staging() |
| +end_staging() |
| +cancel_staging() |
| +accept() |
| +select_previous() |
| +open() |
| +commit() |
| +read_stream() |
| +write_stream() |
| } |
| |
| class fw_directory { |
| +set_boot_info() |
| +add_image_info() |
| +find_image_info() |
| +get_image_info() |
| +num_images() |
| } |
| |
| class fw_inspector { |
| +inspect |
| } |
| |
| class img_dir_serializer { |
| +serialize() |
| +get_len() |
| } |
| |
| class stream_manager { |
| +open_buffer_stream() |
| +open_install_stream() |
| +close_stream() |
| +cancel_streams() |
| +is_open_streams() |
| +read() |
| +write() |
| } |
| |
| class fw_store { |
| +synchronize() |
| +begin_install() |
| +cancel_install() |
| +finalize_install() |
| +select_installer() |
| +write_image() |
| +commit_image() |
| +notify_accepted() |
| +is_accepted() |
| +is_trial() |
| +commit_to_update() |
| +revert_to_previous() |
| +export() |
| } |
| |
| class installer { |
| +begin() |
| +finalize() |
| +abort() |
| +open() |
| +commit() |
| +write() |
| +enumerate() |
| } |
| |
| class installer_index { |
| +register() |
| +find() |
| +get() |
| +get_location_ids() |
| } |
| |
| update_agent -> fw_store |
| update_agent -> fw_directory |
| update_agent -> fw_inspector |
| update_agent -> stream_manager |
| update_agent -> img_dir_serializer |
| img_dir_serializer ..> fw_directory |
| fw_inspector -> installer_index |
| fw_inspector ..> installer |
| stream_manager ..> installer |
| |
| @enduml |