OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // This file contains a subclass of VolumeMountWatcherWin to expose some | 5 // This file contains a subclass of VolumeMountWatcherWin to expose some |
6 // functionality for testing. | 6 // functionality for testing. |
7 | 7 |
8 #ifndef COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ | 8 #ifndef COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ |
9 #define COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ | 9 #define COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/strings/string16.h" | 14 #include "base/strings/string16.h" |
15 #include "base/synchronization/waitable_event.h" | 15 #include "base/synchronization/waitable_event.h" |
16 #include "components/storage_monitor/volume_mount_watcher_win.h" | 16 #include "components/storage_monitor/volume_mount_watcher_win.h" |
17 | 17 |
18 namespace base { | 18 namespace base { |
19 class FilePath; | 19 class FilePath; |
20 } | 20 } |
21 | 21 |
22 namespace storage_monitor { | 22 namespace storage_monitor { |
23 | 23 |
24 class TestVolumeMountWatcherWin : public VolumeMountWatcherWin { | 24 class TestVolumeMountWatcherWin : public VolumeMountWatcherWin { |
25 public: | 25 public: |
26 TestVolumeMountWatcherWin(); | 26 TestVolumeMountWatcherWin(); |
27 virtual ~TestVolumeMountWatcherWin(); | 27 ~TestVolumeMountWatcherWin() override; |
28 | 28 |
29 static bool GetDeviceRemovable(const base::FilePath& device_path, | 29 static bool GetDeviceRemovable(const base::FilePath& device_path, |
30 bool* removable); | 30 bool* removable); |
31 | 31 |
32 void AddDeviceForTesting(const base::FilePath& device_path, | 32 void AddDeviceForTesting(const base::FilePath& device_path, |
33 const std::string& device_id, | 33 const std::string& device_id, |
34 const base::string16& device_name, | 34 const base::string16& device_name, |
35 uint64 total_size_in_bytes); | 35 uint64 total_size_in_bytes); |
36 | 36 |
37 void SetAttachedDevicesFake(); | 37 void SetAttachedDevicesFake(); |
38 | 38 |
39 void FlushWorkerPoolForTesting(); | 39 void FlushWorkerPoolForTesting(); |
40 | 40 |
41 const std::vector<base::FilePath>& devices_checked() const { | 41 const std::vector<base::FilePath>& devices_checked() const { |
42 return devices_checked_; | 42 return devices_checked_; |
43 } | 43 } |
44 | 44 |
45 void BlockDeviceCheckForTesting(); | 45 void BlockDeviceCheckForTesting(); |
46 | 46 |
47 void ReleaseDeviceCheck(); | 47 void ReleaseDeviceCheck(); |
48 | 48 |
49 // VolumeMountWatcherWin: | 49 // VolumeMountWatcherWin: |
50 virtual void DeviceCheckComplete(const base::FilePath& device_path) override; | 50 void DeviceCheckComplete(const base::FilePath& device_path) override; |
51 virtual GetAttachedDevicesCallbackType | 51 GetAttachedDevicesCallbackType GetAttachedDevicesCallback() const override; |
52 GetAttachedDevicesCallback() const override; | 52 GetDeviceDetailsCallbackType GetDeviceDetailsCallback() const override; |
53 virtual GetDeviceDetailsCallbackType | |
54 GetDeviceDetailsCallback() const override; | |
55 | 53 |
56 private: | 54 private: |
57 std::vector<base::FilePath> devices_checked_; | 55 std::vector<base::FilePath> devices_checked_; |
58 scoped_ptr<base::WaitableEvent> device_check_complete_event_; | 56 scoped_ptr<base::WaitableEvent> device_check_complete_event_; |
59 bool attached_devices_fake_; | 57 bool attached_devices_fake_; |
60 | 58 |
61 DISALLOW_COPY_AND_ASSIGN(TestVolumeMountWatcherWin); | 59 DISALLOW_COPY_AND_ASSIGN(TestVolumeMountWatcherWin); |
62 }; | 60 }; |
63 | 61 |
64 } // namespace storage_monitor | 62 } // namespace storage_monitor |
65 | 63 |
66 #endif // COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ | 64 #endif // COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_ |
OLD | NEW |