Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: webrtc/base/fileutils.h

Issue 2894583002: Delete Filesystem::IterateDirectory and Filesystem::OpenFile. (Closed)
Patch Set: Check stream.Open return value. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/base/filerotatingstream_unittest.cc ('k') | webrtc/base/fileutils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 struct stat stat_; 73 struct stat stat_;
74 #endif 74 #endif
75 }; 75 };
76 76
77 enum FileTimeType { FTT_CREATED, FTT_MODIFIED, FTT_ACCESSED }; 77 enum FileTimeType { FTT_CREATED, FTT_MODIFIED, FTT_ACCESSED };
78 78
79 class FilesystemInterface { 79 class FilesystemInterface {
80 public: 80 public:
81 virtual ~FilesystemInterface() {} 81 virtual ~FilesystemInterface() {}
82 82
83 // Returns a DirectoryIterator for a given pathname.
84 // TODO: Do fancy abstracted stuff
85 virtual DirectoryIterator* IterateDirectory();
86
87 // Opens a file. Returns an open StreamInterface if function succeeds.
88 // Otherwise, returns null.
89 // TODO: Add an error param to indicate failure reason, similar to
90 // FileStream::Open
91 virtual FileStream *OpenFile(const Pathname &filename,
92 const std::string &mode) = 0;
93
94 // This will attempt to delete the path located at filename. 83 // This will attempt to delete the path located at filename.
95 // It DCHECKs and returns false if the path points to a folder or a 84 // It DCHECKs and returns false if the path points to a folder or a
96 // non-existent file. 85 // non-existent file.
97 virtual bool DeleteFile(const Pathname &filename) = 0; 86 virtual bool DeleteFile(const Pathname &filename) = 0;
98 87
99 // This will attempt to delete the empty folder located at 'folder' 88 // This will attempt to delete the empty folder located at 'folder'
100 // It DCHECKs and returns false if the path points to a file or a non-existent 89 // It DCHECKs and returns false if the path points to a file or a non-existent
101 // folder. It fails normally if the folder is not empty or can otherwise 90 // folder. It fails normally if the folder is not empty or can otherwise
102 // not be deleted. 91 // not be deleted.
103 virtual bool DeleteEmptyFolder(const Pathname &folder) = 0; 92 virtual bool DeleteEmptyFolder(const Pathname &folder) = 0;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 default_filesystem_ = filesystem; 158 default_filesystem_ = filesystem;
170 } 159 }
171 160
172 static FilesystemInterface *swap_default_filesystem( 161 static FilesystemInterface *swap_default_filesystem(
173 FilesystemInterface *filesystem) { 162 FilesystemInterface *filesystem) {
174 FilesystemInterface *cur = default_filesystem_; 163 FilesystemInterface *cur = default_filesystem_;
175 default_filesystem_ = filesystem; 164 default_filesystem_ = filesystem;
176 return cur; 165 return cur;
177 } 166 }
178 167
179 static DirectoryIterator *IterateDirectory() {
180 return EnsureDefaultFilesystem()->IterateDirectory();
181 }
182
183 static bool CreateFolder(const Pathname &pathname) { 168 static bool CreateFolder(const Pathname &pathname) {
184 return EnsureDefaultFilesystem()->CreateFolder(pathname); 169 return EnsureDefaultFilesystem()->CreateFolder(pathname);
185 } 170 }
186 171
187 static FileStream *OpenFile(const Pathname &filename,
188 const std::string &mode) {
189 return EnsureDefaultFilesystem()->OpenFile(filename, mode);
190 }
191
192 static bool DeleteFile(const Pathname &filename) { 172 static bool DeleteFile(const Pathname &filename) {
193 return EnsureDefaultFilesystem()->DeleteFile(filename); 173 return EnsureDefaultFilesystem()->DeleteFile(filename);
194 } 174 }
195 175
196 static bool MoveFile(const Pathname &old_path, const Pathname &new_path) { 176 static bool MoveFile(const Pathname &old_path, const Pathname &new_path) {
197 return EnsureDefaultFilesystem()->MoveFile(old_path, new_path); 177 return EnsureDefaultFilesystem()->MoveFile(old_path, new_path);
198 } 178 }
199 179
200 static bool IsFolder(const Pathname& pathname) { 180 static bool IsFolder(const Pathname& pathname) {
201 return EnsureDefaultFilesystem()->IsFolder(pathname); 181 return EnsureDefaultFilesystem()->IsFolder(pathname);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 private: 227 private:
248 static FilesystemInterface* default_filesystem_; 228 static FilesystemInterface* default_filesystem_;
249 229
250 static FilesystemInterface *EnsureDefaultFilesystem(); 230 static FilesystemInterface *EnsureDefaultFilesystem();
251 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Filesystem); 231 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Filesystem);
252 }; 232 };
253 233
254 } // namespace rtc 234 } // namespace rtc
255 235
256 #endif // WEBRTC_BASE_FILEUTILS_H_ 236 #endif // WEBRTC_BASE_FILEUTILS_H_
OLDNEW
« no previous file with comments | « webrtc/base/filerotatingstream_unittest.cc ('k') | webrtc/base/fileutils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698