1- use file_system:: { DeviceTrait , Size } ;
1+ use file_system:: { DirectBaseOperations , DirectCharacterDevice , MountOperations , Size } ;
22use graphics:: { ScreenReadData , ScreenWriteData } ;
33
44use crate :: window_screen:: inner_window:: InnerWindow ;
@@ -15,8 +15,8 @@ impl<'a> ScreenDevice<'a> {
1515 }
1616}
1717
18- impl < ' a > DeviceTrait for ScreenDevice < ' a > {
19- fn read ( & self , buffer : & mut [ u8 ] ) -> file_system:: Result < file_system :: Size > {
18+ impl < ' a > DirectBaseOperations for ScreenDevice < ' a > {
19+ fn read ( & self , buffer : & mut [ u8 ] , _ : Size ) -> file_system:: Result < usize > {
2020 let data: & mut ScreenReadData = buffer
2121 . try_into ( )
2222 . map_err ( |_| file_system:: Error :: InvalidParameter ) ?;
@@ -25,28 +25,20 @@ impl<'a> DeviceTrait for ScreenDevice<'a> {
2525
2626 data. set_resolution ( resolution) ;
2727
28- Ok ( Size :: new ( size_of :: < Self > ( ) as u64 ) )
28+ Ok ( size_of :: < Self > ( ) as _ )
2929 }
3030
31- fn write ( & self , buffer : & [ u8 ] ) -> file_system:: Result < file_system :: Size > {
31+ fn write ( & self , buffer : & [ u8 ] , _ : Size ) -> file_system:: Result < usize > {
3232 let data: & ScreenWriteData = buffer
3333 . try_into ( )
3434 . map_err ( |_| file_system:: Error :: InvalidParameter ) ?;
3535
3636 futures:: block_on ( self . 0 . draw ( data) ) . unwrap ( ) ;
3737
38- Ok ( Size :: new ( size_of :: < Self > ( ) as u64 ) )
39- }
40-
41- fn get_size ( & self ) -> file_system:: Result < file_system:: Size > {
42- Ok ( Size :: new ( size_of :: < Self > ( ) as u64 ) )
38+ Ok ( size_of :: < Self > ( ) as _ )
4339 }
40+ }
4441
45- fn set_position ( & self , _: & file_system:: Position ) -> file_system:: Result < file_system:: Size > {
46- Err ( file_system:: Error :: UnsupportedOperation )
47- }
42+ impl MountOperations for ScreenDevice < ' _ > { }
4843
49- fn flush ( & self ) -> file_system:: Result < ( ) > {
50- Ok ( ( ) )
51- }
52- }
44+ impl DirectCharacterDevice for ScreenDevice < ' _ > { }
0 commit comments