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.
5 #ifndef SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_
6 #define SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_
10 #include "base/macros.h"
11 #include "base/optional.h"
12 #include "services/device/serial/serial_device_enumerator.h"
16 // Discovers and enumerates serial devices available to the host.
17 class SerialDeviceEnumeratorWin : public SerialDeviceEnumerator {
19 SerialDeviceEnumeratorWin();
20 ~SerialDeviceEnumeratorWin() override;
22 // Implementation for SerialDeviceEnumerator.
23 std::vector<mojom::SerialPortInfoPtr> GetDevices() override;
25 // Searches for the COM port in the device's friendly name and returns the
26 // appropriate device path or nullopt if the input did not contain a valid
28 static base::Optional<base::FilePath> GetPath(
29 const std::string& friendly_name);
32 std::vector<mojom::SerialPortInfoPtr> GetDevicesNew();
33 std::vector<mojom::SerialPortInfoPtr> GetDevicesOld();
35 DISALLOW_COPY_AND_ASSIGN(SerialDeviceEnumeratorWin);
40 #endif // SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_