blob: 9a10430a3303ffb4c4020781c433ae42467b7647 [file] [log] [blame]
# Copyright (c) 2020 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build_overrides/chip.gni")
import("${chip_root}/build/chip/buildconfig_header.gni")
import("${chip_root}/src/app/icd/icd.gni")
# ICD Server sources and configurations
buildconfig_header("icd-server-buildconfig") {
header = "ICDServerBuildConfig.h"
header_dir = "app/icd/server"
if (chip_enable_icd_lit) {
assert(chip_enable_icd_checkin && chip_enable_icd_user_active_mode_trigger)
}
defines = [
"CHIP_CONFIG_ENABLE_ICD_SERVER=${chip_enable_icd_server}",
"CHIP_CONFIG_ENABLE_ICD_LIT=${chip_enable_icd_lit}",
"CHIP_CONFIG_ENABLE_ICD_CIP=${chip_enable_icd_checkin}",
"CHIP_CONFIG_ENABLE_ICD_UAT=${chip_enable_icd_user_active_mode_trigger}",
"ICD_REPORT_ON_ENTER_ACTIVE_MODE=${chip_icd_report_on_active_mode}",
"ICD_MAX_NOTIFICATION_SUBSCRIBERS=${icd_max_notification_subscribers}",
"ICD_ENFORCE_SIT_SLOW_POLL_LIMIT=${icd_enforce_sit_slow_poll_limit}",
]
visibility = [ ":icd-server-config" ]
}
source_set("icd-server-config") {
sources = [ "ICDServerConfig.h" ]
deps = [ ":icd-server-buildconfig" ]
}
source_set("observer") {
sources = [ "ICDStateObserver.h" ]
}
source_set("notifier") {
sources = [
"ICDNotifier.cpp",
"ICDNotifier.h",
]
deps = [
":icd-server-config",
"${chip_root}/src/lib/core",
]
}
# ICD Manager source-set is broken out of the main source-set to enable unit tests
# All sources and configurations used by the ICDManager need to go in this source-set
source_set("manager") {
sources = [
"ICDManager.cpp",
"ICDManager.h",
]
deps = [ ":icd-server-config" ]
public_deps = [
":configuration-data",
":notifier",
":observer",
"${chip_root}/src/app:subscription-manager",
"${chip_root}/src/credentials:credentials",
"${chip_root}/src/messaging",
]
if (chip_enable_icd_checkin) {
public_deps += [
":monitoring-table",
":sender",
]
}
}
source_set("sender") {
sources = [
"ICDCheckInSender.cpp",
"ICDCheckInSender.h",
]
public_deps = [
":configuration-data",
":monitoring-table",
":notifier",
"${chip_root}/src/credentials:credentials",
"${chip_root}/src/lib/address_resolve:address_resolve",
"${chip_root}/src/protocols/secure_channel",
]
}
# ICDMonitoringTable source-set is broken out of the main source-set to enable unit tests
# All sources and configurations used by the ICDMonitoringTable need to go in this source-set
source_set("monitoring-table") {
sources = [
"ICDMonitoringTable.cpp",
"ICDMonitoringTable.h",
]
public_deps = [
"${chip_root}/src/lib/core",
"${chip_root}/src/platform:platform",
]
}
source_set("configuration-data") {
sources = [
"ICDConfigurationData.cpp",
"ICDConfigurationData.h",
]
deps = [
":icd-server-config",
"${chip_root}/src/lib/core",
"${chip_root}/src/lib/support",
"${chip_root}/src/protocols/secure_channel:check-in-counter",
]
}