1 #ifndef fmi1_xml_model_decription_impl_h_
\r
2 #define fmi1_xml_model_decription_impl_h_
\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
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
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
27 /* ModelDescription is the entry point for the package*/
\r
28 struct fmi1_xml_model_description_t {
\r
30 jm_callbacks* callbacks;
\r
32 fmi1_xml_model_description_status_enu_t status;
\r
34 jm_vector(char) fmi1_xml_standard_version;
\r
36 jm_vector(char) modelName;
\r
38 jm_vector(char) modelIdentifier;
\r
40 jm_vector(char) GUID;
\r
42 jm_vector(char) description;
\r
44 jm_vector(char) author;
\r
46 jm_vector(char) version;
\r
47 jm_vector(char) generationTool;
\r
48 jm_vector(char) generationDateAndTime;
\r
50 fmi1_variable_naming_convension_enu_t namingConvension;
\r
52 unsigned int numberOfContinuousStates;
\r
54 unsigned int numberOfEventIndicators;
\r
56 double defaultExperimentStartTime;
\r
58 double defaultExperimentStopTime;
\r
60 #define FMI1_DEFAULT_EXPERIMENT_TOLERANCE 1e-4
\r
62 double defaultExperimentTolerance;
\r
64 jm_vector(jm_voidp) vendorList;
\r
66 jm_vector(jm_named_ptr) unitDefinitions;
\r
67 jm_vector(jm_named_ptr) displayUnitDefinitions;
\r
69 fmi1_xml_type_definitions_t typeDefinitions;
\r
71 jm_string_set descriptions;
\r
73 jm_vector(jm_named_ptr) variablesByName;
\r
75 jm_vector(jm_voidp)* variablesOrigOrder;
\r
77 jm_vector(jm_voidp)* variablesByVR;
\r
79 jm_vector(jm_voidp)* inputVariables;
\r
81 jm_vector(jm_voidp)* outputVariables;
\r
83 fmi1_fmu_kind_enu_t fmuKind;
\r
85 fmi1_xml_capabilities_t *capabilities;
\r
87 jm_vector(char) entryPoint;
\r
88 jm_vector(char) mimeType;
\r
90 jm_vector(jm_string) additionalModels;
\r
93 void fmi1_xml_report_error(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);
\r
95 void fmi1_xml_report_error_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);
\r
97 void fmi1_xml_report_warning(fmi1_xml_model_description_t* md, const char* module, const char* fmt, ...);
\r
99 void fmi1_xml_report_warning_v(fmi1_xml_model_description_t* md, const char* module, const char* fmt, va_list ap);
\r