| Index: chromeos/disks/disk_mount_manager.h
|
| diff --git a/chromeos/disks/disk_mount_manager.h b/chromeos/disks/disk_mount_manager.h
|
| index 0fb0af4cf8041527c256ac8e7b8653a0bfb0e3a1..39d114dba4b3c59a495af4b7a082cd8ea95d01b3 100644
|
| --- a/chromeos/disks/disk_mount_manager.h
|
| +++ b/chromeos/disks/disk_mount_manager.h
|
| @@ -55,7 +55,12 @@ class CHROMEOS_EXPORT DiskMountManager {
|
| class Disk {
|
| public:
|
| Disk(const std::string& device_path,
|
| + // The path to the mount point of this device. Empty if not mounted.
|
| + // (e.g. /media/removable/VOLUME)
|
| const std::string& mount_path,
|
| + // Whether the device is mounted in read-only mode by the policy.
|
| + // Valid only when the device mounted and mount_path_ is non-empty.
|
| + bool write_disabled_by_policy,
|
| const std::string& system_path,
|
| const std::string& file_path,
|
| const std::string& device_label,
|
| @@ -69,7 +74,7 @@ class CHROMEOS_EXPORT DiskMountManager {
|
| DeviceType device_type,
|
| uint64_t total_size_in_bytes,
|
| bool is_parent,
|
| - bool is_read_only,
|
| + bool is_read_only_hardware,
|
| bool has_media,
|
| bool on_boot_device,
|
| bool on_removable_device,
|
| @@ -83,7 +88,7 @@ class CHROMEOS_EXPORT DiskMountManager {
|
|
|
| // The path to the mount point of this device. Will be empty if not mounted.
|
| // (e.g. /media/removable/VOLUME)
|
| - const std::string& mount_path() const { return mount_path_; }
|
| + const std::string& mount_path() const { return mount_path_; }
|
|
|
| // The path of the device according to the udev system.
|
| // (e.g. /sys/devices/pci0000:00/.../8:0:0:0/block/sdb/sdb1)
|
| @@ -130,8 +135,13 @@ class CHROMEOS_EXPORT DiskMountManager {
|
| // Is the device is a parent device (i.e. sdb rather than sdb1).
|
| bool is_parent() const { return is_parent_; }
|
|
|
| + // Whether the user can write to the device. True if read-only.
|
| + bool is_read_only() const {
|
| + return is_read_only_hardware_ || write_disabled_by_policy_;
|
| + }
|
| +
|
| // Is the device read only.
|
| - bool is_read_only() const { return is_read_only_; }
|
| + bool is_read_only_hardware() const { return is_read_only_hardware_; }
|
|
|
| // Does the device contains media.
|
| bool has_media() const { return has_media_; }
|
| @@ -149,13 +159,16 @@ class CHROMEOS_EXPORT DiskMountManager {
|
| mount_path_ = mount_path;
|
| }
|
|
|
| - void set_read_only(bool is_read_only) { is_read_only_ = is_read_only; }
|
| + void set_write_disabled_by_policy(bool disable) {
|
| + write_disabled_by_policy_ = disable;
|
| + }
|
|
|
| void clear_mount_path() { mount_path_.clear(); }
|
|
|
| private:
|
| std::string device_path_;
|
| std::string mount_path_;
|
| + bool write_disabled_by_policy_;
|
| std::string system_path_;
|
| std::string file_path_;
|
| std::string device_label_;
|
| @@ -169,7 +182,7 @@ class CHROMEOS_EXPORT DiskMountManager {
|
| DeviceType device_type_;
|
| uint64_t total_size_in_bytes_;
|
| bool is_parent_;
|
| - bool is_read_only_;
|
| + bool is_read_only_hardware_;
|
| bool has_media_;
|
| bool on_boot_device_;
|
| bool on_removable_device_;
|
|
|