Fix a type mismatch on Windows caused by r201738.
[chromium-blink-merge.git] / chromeos / disks / mock_disk_mount_manager.h
blobef3967be06f45fa59de194ae9119bee14c5fca08
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 CHROMEOS_DISKS_MOCK_DISK_MOUNT_MANAGER_H_
6 #define CHROMEOS_DISKS_MOCK_DISK_MOUNT_MANAGER_H_
8 #include <string>
10 #include "base/observer_list.h"
11 #include "chromeos/dbus/cros_disks_client.h"
12 #include "chromeos/disks/disk_mount_manager.h"
13 #include "testing/gmock/include/gmock/gmock.h"
14 #include "testing/gtest/include/gtest/gtest.h"
16 namespace chromeos {
17 namespace disks {
19 class MockDiskMountManager : public DiskMountManager {
20 public:
21 MockDiskMountManager();
22 virtual ~MockDiskMountManager();
24 // DiskMountManager override.
25 MOCK_METHOD0(Init, void(void));
26 MOCK_METHOD1(AddObserver, void(DiskMountManager::Observer*));
27 MOCK_METHOD1(RemoveObserver, void(DiskMountManager::Observer*));
28 MOCK_CONST_METHOD0(disks, const DiskMountManager::DiskMap&(void));
29 MOCK_CONST_METHOD1(FindDiskBySourcePath,
30 const DiskMountManager::Disk*(const std::string&));
31 MOCK_CONST_METHOD0(mount_points,
32 const DiskMountManager::MountPointMap&(void));
33 MOCK_METHOD0(RequestMountInfoRefresh, void(void));
34 MOCK_METHOD4(MountPath, void(const std::string&, const std::string&,
35 const std::string&, MountType));
36 MOCK_METHOD3(UnmountPath, void(const std::string&,
37 UnmountOptions,
38 const DiskMountManager::UnmountPathCallback&));
39 MOCK_METHOD1(FormatMountedDevice, void(const std::string&));
40 MOCK_METHOD2(
41 UnmountDeviceRecursively,
42 void(const std::string&,
43 const DiskMountManager::UnmountDeviceRecursivelyCallbackType&));
45 // Invokes fake device insert events.
46 void NotifyDeviceInsertEvents();
48 // Invokes fake device remove events.
49 void NotifyDeviceRemoveEvents();
51 // Sets up default results for mock methods.
52 void SetupDefaultReplies();
54 // Creates a fake disk entry for the mounted device. This function is
55 // primarily for StorageMonitorTest.
56 void CreateDiskEntryForMountDevice(
57 const DiskMountManager::MountPointInfo& mount_info,
58 const std::string& device_id,
59 const std::string& device_label,
60 const std::string& vendor_name,
61 const std::string& product_name,
62 DeviceType device_type,
63 uint64 total_size_in_bytes);
65 // Removes the fake disk entry associated with the mounted device. This
66 // function is primarily for StorageMonitorTest.
67 void RemoveDiskEntryForMountDevice(
68 const DiskMountManager::MountPointInfo& mount_info);
70 private:
71 // Is used to implement AddObserver.
72 void AddObserverInternal(DiskMountManager::Observer* observer);
74 // Is used to implement RemoveObserver.
75 void RemoveObserverInternal(DiskMountManager::Observer* observer);
77 // Is used to implement disks.
78 const DiskMountManager::DiskMap& disksInternal() const { return disks_; }
80 const DiskMountManager::MountPointMap& mountPointsInternal() const;
82 // Returns Disk object associated with the |source_path| or NULL on failure.
83 const DiskMountManager::Disk* FindDiskBySourcePathInternal(
84 const std::string& source_path) const;
86 // Notifies observers about device status update.
87 void NotifyDeviceChanged(DeviceEvent event,
88 const std::string& path);
90 // Notifies observers about disk status update.
91 void NotifyDiskChanged(DiskEvent event,
92 const DiskMountManager::Disk* disk);
94 // The list of observers.
95 ObserverList<DiskMountManager::Observer> observers_;
97 // The list of disks found.
98 DiskMountManager::DiskMap disks_;
100 // The list of existing mount points.
101 DiskMountManager::MountPointMap mount_points_;
103 DISALLOW_COPY_AND_ASSIGN(MockDiskMountManager);
106 } // namespace disks
107 } // namespace chromeos
109 #endif // CHROMEOS_DISKS_MOCK_DISK_MOUNT_MANAGER_H_