# Copyright (c) 2023 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.

declare_args() {
  # Matter SDK Configuration flag to enable ICD server functionality
  # TODO - Add Specifics when the design is refined
  chip_enable_icd_server = false

  # Matter SDK Configuration flag to enable ICD client functionality
  # TODO - Add Specifics when the design is refined
  chip_enable_icd_client = false

  # Matter SDK Configuration flag to make the ICD manager emit a report on entering active mode
  chip_icd_report_on_active_mode = false

  icd_max_notification_subscribers = 1

  # Set to true to enforce SIT Slow Polling Max value to 15seconds (spec 9.16.1.5)
  icd_enforce_sit_slow_poll_limit = false
}
