Revert "Reland c91b178b07b0d - Delete dead signin code (SigninGlobalError)"
[chromium-blink-merge.git] / components / drive / fake_free_disk_space_getter.h
blobba6dd3dee50a9618da88a0849bd59ab64ee86900
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_
6 #define COMPONENTS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_
8 #include <list>
10 #include "base/basictypes.h"
11 #include "components/drive/file_cache.h"
13 namespace drive {
15 // This class is used to report fake free disk space. In particular, this
16 // class can be used to simulate a case where disk is full, or nearly full.
17 class FakeFreeDiskSpaceGetter : public internal::FreeDiskSpaceGetterInterface {
18 public:
19 FakeFreeDiskSpaceGetter();
20 ~FakeFreeDiskSpaceGetter() override;
22 void set_default_value(int64 value) { default_value_ = value; }
24 // Pushes the given value to the back of the fake value list.
26 // If the fake value list is empty, AmountOfFreeDiskSpace() will return
27 // |default_value_| repeatedly.
28 // Otherwise, AmountOfFreeDiskSpace() will return the value at the front of
29 // the list and removes it from the list.
30 void PushFakeValue(int64 value);
32 // FreeDiskSpaceGetterInterface overrides.
33 int64 AmountOfFreeDiskSpace() override;
35 private:
36 std::list<int64> fake_values_;
37 int64 default_value_;
39 DISALLOW_COPY_AND_ASSIGN(FakeFreeDiskSpaceGetter);
42 } // namespace drive
44 #endif // COMPONENTS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_