Julian Hall | 7af7f90 | 2023-02-16 11:07:32 +0000 | [diff] [blame] | 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 | |
| 10 | class fw_directory |
| 11 | class fw_inspector |
| 12 | class img_dir_serializer |
| 13 | class stream_manager |
| 14 | class update_agent |
| 15 | class fw_store |
| 16 | class installer |
| 17 | |
| 18 | class 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 | |
| 30 | class fw_directory { |
| 31 | +set_boot_info() |
| 32 | +add_image_info() |
| 33 | +find_image_info() |
| 34 | +get_image_info() |
| 35 | +num_images() |
| 36 | } |
| 37 | |
| 38 | class fw_inspector { |
| 39 | +inspect |
| 40 | } |
| 41 | |
| 42 | class img_dir_serializer { |
| 43 | +serialize() |
| 44 | +get_len() |
| 45 | } |
| 46 | |
| 47 | class 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 | |
| 57 | class 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 | |
| 73 | class installer { |
| 74 | +begin() |
| 75 | +finalize() |
| 76 | +abort() |
| 77 | +open() |
| 78 | +commit() |
| 79 | +write() |
| 80 | +enumerate() |
| 81 | } |
| 82 | |
| 83 | class installer_index { |
| 84 | +register() |
| 85 | +find() |
| 86 | +get() |
| 87 | +get_location_ids() |
| 88 | } |
| 89 | |
| 90 | update_agent -> fw_store |
| 91 | update_agent -> fw_directory |
| 92 | update_agent -> fw_inspector |
| 93 | update_agent -> stream_manager |
| 94 | update_agent -> img_dir_serializer |
| 95 | img_dir_serializer ..> fw_directory |
| 96 | fw_inspector -> installer_index |
| 97 | fw_inspector ..> installer |
| 98 | stream_manager ..> installer |
| 99 | |
| 100 | @enduml |