2 Copyright (C) 2012 Modelon AB
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the BSD style license.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 FMILIB_License.txt file for more details.
12 You should have received a copy of the FMILIB_License.txt file
13 along with this program. If not, contact Modelon AB <http://www.modelon.com>.
16 #ifndef FMI1_ENUMS_H_
\r
17 #define FMI1_ENUMS_H_
\r
19 #include <fmilib_config.h>
\r
25 /** \file fmi1_enums.h
\r
26 \brief Definions the enum types used with FMI 1.0 libs
\r
29 /** \addtogroup fmi1_utils
\r
31 \addtogroup fmi1_enums
\r
34 /** \addtogroup fmi1_enums Enum types used with FMI 1.0 libs
\r
37 /** \brief Naming convention for the variables in XML file*/
\r
38 typedef enum fmi1_variable_naming_convension_enu_t
\r
40 fmi1_naming_enu_flat,
\r
41 fmi1_naming_enu_structured,
\r
42 fmi1_naming_enu_unknown
\r
43 } fmi1_variable_naming_convension_enu_t;
\r
45 /** \brief Convert a #fmi1_variable_naming_convension_enu_t constant into string */
\r
46 FMILIB_EXPORT const char* fmi1_naming_convention_to_string(fmi1_variable_naming_convension_enu_t convention);
\r
48 /** \brief FMU 1.0 kinds */
\r
49 typedef enum fmi1_fmu_kind_enu_t
\r
51 fmi1_fmu_kind_enu_me = 0,
\r
52 fmi1_fmu_kind_enu_cs_standalone,
\r
53 fmi1_fmu_kind_enu_cs_tool,
\r
54 fmi1_fmu_kind_enu_unknown
\r
55 } fmi1_fmu_kind_enu_t;
\r
57 /** \brief Convert a #fmi1_fmu_kind_enu_t constant into string */
\r
58 FMILIB_EXPORT const char* fmi1_fmu_kind_to_string(fmi1_fmu_kind_enu_t kind);
\r
60 /** \brief Variability property for variables */
\r
61 typedef enum fmi1_variability_enu_t {
62 fmi1_variability_enu_constant,
63 fmi1_variability_enu_parameter,
64 fmi1_variability_enu_discrete,
65 fmi1_variability_enu_continuous,
66 fmi1_variability_enu_unknown
67 } fmi1_variability_enu_t;
69 /** \brief Convert a #fmi1_variability_enu_t constant into string */
70 FMILIB_EXPORT const char* fmi1_variability_to_string(fmi1_variability_enu_t v);
72 /** \brief Causality property for variables */
73 typedef enum fmi1_causality_enu_t {
74 fmi1_causality_enu_input,
75 fmi1_causality_enu_output,
76 fmi1_causality_enu_internal,
77 fmi1_causality_enu_none,
78 fmi1_causality_enu_unknown
79 } fmi1_causality_enu_t;
81 /** \brief Convert a #fmi1_causality_enu_t constant into string */
82 FMILIB_EXPORT const char* fmi1_causality_to_string(fmi1_causality_enu_t c);
84 /** \brief Alias property for variables */
\r
85 typedef enum fmi1_variable_alias_kind_enu_t {
86 fmi1_variable_is_negated_alias = -1,
87 fmi1_variable_is_not_alias = 0,
88 fmi1_variable_is_alias = 1
89 } fmi1_variable_alias_kind_enu_t;
91 /** \brief Base types used in type definitions */
92 typedef enum fmi1_base_type_enu_t
99 } fmi1_base_type_enu_t;
101 /** \brief Convert base type constant to string
102 \param bt Base type identifier.
103 \return Corresponding base type name.
105 FMILIB_EXPORT const char* fmi1_base_type_to_string(fmi1_base_type_enu_t bt);
114 #endif /* End of header file FMI1_ENUMS_H_ */