chromium/extensions/browser/api/serial/serial_api.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_BROWSER_API_SERIAL_SERIAL_API_H_
#define EXTENSIONS_BROWSER_API_SERIAL_SERIAL_API_H_

#include <memory>
#include <string>
#include <vector>

#include "extensions/browser/extension_function.h"
#include "extensions/common/api/serial.h"
#include "services/device/public/mojom/serial.mojom.h"

namespace extensions {

class SerialConnection;

namespace api {

class SerialExtensionFunction : public ExtensionFunction {};

class SerialGetDevicesFunction : public ExtensionFunction {};

class SerialConnectFunction : public SerialExtensionFunction {};

class SerialUpdateFunction : public SerialExtensionFunction {};

class SerialDisconnectFunction : public SerialExtensionFunction {};

class SerialSetPausedFunction : public SerialExtensionFunction {};

class SerialGetInfoFunction : public SerialExtensionFunction {};

class SerialGetConnectionsFunction : public SerialExtensionFunction {};

class SerialSendFunction : public SerialExtensionFunction {};

class SerialFlushFunction : public SerialExtensionFunction {};

class SerialGetControlSignalsFunction : public SerialExtensionFunction {};

class SerialSetControlSignalsFunction : public SerialExtensionFunction {};

class SerialSetBreakFunction : public SerialExtensionFunction {};

class SerialClearBreakFunction : public SerialExtensionFunction {};

}  // namespace api

}  // namespace extensions

namespace mojo {

template <>
struct TypeConverter<extensions::api::serial::DeviceInfo,
                     device::mojom::SerialPortInfoPtr> {};

}  // namespace mojo

#endif  // EXTENSIONS_BROWSER_API_SERIAL_SERIAL_API_H_