# 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("//third_party/protobuf/proto_library.gni")

# GYP version: device/media_transfer_protocol/media_transfer_protocol.gyp:mtp_file_entry_proto
proto_library("mtp_file_entry_proto") {
  sources = [ "//third_party/cros_system_api/dbus/mtp_file_entry.proto" ]
  proto_out_dir = "device/media_transfer_protocol"
}

# GYP version: device/media_transfer_protocol/media_transfer_protocol.gyp:mtp_storage_info_proto
proto_library("mtp_storage_info_proto") {
  sources = [ "//third_party/cros_system_api/dbus/mtp_storage_info.proto" ]
  proto_out_dir = "device/media_transfer_protocol"
}

# GYP version: device/media_transfer_protocol:media_transfer_protocol.gyp: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",
  ]

  configs += [ "//build/config/linux:dbus" ]

  public_deps = [
    ":mtp_file_entry_proto",
    ":mtp_storage_info_proto",
  ]
}
