Line data Source code
1 : /* File: data_diagram_type.c; Copyright and License: see below */
2 :
3 : #include "entity/data_diagram_type.h"
4 : #include <stddef.h>
5 : #include <assert.h>
6 :
7 : const data_diagram_type_t DATA_DIAGRAM_TYPE_ARRAY [DATA_DIAGRAM_TYPE_COUNT]
8 : = {
9 : DATA_DIAGRAM_TYPE_LIST,
10 : DATA_DIAGRAM_TYPE_BOX_DIAGRAM,
11 : DATA_DIAGRAM_TYPE_SYSML_BLOCK_DEFINITION_DIAGRAM,
12 : DATA_DIAGRAM_TYPE_SYSML_INTERNAL_BLOCK_DIAGRAM,
13 : DATA_DIAGRAM_TYPE_SYSML_PARAMETRIC_DIAGRAM,
14 : DATA_DIAGRAM_TYPE_SYSML_REQUIREMENTS_DIAGRAM,
15 : DATA_DIAGRAM_TYPE_UML_USE_CASE_DIAGRAM,
16 : DATA_DIAGRAM_TYPE_UML_ACTIVITY_DIAGRAM,
17 : DATA_DIAGRAM_TYPE_UML_STATE_MACHINE_DIAGRAM,
18 : DATA_DIAGRAM_TYPE_UML_SEQUENCE_DIAGRAM,
19 : DATA_DIAGRAM_TYPE_UML_COMMUNICATION_DIAGRAM,
20 : /* DATA_DIAGRAM_TYPE_DEPRECATED_INTERACTION_OVERVIEW_DIAGRAM, */
21 : DATA_DIAGRAM_TYPE_UML_TIMING_DIAGRAM,
22 : DATA_DIAGRAM_TYPE_INTERACTION_OVERVIEW_DIAGRAM,
23 : DATA_DIAGRAM_TYPE_UML_DEPLOYMENT_DIAGRAM,
24 : DATA_DIAGRAM_TYPE_UML_COMPONENT_DIAGRAM,
25 : DATA_DIAGRAM_TYPE_UML_COMPOSITE_STRUCTURE_DIAGRAM,
26 : DATA_DIAGRAM_TYPE_UML_PACKAGE_DIAGRAM,
27 : DATA_DIAGRAM_TYPE_UML_CLASS_DIAGRAM,
28 : DATA_DIAGRAM_TYPE_UML_PROFILE_DIAGRAM
29 : };
30 :
31 : static const char *const DATA_DIAGRAM_TYPE_NAME_ARRAY [DATA_DIAGRAM_TYPE_HASH_MOD]
32 : = {
33 : [ DATA_DIAGRAM_TYPE_LIST ] = "List",
34 : [ DATA_DIAGRAM_TYPE_BOX_DIAGRAM ] = "Box Overview",
35 : [2] = "",
36 : [3] = "",
37 : [ DATA_DIAGRAM_TYPE_SYSML_BLOCK_DEFINITION_DIAGRAM ] = "Block Definition Diagram",
38 : [ DATA_DIAGRAM_TYPE_SYSML_INTERNAL_BLOCK_DIAGRAM ] = "Internal Block Diagram",
39 : [6] = "",
40 : [ DATA_DIAGRAM_TYPE_SYSML_PARAMETRIC_DIAGRAM ] = "Parametric Diagram",
41 : [8] = "",
42 : [ DATA_DIAGRAM_TYPE_SYSML_REQUIREMENTS_DIAGRAM ] = "Requirement Diagram",
43 : [ DATA_DIAGRAM_TYPE_UML_USE_CASE_DIAGRAM ] = "Use Case Diagram",
44 : [ DATA_DIAGRAM_TYPE_UML_ACTIVITY_DIAGRAM ] = "Activity Diagram",
45 : [ DATA_DIAGRAM_TYPE_UML_STATE_MACHINE_DIAGRAM ] = "State Diagram",
46 : [ DATA_DIAGRAM_TYPE_UML_SEQUENCE_DIAGRAM ] = "Sequence Diagram",
47 : [ DATA_DIAGRAM_TYPE_UML_COMMUNICATION_DIAGRAM ] = "Communication Diagram",
48 : [15] = "",
49 : [ DATA_DIAGRAM_TYPE_UML_TIMING_DIAGRAM ] = "Timing Diagram",
50 : [ DATA_DIAGRAM_TYPE_INTERACTION_OVERVIEW_DIAGRAM ] = "Interation Overview Diagram",
51 : [18] = "",
52 : [19] = "",
53 : [20] = "",
54 : [21] = "",
55 : [22] = "",
56 : [23] = "",
57 : [24] = "",
58 : [25] = "",
59 : [26] = "",
60 : [27] = "",
61 : [28] = "",
62 : [29] = "",
63 : [ DATA_DIAGRAM_TYPE_UML_DEPLOYMENT_DIAGRAM ] = "Deployment Diagram",
64 : [ DATA_DIAGRAM_TYPE_UML_COMPONENT_DIAGRAM ] = "Component Diagram",
65 : [ DATA_DIAGRAM_TYPE_UML_COMPOSITE_STRUCTURE_DIAGRAM ] = "Composite Structure Diagram",
66 : [ DATA_DIAGRAM_TYPE_UML_PACKAGE_DIAGRAM ] = "Package Diagram",
67 : [ DATA_DIAGRAM_TYPE_UML_CLASS_DIAGRAM ] = "Class Diagram",
68 : [35] = "",
69 : [36] = "",
70 : [37] = "",
71 : [38] = "",
72 : [ DATA_DIAGRAM_TYPE_UML_PROFILE_DIAGRAM ] = "Profile Diagram",
73 : };
74 :
75 163 : const char * data_diagram_type_get_name( data_diagram_type_t this_ )
76 : {
77 0 : const char * result
78 163 : = ( this_ == DATA_DIAGRAM_TYPE_VOID ) ? "" : DATA_DIAGRAM_TYPE_NAME_ARRAY[ this_ % DATA_DIAGRAM_TYPE_HASH_MOD ];
79 163 : assert( result != NULL );
80 163 : return ( result == NULL ) ? "" : result;
81 : }
82 :
83 :
84 : /*
85 : Copyright 2021-2025 Andreas Warnke
86 :
87 : Licensed under the Apache License, Version 2.0 (the "License");
88 : you may not use this file except in compliance with the License.
89 : You may obtain a copy of the License at
90 :
91 : http://www.apache.org/licenses/LICENSE-2.0
92 :
93 : Unless required by applicable law or agreed to in writing, software
94 : distributed under the License is distributed on an "AS IS" BASIS,
95 : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
96 : See the License for the specific language governing permissions and
97 : limitations under the License.
98 : */
|