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
3// found in the LICENSE file.
4
5#ifndef COMPONENTS_STORAGE_MONITOR_REMOVABLE_STORAGE_OBSERVER_H_
6#define COMPONENTS_STORAGE_MONITOR_REMOVABLE_STORAGE_OBSERVER_H_
7
8#include "components/storage_monitor/storage_info.h"
9
10namespace storage_monitor {
11
12// Clients use this class to register for event-based notifications of
13// removable storage devices attached to or removed from the system.
14class RemovableStorageObserver {
15 public:
16  // When a removable storage device is attached, this
17  // event is triggered.
18  virtual void OnRemovableStorageAttached(const StorageInfo& info) {}
19
20  // When a removable storage device is detached, this
21  // event is triggered.
22  virtual void OnRemovableStorageDetached(const StorageInfo& info) {}
23
24 protected:
25  virtual ~RemovableStorageObserver() {}
26};
27
28}  // namespace storage_monitor
29
30#endif  // COMPONENTS_STORAGE_MONITOR_REMOVABLE_STORAGE_OBSERVER_H_
31