Matter SDK Coverage Report
Current view: top level - app - DefaultSafeAttributePersistenceProvider.h (source / functions) Coverage Total Hit
Test: SHA:3f9cd168e84cd831b7699126f5296f5c5498690f Lines: 100.0 % 11 11
Test Date: 2026-04-27 19:52:19 Functions: 100.0 % 5 5

            Line data    Source code
       1              : /*
       2              :  *    Copyright (c) 2024 Project CHIP Authors
       3              :  *
       4              :  *    Licensed under the Apache License, Version 2.0 (the "License");
       5              :  *    you may not use this file except in compliance with the License.
       6              :  *    You may obtain a copy of the License at
       7              :  *
       8              :  *        http://www.apache.org/licenses/LICENSE-2.0
       9              :  *
      10              :  *    Unless required by applicable law or agreed to in writing, software
      11              :  *    distributed under the License is distributed on an "AS IS" BASIS,
      12              :  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      13              :  *    See the License for the specific language governing permissions and
      14              :  *    limitations under the License.
      15              :  */
      16              : #pragma once
      17              : 
      18              : #include <app/SafeAttributePersistenceProvider.h>
      19              : #include <app/StorageDelegateWrapper.h>
      20              : 
      21              : namespace chip {
      22              : namespace app {
      23              : 
      24              : class DefaultSafeAttributePersistenceProvider : protected StorageDelegateWrapper, public SafeAttributePersistenceProvider
      25              : {
      26              : public:
      27          250 :     DefaultSafeAttributePersistenceProvider() = default;
      28              : 
      29          133 :     CHIP_ERROR Init(PersistentStorageDelegate * storage) { return StorageDelegateWrapper::Init(storage); }
      30              : 
      31          888 :     CHIP_ERROR SafeWriteValue(const ConcreteAttributePath & aPath, const ByteSpan & aValue) override
      32              :     {
      33          888 :         return StorageDelegateWrapper::WriteValue(
      34         1776 :             DefaultStorageKeyAllocator::SafeAttributeValue(aPath.mEndpointId, aPath.mClusterId, aPath.mAttributeId), aValue);
      35              :     }
      36              : 
      37         1425 :     CHIP_ERROR SafeReadValue(const ConcreteAttributePath & aPath, MutableByteSpan & aValue) override
      38              :     {
      39         1425 :         return StorageDelegateWrapper::ReadValue(
      40         2850 :             DefaultStorageKeyAllocator::SafeAttributeValue(aPath.mEndpointId, aPath.mClusterId, aPath.mAttributeId), aValue);
      41              :     }
      42              : 
      43            8 :     CHIP_ERROR SafeDeleteValue(const ConcreteAttributePath & aPath) override
      44              :     {
      45            8 :         return StorageDelegateWrapper::DeleteKey(
      46           16 :             DefaultStorageKeyAllocator::SafeAttributeValue(aPath.mEndpointId, aPath.mClusterId, aPath.mAttributeId));
      47              :     }
      48              : };
      49              : 
      50              : } // namespace app
      51              : } // namespace chip
        

Generated by: LCOV version 2.0-1