]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/src/XML/src/FMI1/fmi1_xml_model_description_impl.h
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / src / XML / src / FMI1 / fmi1_xml_model_description_impl.h
diff --git a/org.simantics.fmil.core/native/FMILibrary/src/XML/src/FMI1/fmi1_xml_model_description_impl.h b/org.simantics.fmil.core/native/FMILibrary/src/XML/src/FMI1/fmi1_xml_model_description_impl.h
new file mode 100644 (file)
index 0000000..bc27c15
--- /dev/null
@@ -0,0 +1,107 @@
+#ifndef fmi1_xml_model_decription_impl_h_\r
+#define fmi1_xml_model_decription_impl_h_\r
+\r
+#include <stdarg.h>\r
+\r
+#include <JM/jm_callbacks.h>\r
+#include <JM/jm_vector.h>\r
+#include <JM/jm_named_ptr.h>\r
+#include <JM/jm_string_set.h>\r
+#include <FMI1/fmi1_xml_model_description.h>\r
+\r
+#include "fmi1_xml_unit_impl.h"\r
+#include "fmi1_xml_type_impl.h"\r
+#include "fmi1_xml_variable_impl.h"\r
+#include "fmi1_xml_capabilities_impl.h"\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+typedef enum fmi1_xml_model_description_status_enu_t {\r
+    fmi1_xml_model_description_enu_empty,\r
+    fmi1_xml_model_description_enu_ok,\r
+    fmi1_xml_model_description_enu_error\r
+} fmi1_xml_model_description_status_enu_t;\r
+\r
+/*  ModelDescription is the entry point for the package*/\r
+struct fmi1_xml_model_description_t {\r
+\r
+    jm_callbacks* callbacks;\r
+\r
+    fmi1_xml_model_description_status_enu_t status;\r
+\r
+    jm_vector(char) fmi1_xml_standard_version;\r
+\r
+    jm_vector(char) modelName;\r
+\r
+    jm_vector(char) modelIdentifier;\r
+\r
+    jm_vector(char) GUID;\r
+\r
+    jm_vector(char) description;\r
+\r
+    jm_vector(char) author;\r
+\r
+    jm_vector(char) version;\r
+    jm_vector(char) generationTool;\r
+    jm_vector(char) generationDateAndTime;\r
+\r
+    fmi1_variable_naming_convension_enu_t namingConvension;\r
+\r
+    unsigned int numberOfContinuousStates;\r
+\r
+    unsigned int numberOfEventIndicators;\r
+\r
+    double defaultExperimentStartTime;\r
+\r
+    double defaultExperimentStopTime;\r
+\r
+#define FMI1_DEFAULT_EXPERIMENT_TOLERANCE 1e-4\r
+\r
+    double defaultExperimentTolerance;\r
+\r
+    jm_vector(jm_voidp) vendorList;\r
+\r
+    jm_vector(jm_named_ptr) unitDefinitions;\r
+    jm_vector(jm_named_ptr) displayUnitDefinitions;\r
+\r
+    fmi1_xml_type_definitions_t typeDefinitions;\r
+\r
+    jm_string_set descriptions;\r
+\r
+       jm_vector(jm_named_ptr) variablesByName;\r
+\r
+    jm_vector(jm_voidp)* variablesOrigOrder;\r
+\r
+       jm_vector(jm_voidp)* variablesByVR;\r
+\r
+       jm_vector(jm_voidp)* inputVariables;\r
+\r
+       jm_vector(jm_voidp)* outputVariables;\r
+\r
+    fmi1_fmu_kind_enu_t fmuKind;\r
+\r
+    fmi1_xml_capabilities_t *capabilities;\r
+\r
+    jm_vector(char) entryPoint;\r
+    jm_vector(char) mimeType;\r
+    int manual_start;\r
+    jm_vector(jm_string) additionalModels;\r
+};\r
+\r
+void fmi1_xml_report_error(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);\r
+\r
+void fmi1_xml_report_error_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);\r
+\r
+void fmi1_xml_report_warning(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);\r
+\r
+void fmi1_xml_report_warning_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r