SimpleKernel 1.17.0
Loading...
Searching...
No Matches
MockFileOps Class Reference
Inheritance diagram for MockFileOps:
Inheritance graph
Collaboration diagram for MockFileOps:
Collaboration graph

Public Member Functions

auto Read (File *, void *, size_t) -> Expected< size_t > override
 从文件读取数据
 
auto Write (File *, const void *, size_t) -> Expected< size_t > override
 向文件写入数据
 
auto Seek (File *, int64_t, SeekWhence) -> Expected< uint64_t > override
 调整文件偏移量
 
auto Close (File *) -> Expected< void > override
 关闭文件
 
auto ReadDir (File *, DirEntry *, size_t) -> Expected< size_t > override
 读取目录项
 
- Public Member Functions inherited from vfs::FileOps
 FileOps ()=default
 
 FileOps (const FileOps &)=delete
 
 FileOps (FileOps &&)=delete
 
auto operator= (const FileOps &) -> FileOps &=delete
 
auto operator= (FileOps &&) -> FileOps &=delete
 
virtual ~FileOps ()=default
 

Detailed Description

Definition at line 19 of file vfs_test.cpp.

Member Function Documentation

◆ Close()

auto MockFileOps::Close ( File file) -> Expected< void >
inlineoverridevirtual

关闭文件

Parameters
file文件对象
Returns
Expected<void> 成功或错误
Precondition
file != nullptr
Postcondition
file 对象将被释放

Implements vfs::FileOps.

Definition at line 30 of file vfs_test.cpp.

30{ return {}; }

◆ Read()

auto MockFileOps::Read ( File file,
void *  buf,
size_t  count 
) -> Expected< size_t >
inlineoverridevirtual

从文件读取数据

Parameters
file文件对象
buf输出缓冲区
count最大读取字节数
Returns
Expected<size_t> 实际读取的字节数或错误
Precondition
file != nullptr && buf != nullptr
Postcondition
返回值 <= count

Implements vfs::FileOps.

Definition at line 21 of file vfs_test.cpp.

21 {
22 return std::unexpected(Error(ErrorCode::kDeviceNotSupported));
23 }
@ kDeviceNotSupported
错误类型,用于 std::expected
Definition expected.hpp:343

◆ ReadDir()

auto MockFileOps::ReadDir ( File file,
DirEntry dirent,
size_t  count 
) -> Expected< size_t >
inlineoverridevirtual

读取目录项

Parameters
file目录文件对象
dirent输出目录项数组
count最多读取的条目数
Returns
Expected<size_t> 实际读取的条目数或错误
Precondition
file != nullptr && file->inode->type == FileType::kDirectory
dirent != nullptr

Implements vfs::FileOps.

Definition at line 31 of file vfs_test.cpp.

31 {
32 return std::unexpected(Error(ErrorCode::kDeviceNotSupported));
33 }

◆ Seek()

auto MockFileOps::Seek ( File file,
int64_t  offset,
SeekWhence  whence 
) -> Expected< uint64_t >
inlineoverridevirtual

调整文件偏移量

Parameters
file文件对象
offset偏移量
whence基准位置
Returns
Expected<uint64_t> 新的偏移量或错误
Precondition
file != nullptr

Implements vfs::FileOps.

Definition at line 27 of file vfs_test.cpp.

27 {
28 return std::unexpected(Error(ErrorCode::kDeviceNotSupported));
29 }

◆ Write()

auto MockFileOps::Write ( File file,
const void *  buf,
size_t  count 
) -> Expected< size_t >
inlineoverridevirtual

向文件写入数据

Parameters
file文件对象
buf输入缓冲区
count要写入的字节数
Returns
Expected<size_t> 实际写入的字节数或错误
Precondition
file != nullptr && buf != nullptr
Postcondition
返回值 <= count

Implements vfs::FileOps.

Definition at line 24 of file vfs_test.cpp.

24 {
25 return std::unexpected(Error(ErrorCode::kDeviceNotSupported));
26 }

The documentation for this class was generated from the following file: