blob: 3de6a6624bded9aec21dcb5d845c3a7478cedd2e [file] [log] [blame]
Ben Chan89cf29e2011-08-10 13:11:05 -07001// Copyright (c) 2011 The Chromium OS 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 CROS_DISKS_DEVICE_EVENT_SOURCE_INTERFACE_H_
6#define CROS_DISKS_DEVICE_EVENT_SOURCE_INTERFACE_H_
7
Ben Chan5ccd9fe2013-11-13 18:28:27 -08008#include "cros-disks/device_event.h"
Ben Chan89cf29e2011-08-10 13:11:05 -07009
Ben Chan7599f992011-12-13 16:04:34 -080010namespace cros_disks {
Ben Chan89cf29e2011-08-10 13:11:05 -070011
12// An interface class for producing device events.
13class DeviceEventSourceInterface {
14 public:
Ben Chan40ecb9b2017-03-08 11:26:07 -080015 virtual ~DeviceEventSourceInterface() = default;
Ben Chan89cf29e2011-08-10 13:11:05 -070016
Ben Chan7599f992011-12-13 16:04:34 -080017 // Implemented by a derived class to return the available device events
18 // in |events|. Returns false on error.
19 virtual bool GetDeviceEvents(DeviceEventList* events) = 0;
Ben Chan89cf29e2011-08-10 13:11:05 -070020};
21
22} // namespace cros_disks
23
24#endif // CROS_DISKS_DEVICE_EVENT_SOURCE_INTERFACE_H_