blob: 2f6cfec54d7f1f9e692c2a5d83fb7823ce524903 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_FILE_MANAGER_VOLUME_MANAGER_OBSERVER_H_
#define CHROME_BROWSER_ASH_FILE_MANAGER_VOLUME_MANAGER_OBSERVER_H_
#include <string>
#include "chromeos/ash/components/dbus/cros_disks/cros_disks_client.h"
namespace ash {
namespace disks {
class Disk;
} // namespace disks
} // namespace ash
namespace file_manager {
class Volume;
class VolumeManager;
// Observer interface of volume related events.
class VolumeManagerObserver {
public:
virtual ~VolumeManagerObserver() = default;
// Fired when a new disk is added.
virtual void OnDiskAdded(const ash::disks::Disk& disk, bool mounting) {}
// Fired when an attempt to add a disk is blocked by policy.
virtual void OnDiskAddBlockedByPolicy(const std::string& device_path) {}
// Fired when a disk is removed.
virtual void OnDiskRemoved(const ash::disks::Disk& disk) {}
// Fired when a new device is added.
virtual void OnDeviceAdded(const std::string& device_path) {}
// Fired when a device is removed.
virtual void OnDeviceRemoved(const std::string& device_path) {}
// Fired when a volume is mounted.
virtual void OnVolumeMounted(ash::MountError error_code,
const Volume& volume) {}
// Fired when a volume is unmounted.
virtual void OnVolumeUnmounted(ash::MountError error_code,
const Volume& volume) {}
// Fired when formatting a device is started (or failed to start).
virtual void OnFormatStarted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when formatting a device is completed (or terminated on error).
virtual void OnFormatCompleted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when partitioning a device is started.
virtual void OnPartitionStarted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when partitioning a device is completed (or terminated on error).
virtual void OnPartitionCompleted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when renaming a device is started (or failed to start).
virtual void OnRenameStarted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when renaming a device is completed (or terminated on error).
virtual void OnRenameCompleted(const std::string& device_path,
const std::string& device_label,
bool success) {}
// Fired when the observed VolumeManager is starting to shut down.
virtual void OnShutdownStart(VolumeManager* volume_manager) {}
};
} // namespace file_manager
#endif // CHROME_BROWSER_ASH_FILE_MANAGER_VOLUME_MANAGER_OBSERVER_H_