]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMUSimulator/include/fmi1_cs.h
Merge "Added getters and setters for all FMI data types."
[simantics/fmil.git] / org.simantics.fmil.core / native / FMUSimulator / include / fmi1_cs.h
index 970402277a258e89073e000638af5fa0e2a4d0db..d3e6229a1e7ddc5029b42674a936d0425c648c7d 100644 (file)
@@ -5,16 +5,10 @@
 extern "C" {
 #endif
 
-#ifdef _MSC_VER
-#define DLLEXPORT __declspec(dllexport)
-#else
-#define DLLEXPORT
-#endif
-
 typedef struct {
-       char *name;
-       char *description;
-       char *declaredType;
+       const char *name;
+       const char *description;
+       const char *declaredType;
        long vr;
        // 0 = real
        // 1 = integer
@@ -37,33 +31,56 @@ typedef struct {
 } FMIL_Variable;
 
 typedef struct {
-       char *name;
-       char *description;
-       char *quantity;
-       char *unit;
+       const char *name;
+       const char *description;
+       const char *quantity;
+       const char *unit;
 } FMIL_DeclaredType;
 
-DLLEXPORT int FMI_CS_LOAD(const char *zipFilePath, const char *unzipFolder, void **fmuPointer, int *fmuVersion, const char **error);
+int FMI_CS_LOAD(const char *zipFilePath, const char *unzipFolder, void **fmuPointer, int *fmuVersion, const char **error);
+
+int FMI1_CS_UNLOAD(void* fmu, const char **error);
+FMIL_Variable *FMI1_CS_GET_VARIABLES(void* fmu, int *count, const char **error);
+FMIL_DeclaredType *FMI1_CS_GET_DECLARED_TYPES(void* fmu, int *count, const char **error);
+int FMI1_CS_INSTANTIATE(void* fmu, const char *instanceName, const char **error);
+int FMI1_CS_INITIALIZE(void* fmu, const char **error);
+int FMI1_CS_STEP(void* fmu, double masterTime, double stepSize, const char **error);
+
+int FMI1_CS_SET_REAL(void *fmu, int valueId, double value, const char **error);
+int FMI1_CS_SET_INTEGER(void *fmu, int valueId, int value, const char **error);
+int FMI1_CS_SET_BOOLEAN(void *fmu, int valueId, int value, const char **error);
+int FMI1_CS_SET_STRING(void *fmu, int valueId, const char *value, const char **error);
+
+double FMI1_CS_GET_REAL(void *fmu, int valueReference, const char **error);
+int FMI1_CS_GET_INTEGER(void *fmu, int valueReference, const char **error);
+int FMI1_CS_GET_BOOLEAN(void *fmu, int valueReference, const char **error);
+const char *FMI1_CS_GET_STRING(void *fmu, int valueReference, const char **error);
+
+int FMI1_CS_GET_REALS(void *fmu, int *valueReferences, double *result, int count, const char **error);
+int FMI1_CS_GET_INTEGERS(void *fmu, int *valueReferences, int *result, int count, const char **error);
+int FMI1_CS_GET_BOOLEANS(void *fmu, int *valueReferences, char *result, int count, const char **error);
+int FMI1_CS_GET_STRINGS(void *fmu, int *valueReferences, const char **result, int count, const char **error);
+
+int FMI2_CS_UNLOAD(void* fmu, const char **error);
+FMIL_Variable *FMI2_CS_GET_VARIABLES(void* fmu, int *count, const char **error);
+FMIL_DeclaredType *FMI2_CS_GET_DECLARED_TYPES(void* fmu, int *count, const char **error);
+int FMI2_CS_INSTANTIATE(void* fmu, const char *instanceName, const char **error);
+int FMI2_CS_INITIALIZE(void* fmu, const char **error);
+int FMI2_CS_STEP(void* fmu, double masterTime, double stepSize, const char **error);
+int FMI2_CS_SET_REAL(void *fmu, int valueId, double value, const char **error);
+int FMI2_CS_SET_INTEGER(void *fmu, int valueId, int value, const char **error);
+int FMI2_CS_SET_BOOLEAN(void *fmu, int valueId, int value, const char **error);
+int FMI2_CS_SET_STRING(void *fmu, int valueId, const char *value, const char **error);
 
-DLLEXPORT int FMI1_CS_UNLOAD(void* fmu, const char **error);
-DLLEXPORT FMIL_Variable *FMI1_CS_GET_VARIABLES(void* fmu, int *count, const char **error);
-DLLEXPORT FMIL_DeclaredType *FMI1_CS_GET_DECLARED_TYPES(void* fmu, int *count, const char **error);
-DLLEXPORT int FMI1_CS_INSTANTIATE(void* fmu, const char *instanceName, const char **error);
-DLLEXPORT int FMI1_CS_INITIALIZE(void* fmu, const char **error);
-DLLEXPORT int FMI1_CS_STEP(void* fmu, double masterTime, double stepSize, const char **error);
-DLLEXPORT int FMI1_CS_SET_REAL(void* fmu, int vr, double value, const char **error);
-DLLEXPORT double FMI1_CS_GET_REAL(void* fmu, int vr, const char **error);
-DLLEXPORT int FMI1_CS_GET_REALS(void* fmu, int *vrs, double *values, int count, const char **error);
+double FMI2_CS_GET_REAL(void *fmu, int valueReference, const char **error);
+int FMI2_CS_GET_INTEGER(void *fmu, int valueReference, const char **error);
+int FMI2_CS_GET_BOOLEAN(void *fmu, int valueReference, const char **error);
+const char *FMI2_CS_GET_STRING(void *fmu, int valueReference, const char **error);
 
-DLLEXPORT int FMI2_CS_UNLOAD(void* fmu, const char **error);
-DLLEXPORT FMIL_Variable *FMI2_CS_GET_VARIABLES(void* fmu, int *count, const char **error);
-DLLEXPORT FMIL_DeclaredType *FMI2_CS_GET_DECLARED_TYPES(void* fmu, int *count, const char **error);
-DLLEXPORT int FMI2_CS_INSTANTIATE(void* fmu, const char *instanceName, const char **error);
-DLLEXPORT int FMI2_CS_INITIALIZE(void* fmu, const char **error);
-DLLEXPORT int FMI2_CS_STEP(void* fmu, double masterTime, double stepSize, const char **error);
-DLLEXPORT int FMI2_CS_SET_REAL(void* fmu, int vr, double value, const char **error);
-DLLEXPORT double FMI2_CS_GET_REAL(void* fmu, int vr, const char **error);
-DLLEXPORT int FMI2_CS_GET_REALS(void* fmu, int *vrs, double *values, int count, const char **error);
+int FMI2_CS_GET_REALS(void *fmu, int *valueReferences, double *result, int count, const char **error);
+int FMI2_CS_GET_INTEGERS(void *fmu, int *valueReferences, int *result, int count, const char **error);
+int FMI2_CS_GET_BOOLEANS(void *fmu, int *valueReferences, int *result, int count, const char **error);
+int FMI2_CS_GET_STRINGS(void *fmu, int *valueReferences, const char **result, int count, const char **error);
 
 #ifdef __cplusplus
 }