Matter SDK Coverage Report
Current view: top level - app/icd/client - DefaultCheckInDelegate.h (source / functions) Coverage Total Hit
Test: SHA:b879ecb8e99e175eea0a293a888bda853da2b19c Lines: 100.0 % 1 1
Test Date: 2025-01-17 19:00:11 Functions: 50.0 % 2 1

            Line data    Source code
       1              : /*
       2              :  *
       3              :  *    Copyright (c) 2023 Project CHIP Authors
       4              :  *    All rights reserved.
       5              :  *
       6              :  *    Licensed under the Apache License, Version 2.0 (the "License");
       7              :  *    you may not use this file except in compliance with the License.
       8              :  *    You may obtain a copy of the License at
       9              :  *
      10              :  *        http://www.apache.org/licenses/LICENSE-2.0
      11              :  *
      12              :  *    Unless required by applicable law or agreed to in writing, software
      13              :  *    distributed under the License is distributed on an "AS IS" BASIS,
      14              :  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      15              :  *    See the License for the specific language governing permissions and
      16              :  *    limitations under the License.
      17              :  */
      18              : 
      19              : #pragma once
      20              : 
      21              : #include <app/icd/client/CheckInDelegate.h>
      22              : #include <app/icd/client/ICDClientStorage.h>
      23              : #include <app/icd/client/RefreshKeySender.h>
      24              : 
      25              : namespace chip {
      26              : namespace app {
      27              : 
      28              : class InteractionModelEngine;
      29              : 
      30              : /// Callbacks for check in protocol
      31              : class DefaultCheckInDelegate : public CheckInDelegate
      32              : {
      33              : public:
      34            1 :     virtual ~DefaultCheckInDelegate() {}
      35              :     CHIP_ERROR Init(ICDClientStorage * storage, InteractionModelEngine * engine);
      36              :     void OnCheckInComplete(const ICDClientInfo & clientInfo) override;
      37              : 
      38              :     /**
      39              :      * @brief Callback used to let the application generate the new ICD symmetric key
      40              :      *
      41              :      * If this calback is not overridden, Crypto::DRBG_get_bytes will be used to generated the key.
      42              :      *
      43              :      * @param[inout] newKey sensitive data buffer with type Crypto::SensitiveDataBuffer<Crypto::kAES_CCM128_Key_Length>
      44              :      * @param[out] CHIP_ERROR CHIP_ERROR_INVALID_ARGUMENT
      45              :      *                        CHIP_ERROR_INTERNAL
      46              :      */
      47              :     virtual CHIP_ERROR GenerateRefreshKey(RefreshKeySender::RefreshKeyBuffer & newKey);
      48              :     RefreshKeySender * OnKeyRefreshNeeded(ICDClientInfo & clientInfo, ICDClientStorage * clientStorage) override;
      49              :     void OnKeyRefreshDone(RefreshKeySender * refreshKeySender, CHIP_ERROR error) override;
      50              : 
      51              : private:
      52              :     ICDClientStorage * mpStorage        = nullptr;
      53              :     InteractionModelEngine * mpImEngine = nullptr;
      54              : };
      55              : 
      56              : } // namespace app
      57              : } // namespace chip
        

Generated by: LCOV version 2.0-1