]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/Test/FMI2/fmu_dummy/fmu2_model_cs.c
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / Test / FMI2 / fmu_dummy / fmu2_model_cs.c
diff --git a/org.simantics.fmil.core/native/FMILibrary/Test/FMI2/fmu_dummy/fmu2_model_cs.c b/org.simantics.fmil.core/native/FMILibrary/Test/FMI2/fmu_dummy/fmu2_model_cs.c
new file mode 100644 (file)
index 0000000..5ca6591
--- /dev/null
@@ -0,0 +1,180 @@
+/*\r
+Copyright (C) 2012 Modelon AB\r
+\r
+This program is free software: you can redistribute it and/or modify\r
+it under the terms of the BSD style license.\r
+\r
+the Free Software Foundation, version 3 of the License.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+FMILIB_License.txt file for more details.\r
+\r
+You should have received a copy of the FMILIB_License.txt file\r
+along with this program. If not, contact Modelon AB <http://www.modelon.com>.\r
+*/\r
+\r
+#include <string.h>\r
+\r
+\r
+\r
+#if __GNUC__ >= 4\r
+    #pragma GCC visibility push(default)\r
+#endif\r
+\r
+/* Standard FMI 2.0 ME and CS types */\r
+#include <FMI2/fmi2Functions.h>\r
+\r
+#include <fmu_dummy/fmu2_model.h>\r
+#include "config_test.h"\r
+/* #define MODEL_IDENTIFIER FMU_DUMMY_CS_MODEL_IDENTIFIER */\r
+\r
+#include "fmu2_model.c"\r
+\r
+\r
+\r
+/* FMI 2.0 Common Functions */\r
+FMI2_Export const char* fmi2GetVersion()\r
+{\r
+       return fmi_get_version();\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetDebugLogging(fmi2Component c, fmi2Boolean loggingOn, size_t n, const fmi2String cat[])\r
+{\r
+       return fmi_set_debug_logging(c, loggingOn);\r
+}\r
+\r
+FMI2_Export fmi2Component fmi2Instantiate(fmi2String instanceName,\r
+  fmi2Type fmuType, fmi2String GUID, fmi2String location,\r
+  const fmi2CallbackFunctions* functions, fmi2Boolean visible,\r
+  fmi2Boolean loggingOn)\r
+{\r
+    return fmi_instantiate(instanceName, fmuType, GUID, location, functions,\r
+                           visible, loggingOn);\r
+}\r
+\r
+FMI2_Export void fmi2FreeInstance(fmi2Component c)\r
+{\r
+       fmi_free_instance(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetupExperiment(fmi2Component c, \r
+    fmi2Boolean toleranceDefined, fmi2Real tolerance,\r
+    fmi2Real startTime, fmi2Boolean stopTimeDefined,\r
+    fmi2Real stopTime)\r
+{\r
+    return fmi_setup_experiment(c, toleranceDefined, tolerance, startTime,\r
+                                stopTimeDefined, stopTime);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2EnterInitializationMode(fmi2Component c)\r
+{\r
+    return fmi_enter_initialization_mode(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2ExitInitializationMode(fmi2Component c)\r
+{\r
+    return fmi_exit_initialization_mode(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetReal(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, fmi2Real value[])\r
+{\r
+       return fmi_get_real(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetInteger(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, fmi2Integer value[])\r
+{\r
+       return fmi_get_integer(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetBoolean(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, fmi2Boolean value[])\r
+{\r
+       return fmi_get_boolean(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetString(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, fmi2String  value[])\r
+{\r
+       return fmi_get_string(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetReal(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2Real value[])\r
+{\r
+       return fmi_set_real(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetInteger(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2Integer value[])\r
+{\r
+       return fmi_set_integer(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetBoolean(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2Boolean value[])\r
+{\r
+       return fmi_set_boolean(c, vr, nvr, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetString(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2String  value[])\r
+{\r
+       return fmi_set_string(c, vr, nvr, value);\r
+}\r
+\r
+/* FMI 2.0 CS Functions */\r
+FMI2_Export const char* fmi2GetTypesPlatform()\r
+{\r
+       return fmi_get_types_platform();\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2Terminate(fmi2Component c)\r
+{\r
+       return fmi_terminate(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2Reset(fmi2Component c)\r
+{\r
+       return fmi_reset(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2SetRealInputDerivatives(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2Integer order[], const fmi2Real value[])\r
+{\r
+       return fmi_set_real_input_derivatives(c, vr, nvr, order, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetRealOutputDerivatives(fmi2Component c, const fmi2ValueReference vr[], size_t nvr, const fmi2Integer order[], fmi2Real value[])\r
+{\r
+       return fmi_get_real_output_derivatives(c, vr, nvr, order, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2CancelStep(fmi2Component c)\r
+{\r
+       return fmi_cancel_step(c);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2DoStep(fmi2Component c, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean newStep)\r
+{\r
+       return fmi_do_step(c, currentCommunicationPoint, communicationStepSize, newStep);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetStatus(fmi2Component c, const fmi2StatusKind s, fmi2Status*  value)\r
+{\r
+       return fmi_get_status(c, s, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetRealStatus(fmi2Component c, const fmi2StatusKind s, fmi2Real*    value)\r
+{\r
+       return fmi_get_real_status(c, s, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetIntegerStatus(fmi2Component c, const fmi2StatusKind s, fmi2Integer* value)\r
+{\r
+       return fmi_get_integer_status(c, s, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetBooleanStatus(fmi2Component c, const fmi2StatusKind s, fmi2Boolean* value)\r
+{\r
+       return fmi_get_boolean_status(c, s, value);\r
+}\r
+\r
+FMI2_Export fmi2Status fmi2GetStringStatus(fmi2Component c, const fmi2StatusKind s, fmi2String*  value)\r
+{\r
+       return fmi_get_string_status(c, s, value);\r
+}\r