| /* Copyright 2018 The TensorFlow Authors. All Rights Reserved. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ==============================================================================*/ |
| |
| #ifndef TENSORFLOW_CORE_PLATFORM_NULL_FILE_SYSTEM_H_ |
| #define TENSORFLOW_CORE_PLATFORM_NULL_FILE_SYSTEM_H_ |
| |
| #include <memory> |
| #include <string> |
| #include <vector> |
| |
| #include "tensorflow/core/platform/env.h" |
| #include "tensorflow/core/platform/file_system.h" |
| #include "tensorflow/core/platform/file_system_helper.h" |
| |
| namespace tensorflow { |
| |
| // START_SKIP_DOXYGEN |
| |
| #ifndef SWIG |
| // Degenerate file system that provides no implementations. |
| class NullFileSystem : public FileSystem { |
| public: |
| NullFileSystem() {} |
| |
| ~NullFileSystem() override = default; |
| |
| Status NewRandomAccessFile( |
| const string& fname, std::unique_ptr<RandomAccessFile>* result) override { |
| return errors::Unimplemented("NewRandomAccessFile unimplemented"); |
| } |
| |
| Status NewWritableFile(const string& fname, |
| std::unique_ptr<WritableFile>* result) override { |
| return errors::Unimplemented("NewWritableFile unimplemented"); |
| } |
| |
| Status NewAppendableFile(const string& fname, |
| std::unique_ptr<WritableFile>* result) override { |
| return errors::Unimplemented("NewAppendableFile unimplemented"); |
| } |
| |
| Status NewReadOnlyMemoryRegionFromFile( |
| const string& fname, |
| std::unique_ptr<ReadOnlyMemoryRegion>* result) override { |
| return errors::Unimplemented( |
| "NewReadOnlyMemoryRegionFromFile unimplemented"); |
| } |
| |
| Status FileExists(const string& fname) override { |
| return errors::Unimplemented("FileExists unimplemented"); |
| } |
| |
| Status GetChildren(const string& dir, std::vector<string>* result) override { |
| return errors::Unimplemented("GetChildren unimplemented"); |
| } |
| |
| Status GetMatchingPaths(const string& pattern, |
| std::vector<string>* results) override { |
| return internal::GetMatchingPaths(this, Env::Default(), pattern, results); |
| } |
| |
| Status DeleteFile(const string& fname) override { |
| return errors::Unimplemented("DeleteFile unimplemented"); |
| } |
| |
| Status CreateDir(const string& dirname) override { |
| return errors::Unimplemented("CreateDir unimplemented"); |
| } |
| |
| Status DeleteDir(const string& dirname) override { |
| return errors::Unimplemented("DeleteDir unimplemented"); |
| } |
| |
| Status GetFileSize(const string& fname, uint64* file_size) override { |
| return errors::Unimplemented("GetFileSize unimplemented"); |
| } |
| |
| Status RenameFile(const string& src, const string& target) override { |
| return errors::Unimplemented("RenameFile unimplemented"); |
| } |
| |
| Status Stat(const string& fname, FileStatistics* stat) override { |
| return errors::Unimplemented("Stat unimplemented"); |
| } |
| }; |
| #endif |
| |
| // END_SKIP_DOXYGEN |
| |
| } // namespace tensorflow |
| |
| #endif // TENSORFLOW_CORE_PLATFORM_NULL_FILE_SYSTEM_H_ |