| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| source_set("model") { |
| sources = [ |
| "promos_manager.h", |
| "promos_manager.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| public_deps = [ "//base" ] |
| deps = [ |
| ":constants", |
| ":features", |
| ":types", |
| "//components/feature_engagement/public", |
| "//components/keyed_service/core", |
| "//components/prefs", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| ] |
| } |
| |
| source_set("factory") { |
| sources = [ |
| "promos_manager_factory.h", |
| "promos_manager_factory.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| deps = [ |
| ":features", |
| ":internal", |
| ":model", |
| "//ios/chrome/browser/feature_engagement/model", |
| "//ios/chrome/browser/shared/model/profile", |
| "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory", |
| ] |
| } |
| |
| source_set("internal") { |
| sources = [ |
| "promos_manager_impl.h", |
| "promos_manager_impl.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| public_deps = [ |
| ":constants", |
| ":model", |
| ":types", |
| "//base", |
| "//components/prefs", |
| ] |
| deps = [ |
| ":features", |
| "//components/feature_engagement/public", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| ] |
| } |
| |
| source_set("types") { |
| sources = [ |
| "impression_limit.h", |
| "impression_limit.mm", |
| "promo.h", |
| "promo.mm", |
| "promo_config.h", |
| "promo_config.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| deps = [ |
| ":constants", |
| "//base", |
| ] |
| } |
| |
| source_set("constants") { |
| sources = [ |
| "constants.cc", |
| "constants.h", |
| ] |
| deps = [ "//base" ] |
| } |
| |
| source_set("features") { |
| sources = [ |
| "features.h", |
| "features.mm", |
| ] |
| deps = [ "//base" ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| sources = [ |
| "mock_promos_manager.h", |
| "mock_promos_manager.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| public_deps = [ |
| ":constants", |
| ":model", |
| ":types", |
| "//base", |
| "//base/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "promos_manager_feature_engagement_unittest.mm", |
| "promos_manager_impl_unittest.mm", |
| ] |
| frameworks = [ "Foundation.framework" ] |
| deps = [ |
| ":constants", |
| ":features", |
| ":internal", |
| ":model", |
| ":types", |
| "//base", |
| "//base/test:test_support", |
| "//components/feature_engagement/public", |
| "//components/feature_engagement/test:test_support", |
| "//components/prefs", |
| "//components/prefs:test_support", |
| "//ios/chrome/browser/shared/model/prefs:pref_names", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |