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 DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_H_
6#define DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "device/serial/serial.mojom.h"
10#include "mojo/public/cpp/bindings/array.h"
11
12namespace device {
13
14// Discovers and enumerates serial devices available to the host.
15class SerialDeviceEnumerator {
16 public:
17  static scoped_ptr<SerialDeviceEnumerator> Create();
18
19  SerialDeviceEnumerator();
20  virtual ~SerialDeviceEnumerator();
21
22  virtual mojo::Array<serial::DeviceInfoPtr> GetDevices() = 0;
23};
24
25}  // namespace device
26
27#endif  // DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_H_
28