blob: f236295bc902e19c5dd927d823bf230c5ceac7a3 [file] [log] [blame]
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +09001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
agl@chromium.org4300a312010-03-12 00:25:54 +09002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +09005#ifndef BASE_FILES_DIR_READER_FALLBACK_H_
6#define BASE_FILES_DIR_READER_FALLBACK_H_
thakis@chromium.org01d14522010-07-27 08:08:24 +09007#pragma once
agl@chromium.org4300a312010-03-12 00:25:54 +09008
9namespace base {
10
11class DirReaderFallback {
12 public:
13 // Open a directory. If |IsValid| is true, then |Next| can be called to start
14 // the iteration at the beginning of the directory.
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090015 explicit DirReaderFallback(const char* directory_path) {}
16
agl@chromium.org4300a312010-03-12 00:25:54 +090017 // After construction, IsValid returns true iff the directory was
18 // successfully opened.
19 bool IsValid() const { return false; }
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090020
agl@chromium.org4300a312010-03-12 00:25:54 +090021 // Move to the next entry returning false if the iteration is complete.
22 bool Next() { return false; }
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090023
agl@chromium.org4300a312010-03-12 00:25:54 +090024 // Return the name of the current directory entry.
25 const char* name() { return 0;}
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090026
agl@chromium.org4300a312010-03-12 00:25:54 +090027 // Return the file descriptor which is being used.
28 int fd() const { return -1; }
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090029
agl@chromium.org4300a312010-03-12 00:25:54 +090030 // Returns true if this is a no-op fallback class (for testing).
31 static bool IsFallback() { return true; }
32};
33
34} // namespace base
35
brettw@chromium.orgbf3eb522012-06-30 06:09:14 +090036#endif // BASE_FILES_DIR_READER_FALLBACK_H_