From f07c72579a97904b4bcbe48fdbd62b54572c8edb Mon Sep 17 00:00:00 2001 From: Fesseha Date: Tue, 2 May 2023 11:04:38 +0200 Subject: [PATCH] resolve rebase conflicts --- src/lib/core/CHIPConfig.h | 51 ++++++++++++++++++++ src/lib/support/DefaultStorageKeyAllocator.h | 7 +++ 2 files changed, 58 insertions(+) diff --git a/src/lib/core/CHIPConfig.h b/src/lib/core/CHIPConfig.h index ec7676c47bbfed..f601f06b92b07a 100644 --- a/src/lib/core/CHIPConfig.h +++ b/src/lib/core/CHIPConfig.h @@ -1376,6 +1376,53 @@ extern const char CHIP_NON_PRODUCTION_MARKER[]; #define CHIP_CONFIG_MAX_SUBSCRIPTION_RESUMPTION_STORAGE_CONCURRENT_ITERATORS 2 #endif +/** + * @brief The minimum number of scenes to support according to spec + */ +#ifndef CHIP_CONFIG_SCENES_MAX_NUMBER +#define CHIP_CONFIG_SCENES_MAX_NUMBER 16 +#endif + +/** + * @brief Maximum length of Scene names + */ +#ifndef CHIP_CONFIG_SCENES_CLUSTER_MAXIMUM_NAME_LENGTH +#define CHIP_CONFIG_SCENES_CLUSTER_MAXIMUM_NAME_LENGTH 16 +#endif + +/** + * @brief The maximum number of scenes allowed on a single fabric + */ +#ifndef CHIP_CONFIG_SCENES_MAX_PER_FABRIC +#define CHIP_CONFIG_SCENES_MAX_PER_FABRIC (CHIP_CONFIG_SCENES_MAX_NUMBER / 2) +#endif + +/** + * @brief The maximum number of clusters per scene, defaults to 3 for a typical usecase (onOff + level control + color control + * cluster). Needs to be changed in case a greater number of clusters is chosen. + */ +#ifndef CHIP_CONFIG_SCENES_MAX_CLUSTERS_PER_SCENE +#define CHIP_CONFIG_SCENES_MAX_CLUSTERS_PER_SCENE 3 +#endif + +/** + * @brief The maximum size of a single extension field set for a single cluster + */ +#ifndef CHIP_CONFIG_SCENES_MAX_EXTENSION_FIELDSET_SIZE_PER_CLUSTER +#define CHIP_CONFIG_SCENES_MAX_EXTENSION_FIELDSET_SIZE_PER_CLUSTER 128 +#endif + +/** + * @def CHIP_CONFIG_MAX_SCENES_CONCURRENT_ITERATORS + * + * @brief Defines the number of simultaneous Scenes iterators that can be allocated + * + * Number of iterator instances that can be allocated at any one time + */ +#ifndef CHIP_CONFIG_MAX_SCENES_CONCURRENT_ITERATORS +#define CHIP_CONFIG_MAX_SCENES_CONCURRENT_ITERATORS 2 +#endif + /** * @def CHIP_CONFIG_TIME_ZONE_LIST_MAX_SIZE * @@ -1393,3 +1440,7 @@ extern const char CHIP_NON_PRODUCTION_MARKER[]; #ifndef CHIP_CONFIG_DST_OFFSET_LIST_MAX_SIZE #define CHIP_CONFIG_DST_OFFSET_LIST_MAX_SIZE 1 #endif + +/** + * @} + */ diff --git a/src/lib/support/DefaultStorageKeyAllocator.h b/src/lib/support/DefaultStorageKeyAllocator.h index c79f3bd8a04408..fe02cab6cb9393 100644 --- a/src/lib/support/DefaultStorageKeyAllocator.h +++ b/src/lib/support/DefaultStorageKeyAllocator.h @@ -198,6 +198,13 @@ class DefaultStorageKeyAllocator } static StorageKeyName SubscriptionResumptionMaxCount() { return StorageKeyName::Formatted("g/sum"); } + static StorageKeyName GlobalSceneCountKey() { return StorageKeyName::Formatted("g/scc"); } + static StorageKeyName FabricSceneDataKey(chip::FabricIndex fabric) { return StorageKeyName::Formatted("f/%x/sc", fabric); } + static StorageKeyName FabricSceneKey(chip::FabricIndex fabric, uint8_t id) + { + return StorageKeyName::Formatted("f/%x/sc/%x", fabric, id); + } + // Time synchronization cluster static StorageKeyName TSTrustedTimeSource() { return StorageKeyName::FromConst("g/ts/tts"); } static StorageKeyName TSDefaultNTP() { return StorageKeyName::FromConst("g/ts/dntp"); }