| 128 | * @brief FatFS inode 操作实现 |
| 129 | */ |
| 130 | class FatFsInodeOps : public vfs::InodeOps { |
| 131 | public: |
| 132 | explicit FatFsInodeOps(FatFsFileSystem* fs) : fs_(fs) {} |
| 133 | |
| 134 | /** |
| 135 | * @brief 在目录中查找指定名称的 inode |
| 136 | * @param dir 目录 inode |
| 137 | * @param name 文件或子目录名称 |
| 138 | * @return Expected<vfs::Inode*> 找到的 inode 或错误 |
| 139 | */ |
| 140 | auto Lookup(vfs::Inode* dir, const char* name) |
| 141 | -> Expected<vfs::Inode*> override; |
| 142 | |
| 143 | /** |
| 144 | * @brief 在目录中创建文件或子目录 |
| 145 | * @param dir 父目录 inode |
| 146 | * @param name 新条目名称 |
| 147 | * @param type 文件类型(kRegular 或 kDirectory) |
| 148 | * @return Expected<vfs::Inode*> 新 inode 或错误 |
| 149 | */ |
| 150 | auto Create(vfs::Inode* dir, const char* name, vfs::FileType type) |
| 151 | -> Expected<vfs::Inode*> override; |
| 152 | |
| 153 | /** |
| 154 | * @brief 删除目录中的文件条目 |
| 155 | * @param dir 父目录 inode |
| 156 | * @param name 文件名称 |
| 157 | * @return Expected<void> 成功或错误 |
| 158 | */ |
| 159 | auto Unlink(vfs::Inode* dir, const char* name) -> Expected<void> override; |
| 160 | |
| 161 | /** |
| 162 | * @brief 在目录中创建子目录 |
| 163 | * @param dir 父目录 inode |
| 164 | * @param name 子目录名称 |
| 165 | * @return Expected<vfs::Inode*> 新目录 inode 或错误 |
| 166 | */ |
| 167 | auto Mkdir(vfs::Inode* dir, const char* name) |
| 168 | -> Expected<vfs::Inode*> override; |
| 169 | |
| 170 | /** |
| 171 | * @brief 删除目录中的空子目录 |
| 172 | * @param dir 父目录 inode |
| 173 | * @param name 子目录名称 |
| 174 | * @return Expected<void> 成功或错误 |
| 175 | */ |
| 176 | auto Rmdir(vfs::Inode* dir, const char* name) -> Expected<void> override; |
| 177 | |
| 178 | private: |
| 179 | FatFsFileSystem* fs_; |
| 180 | }; |
| 181 | |
| 182 | /** |
| 183 | * @brief FatFS 文件操作实现 |
nothing calls this directly
no outgoing calls
no test coverage detected