]> gerrit.simantics Code Review - simantics/fmil.git/blob - org.simantics.fmil.core/native/FMILibrary/src/XML/src/FMI1/fmi1_xml_model_description_impl.h
Switch to full JavaSE-11+ compatibility
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / src / XML / src / FMI1 / fmi1_xml_model_description_impl.h
1 #ifndef fmi1_xml_model_decription_impl_h_\r
2 #define fmi1_xml_model_decription_impl_h_\r
3 \r
4 #include <stdarg.h>\r
5 \r
6 #include <JM/jm_callbacks.h>\r
7 #include <JM/jm_vector.h>\r
8 #include <JM/jm_named_ptr.h>\r
9 #include <JM/jm_string_set.h>\r
10 #include <FMI1/fmi1_xml_model_description.h>\r
11 \r
12 #include "fmi1_xml_unit_impl.h"\r
13 #include "fmi1_xml_type_impl.h"\r
14 #include "fmi1_xml_variable_impl.h"\r
15 #include "fmi1_xml_capabilities_impl.h"\r
16 \r
17 #ifdef __cplusplus\r
18 extern "C" {\r
19 #endif\r
20 \r
21 typedef enum fmi1_xml_model_description_status_enu_t {\r
22     fmi1_xml_model_description_enu_empty,\r
23     fmi1_xml_model_description_enu_ok,\r
24     fmi1_xml_model_description_enu_error\r
25 } fmi1_xml_model_description_status_enu_t;\r
26 \r
27 /*  ModelDescription is the entry point for the package*/\r
28 struct fmi1_xml_model_description_t {\r
29 \r
30     jm_callbacks* callbacks;\r
31 \r
32     fmi1_xml_model_description_status_enu_t status;\r
33 \r
34     jm_vector(char) fmi1_xml_standard_version;\r
35 \r
36     jm_vector(char) modelName;\r
37 \r
38     jm_vector(char) modelIdentifier;\r
39 \r
40     jm_vector(char) GUID;\r
41 \r
42     jm_vector(char) description;\r
43 \r
44     jm_vector(char) author;\r
45 \r
46     jm_vector(char) version;\r
47     jm_vector(char) generationTool;\r
48     jm_vector(char) generationDateAndTime;\r
49 \r
50     fmi1_variable_naming_convension_enu_t namingConvension;\r
51 \r
52     unsigned int numberOfContinuousStates;\r
53 \r
54     unsigned int numberOfEventIndicators;\r
55 \r
56     double defaultExperimentStartTime;\r
57 \r
58     double defaultExperimentStopTime;\r
59 \r
60 #define FMI1_DEFAULT_EXPERIMENT_TOLERANCE 1e-4\r
61 \r
62     double defaultExperimentTolerance;\r
63 \r
64     jm_vector(jm_voidp) vendorList;\r
65 \r
66     jm_vector(jm_named_ptr) unitDefinitions;\r
67     jm_vector(jm_named_ptr) displayUnitDefinitions;\r
68 \r
69     fmi1_xml_type_definitions_t typeDefinitions;\r
70 \r
71     jm_string_set descriptions;\r
72 \r
73         jm_vector(jm_named_ptr) variablesByName;\r
74 \r
75     jm_vector(jm_voidp)* variablesOrigOrder;\r
76 \r
77         jm_vector(jm_voidp)* variablesByVR;\r
78 \r
79         jm_vector(jm_voidp)* inputVariables;\r
80 \r
81         jm_vector(jm_voidp)* outputVariables;\r
82 \r
83     fmi1_fmu_kind_enu_t fmuKind;\r
84 \r
85     fmi1_xml_capabilities_t *capabilities;\r
86 \r
87     jm_vector(char) entryPoint;\r
88     jm_vector(char) mimeType;\r
89     int manual_start;\r
90     jm_vector(jm_string) additionalModels;\r
91 };\r
92 \r
93 void fmi1_xml_report_error(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);\r
94 \r
95 void fmi1_xml_report_error_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);\r
96 \r
97 void fmi1_xml_report_warning(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);\r
98 \r
99 void fmi1_xml_report_warning_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);\r
100 \r
101 \r
102 #ifdef __cplusplus\r
103 }\r
104 #endif\r
105 \r
106 #endif\r
107 \r