'------------------------------------------------------------------------------- ' Copyright (c) 2023, Arm Limited and Contributors. All rights reserved. ' ' SPDX-License-Identifier: BSD-3-Clause ' '------------------------------------------------------------------------------- @startuml class fw_store class bank_tracker class metadata_manager class metadata_serializer class installer_index class volume_index class installer class volume class bank_tracker { +accept() +copy_accept() +set_no_content() +set_holds_content() +set_holds_acceped_content() +is_content() +is_accepted() +is_all_accepted() } 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 metadata_manager { +check_and_repair() +update() +get_active_indices() +preload_bank_tracker() } class metadata_serializer { +serialize() +size() +max_size() +deserialize_bank_info() +deserialize_active_indices() } class installer_index { +register() +find() +get() +get_location_ids() } class installer { +begin() +finalize() +abort() +open() +commit() +write() +enumerate() } class volume_index { +add() +find() } class volume { +open() +close() +seek() +size() +read() +write() +erase() +get_storage_ids() } fw_store -> metadata_manager fw_store -> bank_tracker fw_store -> installer_index fw_store -> volume_index metadata_manager -> metadata_serializer installer_index -> "*" installer volume_index -> "*" volume metadata_manager -> "2" volume installer ..> volume @enduml