|
1 | 1 | use async_trait::async_trait; |
2 | 2 |
|
3 | 3 | use crate::attributes::app_attributes::AppAttributes; |
4 | | -use crate::attributes::general_attributes::GeneralAttributes; |
5 | | -use crate::board_settings::BoardSettings; |
| 4 | +use crate::attributes::system_attributes::SystemAttributes; |
6 | 5 | use crate::connection::TockloaderConnection; |
7 | 6 | use crate::errors::TockloaderError; |
8 | | -use crate::tabs::tab::Tab; |
9 | | -use crate::{CommandEraseApps, CommandInfo, CommandInstall, CommandList}; |
| 7 | +use crate::{IOCommands, IO}; |
10 | 8 |
|
11 | 9 | #[async_trait] |
12 | | -impl CommandList for TockloaderConnection { |
13 | | - async fn list( |
14 | | - &mut self, |
15 | | - settings: &BoardSettings, |
16 | | - ) -> Result<Vec<AppAttributes>, TockloaderError> { |
| 10 | +impl IO for TockloaderConnection { |
| 11 | + async fn read(&mut self, address: u64, size: usize) -> Result<Vec<u8>, TockloaderError> { |
17 | 12 | match self { |
18 | | - TockloaderConnection::ProbeRS(conn) => conn.list(settings).await, |
19 | | - TockloaderConnection::Serial(conn) => conn.list(settings).await, |
| 13 | + TockloaderConnection::ProbeRS(conn) => conn.read(address, size).await, |
| 14 | + TockloaderConnection::Serial(conn) => conn.read(address, size).await, |
20 | 15 | } |
21 | 16 | } |
22 | | -} |
23 | 17 |
|
24 | | -#[async_trait] |
25 | | -impl CommandInfo for TockloaderConnection { |
26 | | - async fn info( |
27 | | - &mut self, |
28 | | - settings: &BoardSettings, |
29 | | - ) -> Result<GeneralAttributes, TockloaderError> { |
| 18 | + async fn write(&mut self, address: u64, pkt: &[u8]) -> Result<(), TockloaderError> { |
30 | 19 | match self { |
31 | | - TockloaderConnection::ProbeRS(conn) => conn.info(settings).await, |
32 | | - TockloaderConnection::Serial(conn) => conn.info(settings).await, |
| 20 | + TockloaderConnection::ProbeRS(conn) => conn.write(address, pkt).await, |
| 21 | + TockloaderConnection::Serial(conn) => conn.write(address, pkt).await, |
33 | 22 | } |
34 | 23 | } |
35 | 24 | } |
36 | 25 |
|
37 | 26 | #[async_trait] |
38 | | -impl CommandInstall for TockloaderConnection { |
39 | | - async fn install_app( |
40 | | - &mut self, |
41 | | - settings: &BoardSettings, |
42 | | - tab_file: Tab, |
43 | | - ) -> Result<(), TockloaderError> { |
| 27 | +impl IOCommands for TockloaderConnection { |
| 28 | + async fn read_installed_apps(&mut self) -> Result<Vec<AppAttributes>, TockloaderError> { |
44 | 29 | match self { |
45 | | - TockloaderConnection::ProbeRS(conn) => conn.install_app(settings, tab_file).await, |
46 | | - TockloaderConnection::Serial(conn) => conn.install_app(settings, tab_file).await, |
| 30 | + TockloaderConnection::ProbeRS(conn) => conn.read_installed_apps().await, |
| 31 | + TockloaderConnection::Serial(conn) => conn.read_installed_apps().await, |
47 | 32 | } |
48 | 33 | } |
49 | | -} |
50 | 34 |
|
51 | | -#[async_trait] |
52 | | -impl CommandEraseApps for TockloaderConnection { |
53 | | - async fn erase_apps(&mut self, settings: &BoardSettings) -> Result<(), TockloaderError> { |
| 35 | + async fn read_system_attributes(&mut self) -> Result<SystemAttributes, TockloaderError> { |
54 | 36 | match self { |
55 | | - TockloaderConnection::ProbeRS(conn) => conn.erase_apps(settings).await, |
56 | | - TockloaderConnection::Serial(conn) => conn.erase_apps(settings).await, |
| 37 | + TockloaderConnection::ProbeRS(conn) => conn.read_system_attributes().await, |
| 38 | + TockloaderConnection::Serial(conn) => conn.read_system_attributes().await, |
57 | 39 | } |
58 | 40 | } |
59 | 41 | } |
0 commit comments