1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef BASE_DIR_READER_FALLBACK_H_ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define BASE_DIR_READER_FALLBACK_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace base { 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass DirReaderFallback { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Open a directory. If |IsValid| is true, then |Next| can be called to start 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // the iteration at the beginning of the directory. 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch explicit DirReaderFallback(const char* directory_path) { } 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // After construction, IsValid returns true iff the directory was 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // successfully opened. 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool IsValid() const { return false; } 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Move to the next entry returning false if the iteration is complete. 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool Next() { return false; } 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Return the name of the current directory entry. 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const char* name() { return 0;} 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Return the file descriptor which is being used. 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch int fd() const { return -1; } 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Returns true if this is a no-op fallback class (for testing). 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch static bool IsFallback() { return true; } 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace base 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // BASE_DIR_READER_FALLBACK_H_ 32