# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/features.gni")
import("//third_party/protobuf/proto_library.gni")

assert(is_chromeos)
assert(use_dbus)

proto_library("mtp_file_entry_proto") {
  sources = [
    "//third_party/cros_system_api/dbus/mtp_file_entry.proto",
  ]
  proto_out_dir = "services/device/media_transfer_protocol"
}

proto_library("mtp_storage_info_proto") {
  sources = [
    "//third_party/cros_system_api/dbus/mtp_storage_info.proto",
  ]
  proto_out_dir = "services/device/media_transfer_protocol"
}

source_set("media_transfer_protocol") {
  sources = [
    "media_transfer_protocol_daemon_client.cc",
    "media_transfer_protocol_daemon_client.h",
    "mtp_device_manager.cc",
    "mtp_device_manager.h",
  ]

  public_deps = [
    "//services/device/public/mojom",
  ]

  deps = [
    ":mtp_file_entry_proto",
    ":mtp_storage_info_proto",
    "//base",
    "//chromeos/dbus",
    "//dbus",
  ]
}
