12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright 2014 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.
- //
- // This file contains a subclass of VolumeMountWatcherWin to expose some
- // functionality for testing.
- #ifndef COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_
- #define COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_
- #include <stdint.h>
- #include <memory>
- #include <string>
- #include <vector>
- #include "base/synchronization/waitable_event.h"
- #include "components/storage_monitor/volume_mount_watcher_win.h"
- namespace base {
- class FilePath;
- }
- namespace storage_monitor {
- class TestVolumeMountWatcherWin : public VolumeMountWatcherWin {
- public:
- TestVolumeMountWatcherWin();
- TestVolumeMountWatcherWin(const TestVolumeMountWatcherWin&) = delete;
- TestVolumeMountWatcherWin& operator=(const TestVolumeMountWatcherWin&) =
- delete;
- ~TestVolumeMountWatcherWin() override;
- static bool GetDeviceRemovable(const base::FilePath& device_path,
- bool* removable);
- void AddDeviceForTesting(const base::FilePath& device_path,
- const std::string& device_id,
- const std::u16string& device_name,
- uint64_t total_size_in_bytes);
- void SetAttachedDevicesFake();
- const std::vector<base::FilePath>& devices_checked() const {
- return devices_checked_;
- }
- void BlockDeviceCheckForTesting();
- void ReleaseDeviceCheck();
- // VolumeMountWatcherWin:
- void DeviceCheckComplete(const base::FilePath& device_path) override;
- GetAttachedDevicesCallbackType GetAttachedDevicesCallback() const override;
- GetDeviceDetailsCallbackType GetDeviceDetailsCallback() const override;
- private:
- std::vector<base::FilePath> devices_checked_;
- std::unique_ptr<base::WaitableEvent> device_check_complete_event_;
- bool attached_devices_fake_;
- };
- } // namespace storage_monitor
- #endif // COMPONENTS_STORAGE_MONITOR_TEST_VOLUME_MOUNT_WATCHER_WIN_H_
|