| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_ |
| #define CHROME_BROWSER_CHROMEOS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_ |
| |
| #include <list> |
| |
| #include "base/basictypes.h" |
| #include "chrome/browser/chromeos/drive/file_cache.h" |
| |
| namespace drive { |
| |
| // This class is used to report fake free disk space. In particular, this |
| // class can be used to simulate a case where disk is full, or nearly full. |
| class FakeFreeDiskSpaceGetter : public internal::FreeDiskSpaceGetterInterface { |
| public: |
| FakeFreeDiskSpaceGetter(); |
| ~FakeFreeDiskSpaceGetter() override; |
| |
| void set_default_value(int64 value) { default_value_ = value; } |
| |
| // Pushes the given value to the back of the fake value list. |
| // |
| // If the fake value list is empty, AmountOfFreeDiskSpace() will return |
| // |default_value_| repeatedly. |
| // Otherwise, AmountOfFreeDiskSpace() will return the value at the front of |
| // the list and removes it from the list. |
| void PushFakeValue(int64 value); |
| |
| // FreeDiskSpaceGetterInterface overrides. |
| int64 AmountOfFreeDiskSpace() override; |
| |
| private: |
| std::list<int64> fake_values_; |
| int64 default_value_; |
| |
| DISALLOW_COPY_AND_ASSIGN(FakeFreeDiskSpaceGetter); |
| }; |
| |
| } // namespace drive |
| |
| #endif // CHROME_BROWSER_CHROMEOS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_ |