LCOV - code coverage report
Current view: top level - io/include/xmi - xmi_diagram_info_map.inl (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 0.0 % 86 0
Test Date: 2025-05-01 10:10:14 Functions: 0.0 % 1 0

            Line data    Source code
       1              : /* File: xmi_diagram_info_map.inl; Copyright and License: see below */
       2              : 
       3              : #include "u8/u8_trace.h"
       4              : #include "u8/u8_log.h"
       5              : #include <assert.h>
       6              : #include <stdlib.h>
       7              : 
       8              : extern const xmi_diagram_info_t xmi_diagram_info_map_unknown_type;
       9              : 
      10            0 : static inline u8_error_t xmi_diagram_info_map_get_diagram ( const xmi_diagram_info_map_t *this_,
      11              :                                                             data_diagram_type_t diagram_type,
      12              :                                                             const xmi_diagram_info_t **out_diagram_info )
      13              : {
      14            0 :     assert( NULL != out_diagram_info );
      15            0 :     const xmi_diagram_info_t * result = NULL;
      16              : 
      17            0 :     switch ( diagram_type )
      18              :     {
      19            0 :         case DATA_DIAGRAM_TYPE_LIST:
      20              :         {
      21            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_LIST]);
      22            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_LIST );
      23              :         }
      24            0 :         break;
      25              : 
      26            0 :         case DATA_DIAGRAM_TYPE_BOX_DIAGRAM:
      27              :         {
      28            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_BOX]);
      29            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_BOX_DIAGRAM );
      30              :         }
      31            0 :         break;
      32              : 
      33            0 :         case DATA_DIAGRAM_TYPE_SYSML_BLOCK_DEFINITION_DIAGRAM:
      34              :         {
      35            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_BLOCK_DEFINITION]);
      36            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_SYSML_BLOCK_DEFINITION_DIAGRAM );
      37              :         }
      38            0 :         break;
      39              : 
      40            0 :         case DATA_DIAGRAM_TYPE_SYSML_INTERNAL_BLOCK_DIAGRAM:
      41              :         {
      42            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_INTERNAL_BLOCK]);
      43            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_SYSML_INTERNAL_BLOCK_DIAGRAM );
      44              :         }
      45            0 :         break;
      46              : 
      47            0 :         case DATA_DIAGRAM_TYPE_SYSML_PARAMETRIC_DIAGRAM:
      48              :         {
      49            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_PARAMETRIC]);
      50            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_SYSML_PARAMETRIC_DIAGRAM );
      51              :         }
      52            0 :         break;
      53              : 
      54            0 :         case DATA_DIAGRAM_TYPE_SYSML_REQUIREMENTS_DIAGRAM:
      55              :         {
      56            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_REQUIREMENTS]);
      57            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_SYSML_REQUIREMENTS_DIAGRAM );
      58              :         }
      59            0 :         break;
      60              : 
      61            0 :         case DATA_DIAGRAM_TYPE_UML_USE_CASE_DIAGRAM:
      62              :         {
      63            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_USE_CASE]);
      64            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_USE_CASE_DIAGRAM );
      65              :         }
      66            0 :         break;
      67              : 
      68            0 :         case DATA_DIAGRAM_TYPE_UML_ACTIVITY_DIAGRAM:
      69              :         {
      70            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_ACTIVITY]);
      71            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_ACTIVITY_DIAGRAM );
      72              :         }
      73            0 :         break;
      74              : 
      75            0 :         case DATA_DIAGRAM_TYPE_UML_STATE_MACHINE_DIAGRAM:
      76              :         {
      77            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_STATE_MACHINE]);
      78            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_STATE_MACHINE_DIAGRAM );
      79              :         }
      80            0 :         break;
      81              : 
      82            0 :         case DATA_DIAGRAM_TYPE_UML_SEQUENCE_DIAGRAM:
      83              :         {
      84            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_SEQUENCE]);
      85            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_SEQUENCE_DIAGRAM );
      86              :         }
      87            0 :         break;
      88              : 
      89            0 :         case DATA_DIAGRAM_TYPE_UML_COMMUNICATION_DIAGRAM:
      90              :         {
      91            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_COMMUNICATION]);
      92            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_COMMUNICATION_DIAGRAM );
      93              :         }
      94            0 :         break;
      95              : 
      96            0 :         case DATA_DIAGRAM_TYPE_UML_TIMING_DIAGRAM:
      97              :         {
      98            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_TIMING]);
      99            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_TIMING_DIAGRAM );
     100              :         }
     101            0 :         break;
     102              : 
     103            0 :         case DATA_DIAGRAM_TYPE_INTERACTION_OVERVIEW_DIAGRAM:
     104              :         {
     105            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_INTERACTION_OVERVIEW]);
     106            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_INTERACTION_OVERVIEW_DIAGRAM );
     107              :         }
     108            0 :         break;
     109              : 
     110            0 :         case DATA_DIAGRAM_TYPE_UML_DEPLOYMENT_DIAGRAM:
     111              :         {
     112            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_DEPLOYMENT]);
     113            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_DEPLOYMENT_DIAGRAM );
     114              :         }
     115            0 :         break;
     116              : 
     117            0 :         case DATA_DIAGRAM_TYPE_UML_COMPONENT_DIAGRAM:
     118              :         {
     119            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_COMPONENT]);
     120            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_COMPONENT_DIAGRAM );
     121              :         }
     122            0 :         break;
     123              : 
     124            0 :         case DATA_DIAGRAM_TYPE_UML_COMPOSITE_STRUCTURE_DIAGRAM:
     125              :         {
     126            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_COMPOSITE_STRUCTURE]);
     127            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_COMPOSITE_STRUCTURE_DIAGRAM );
     128              :         }
     129            0 :         break;
     130              : 
     131            0 :         case DATA_DIAGRAM_TYPE_UML_PACKAGE_DIAGRAM:
     132              :         {
     133            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_PACKAGE]);
     134            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_PACKAGE_DIAGRAM );
     135              :         }
     136            0 :         break;
     137              : 
     138            0 :         case DATA_DIAGRAM_TYPE_UML_CLASS_DIAGRAM:
     139              :         {
     140            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_CLASS]);
     141            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_CLASS_DIAGRAM );
     142              :         }
     143            0 :         break;
     144              : 
     145            0 :         case DATA_DIAGRAM_TYPE_UML_PROFILE_DIAGRAM:
     146              :         {
     147            0 :             result = &((*this_)[XMI_DIAGRAM_INFO_MAP_INDEX_PROFILE]);
     148            0 :             assert ( (*result).data_type_checksum == (int)DATA_DIAGRAM_TYPE_UML_PROFILE_DIAGRAM );
     149              :         }
     150            0 :         break;
     151              : 
     152            0 :         default:
     153              :         {
     154            0 :             U8_LOG_ANOMALY_INT( "switch case statement for data_diagram_type_t incomplete", diagram_type );
     155              :             /* this is a possible error case that can happen when */
     156              :             /* a database created with a newer version of the program is opened with this version */
     157            0 :             result = NULL;
     158              :         }
     159            0 :         break;
     160              :     }
     161              : 
     162            0 :     *out_diagram_info = (result==NULL) ? &xmi_diagram_info_map_unknown_type : result;
     163            0 :     return (result==NULL) ? U8_ERROR_NOT_FOUND : U8_ERROR_NONE;
     164              : }
     165              : 
     166              : 
     167              : /*
     168              : Copyright 2022-2025 Andreas Warnke
     169              : 
     170              : Licensed under the Apache License, Version 2.0 (the "License");
     171              : you may not use this file except in compliance with the License.
     172              : You may obtain a copy of the License at
     173              : 
     174              :     http://www.apache.org/licenses/LICENSE-2.0
     175              : 
     176              : Unless required by applicable law or agreed to in writing, software
     177              : distributed under the License is distributed on an "AS IS" BASIS,
     178              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     179              : See the License for the specific language governing permissions and
     180              : limitations under the License.
     181              : */
        

Generated by: LCOV version 2.0-1