[M73 Dev][Tizen] Fix linker errors
[platform/framework/web/chromium-efl.git] / services / device / serial / serial_device_enumerator_win.h
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 SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_
6 #define SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_
7
8 #include <vector>
9
10 #include "base/macros.h"
11 #include "base/optional.h"
12 #include "services/device/serial/serial_device_enumerator.h"
13
14 namespace device {
15
16 // Discovers and enumerates serial devices available to the host.
17 class SerialDeviceEnumeratorWin : public SerialDeviceEnumerator {
18  public:
19   SerialDeviceEnumeratorWin();
20   ~SerialDeviceEnumeratorWin() override;
21
22   // Implementation for SerialDeviceEnumerator.
23   std::vector<mojom::SerialPortInfoPtr> GetDevices() override;
24
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
27   // name.
28   static base::Optional<base::FilePath> GetPath(
29       const std::string& friendly_name);
30
31  private:
32   std::vector<mojom::SerialPortInfoPtr> GetDevicesNew();
33   std::vector<mojom::SerialPortInfoPtr> GetDevicesOld();
34
35   DISALLOW_COPY_AND_ASSIGN(SerialDeviceEnumeratorWin);
36 };
37
38 }  // namespace device
39
40 #endif  // SERVICES_DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_WIN_H_