Matter SDK Coverage Report
Current view: top level - protocols/interaction_model - StatusCode.cpp (source / functions) Coverage Total Hit
Test: SHA:b879ecb8e99e175eea0a293a888bda853da2b19c Lines: 93.3 % 15 14
Test Date: 2025-01-17 19:00:11 Functions: 100.0 % 2 2

            Line data    Source code
       1              : /*
       2              :  *    Copyright (c) 2022 Project CHIP Authors
       3              :  *    All rights reserved.
       4              :  *
       5              :  *    Licensed under the Apache License, Version 2.0 (the "License");
       6              :  *    you may not use this file except in compliance with the License.
       7              :  *    You may obtain a copy of the License at
       8              :  *
       9              :  *        http://www.apache.org/licenses/LICENSE-2.0
      10              :  *
      11              :  *    Unless required by applicable law or agreed to in writing, software
      12              :  *    distributed under the License is distributed on an "AS IS" BASIS,
      13              :  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      14              :  *    See the License for the specific language governing permissions and
      15              :  *    limitations under the License.
      16              :  */
      17              : 
      18              : #include <lib/core/CHIPConfig.h>
      19              : #include <protocols/interaction_model/StatusCode.h>
      20              : 
      21              : namespace chip {
      22              : namespace Protocols {
      23              : namespace InteractionModel {
      24              : 
      25              : #if CHIP_CONFIG_IM_STATUS_CODE_VERBOSE_FORMAT
      26         5404 : const char * StatusName(Status status)
      27              : {
      28         5404 :     switch (status)
      29              :     {
      30              : #define CHIP_IM_STATUS_CODE(name, spec_name, value)                                                                                \
      31              :     case Status(value):                                                                                                            \
      32              :         return #spec_name;
      33              : #include <protocols/interaction_model/StatusCodeList.h>
      34              : #undef CHIP_IM_STATUS_CODE
      35              :     }
      36              : 
      37            0 :     return "Unallocated";
      38              : }
      39              : #endif // CHIP_CONFIG_IM_STATUS_CODE_VERBOSE_FORMAT
      40              : //
      41         2624 : ClusterStatusCode::ClusterStatusCode(CHIP_ERROR err)
      42              : {
      43         2624 :     if (err.IsPart(ChipError::SdkPart::kIMClusterStatus))
      44              :     {
      45            7 :         mStatus              = Status::Failure;
      46            7 :         mClusterSpecificCode = chip::MakeOptional(err.GetSdkCode());
      47            7 :         return;
      48              :     }
      49              : 
      50         2617 :     if (err == CHIP_NO_ERROR)
      51              :     {
      52         2459 :         mStatus = Status::Success;
      53         2459 :         return;
      54              :     }
      55              : 
      56          158 :     if (err.IsPart(ChipError::SdkPart::kIMGlobalStatus))
      57              :     {
      58          140 :         mStatus = static_cast<Status>(err.GetSdkCode());
      59          140 :         return;
      60              :     }
      61              : 
      62           18 :     mStatus = Status::Failure;
      63              : }
      64              : 
      65              : } // namespace InteractionModel
      66              : } // namespace Protocols
      67              : } // namespace chip
        

Generated by: LCOV version 2.0-1