Skip to content

Commit

Permalink
Add ICD Client Info management support with persistent storage (#29783)
Browse files Browse the repository at this point in the history
* Add ICD Client Info management support with persistent storage

* Move to 1 entry per fabric for storage

* adjust test

* remove counter storage

* rename ICDClientStorageDelegate to ICDClientStorage

* remove global static for DefaultICDClientStorage

* update doxygen

* revert change for storagekeyname

* add fabricList to record all fabric and move to one persistent storage with all clientInfos index by fabric

* remove ICDFabricListCounter and use 255 to hold that large buffer instead

* create two fields within tlv struct to hold FabricICDClientInfoCounter and FabricICDClientInfoMaxSize under the same key

* address comments

* address comments

* Restyled by clang-format

* fix ci

* Restyled by clang-format

* address comments

* address comments

* address comments

---------

Co-authored-by: Restyled.io <[email protected]>
  • Loading branch information
2 people authored and pull[bot] committed May 10, 2024
1 parent 45d438f commit c6d5692
Show file tree
Hide file tree
Showing 11 changed files with 1,023 additions and 1 deletion.
5 changes: 4 additions & 1 deletion scripts/tools/check_includes_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,5 +164,8 @@
'src/lib/support/jsontlv/JsonToTlv.cpp': {'sstream'},
'src/lib/support/jsontlv/JsonToTlv.h': {'string'},
'src/lib/support/jsontlv/TlvToJson.h': {'string'},
'src/lib/support/jsontlv/TextFormat.h': {'string'}
'src/lib/support/jsontlv/TextFormat.h': {'string'},
'src/app/icd/client/DefaultICDClientStorage.cpp': {'vector'},
'src/app/icd/client/DefaultICDClientStorage.h': {'vector'},
'src/app/icd/client/DefaultICDStorageKey.h': {'vector'}
}
32 changes: 32 additions & 0 deletions src/app/icd/client/BUILD.gn
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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.

import("//build_overrides/chip.gni")

# ICD sources and configurations
source_set("manager") {
sources = [
"DefaultICDClientStorage.cpp",
"DefaultICDClientStorage.h",
"ICDClientInfo.h",
"ICDClientStorage.h",
]

deps = [ "${chip_root}/src/lib/core" ]
public_deps = [
"${chip_root}/src/app:app_config",
"${chip_root}/src/crypto",
"${chip_root}/src/lib/support",
]
}
Loading

0 comments on commit c6d5692

Please sign in to comment.