]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/src/Util/src/FMI1/fmi1_enums.c
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / src / Util / src / FMI1 / fmi1_enums.c
diff --git a/org.simantics.fmil.core/native/FMILibrary/src/Util/src/FMI1/fmi1_enums.c b/org.simantics.fmil.core/native/FMILibrary/src/Util/src/FMI1/fmi1_enums.c
new file mode 100644 (file)
index 0000000..dfb8711
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+    Copyright (C) 2012 Modelon AB
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the BSD style license.
+
+     This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    FMILIB_License.txt file for more details.
+
+    You should have received a copy of the FMILIB_License.txt file
+    along with this program. If not, contact Modelon AB <http://www.modelon.com>.
+*/\r
+#include <assert.h>\r
+\r
+#include <FMI1/fmi1_functions.h>\r
+\r
+#include <FMI1/fmi1_enums.h>\r
+\r
+const char* fmi1_naming_convention_to_string(fmi1_variable_naming_convension_enu_t convention) {\r
+    if(convention == fmi1_naming_enu_flat) return "flat";\r
+    if(convention == fmi1_naming_enu_structured) return "structured";\r
+    return "Unknown";\r
+}\r
+\r
+const char* fmi1_fmu_kind_to_string(fmi1_fmu_kind_enu_t kind) {\r
+    switch (kind) {\r
+    case fmi1_fmu_kind_enu_me: return "ModelExchange";\r
+    case fmi1_fmu_kind_enu_cs_standalone: return "CoSimulation_StandAlone";\r
+    case fmi1_fmu_kind_enu_cs_tool: return "CoSimulation_Tool";\r
+       default: break;\r
+    }\r
+    return "Unknown";\r
+}\r
+\r
+const char* fmi1_variability_to_string(fmi1_variability_enu_t v) {
+    switch(v) {
+    case fmi1_variability_enu_constant: return "constant";
+    case fmi1_variability_enu_parameter: return "parameter";
+    case fmi1_variability_enu_discrete: return "discrete";
+    case fmi1_variability_enu_continuous: return "continuous";
+       default: break;\r
+    }
+    return "Unknown";
+}
+
+const char* fmi1_causality_to_string(fmi1_causality_enu_t c) {
+    switch(c) {
+    case fmi1_causality_enu_input: return "input";
+    case fmi1_causality_enu_output: return "output";
+    case fmi1_causality_enu_internal: return "internal";
+    case fmi1_causality_enu_none: return "none";
+       default: break;\r
+    };
+    return "Unknown";
+}
+
+const char* fmi1_status_to_string(fmi1_status_t status) {\r
+       switch(status) {\r
+       case fmi1_status_ok:\r
+               return "OK";\r
+       case fmi1_status_warning:\r
+               return "Warning";\r
+       case fmi1_status_discard:\r
+               return "Discard";\r
+       case fmi1_status_error:\r
+               return "Error";\r
+       case fmi1_status_fatal:\r
+               return "Fatal";\r
+       case fmi1_status_pending:\r
+               return "Pending";\r
+       default: break;\r
+       }\r
+       return "Undefined";\r
+}\r
+\r
+const char* fmi1_base_type_to_string(fmi1_base_type_enu_t bt) {
+    switch(bt) {
+    case fmi1_base_type_real: return "Real";
+    case fmi1_base_type_int: return "Integer";
+    case fmi1_base_type_bool: return "Boolean";
+    case fmi1_base_type_str: return "String";
+    case fmi1_base_type_enum: return "Enumeration";
+       default: break;\r
+    }
+    return "Error";
+}