IFile* open(const DeviceList& device_list, const Path& file, Mode mode) override { IFile* prev = createFile(device_list); if (prev) { if (prev->open(file, mode)) { return prev; } else { prev->release(); return nullptr; } } return nullptr; }
void close(IFile& file) override { file.close(); file.release(); }