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

source_set("session_shell_settings") {
  sources = [
    "session_shell_settings.cc",
    "session_shell_settings.h",
  ]

  public_deps = [
    "//peridot/lib/rapidjson:rapidjson",
    "//sdk/fidl/fuchsia.ui.policy",
    "//src/lib/fxl",
  ]
}

executable("session_shell_settings_unittest") {
  testonly = true

  sources = [
    "session_shell_settings_test.cc",
  ]

  deps = [
    ":session_shell_settings",
    "//src/lib/fxl",
    "//third_party/googletest:gtest_main",
  ]
}
