# Copyright 2014 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 = "device/media_transfer_protocol"
}

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

static_library("media_transfer_protocol") {
  sources = [
    "media_transfer_protocol_daemon_client.cc",
    "media_transfer_protocol_daemon_client.h",
    "media_transfer_protocol_manager.cc",
    "media_transfer_protocol_manager.h",
  ]

  public_deps = [
    ":mtp_file_entry_proto",
    ":mtp_storage_info_proto",
    "//base",
    "//device/media_transfer_protocol/public/mojom",
  ]
  deps = [
    "//chromeos",
    "//dbus",
  ]
}
