FMI Library: part of JModelica.org
fmi1_import_convenience.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2012 Modelon AB
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the BSD style license.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  FMILIB_License.txt file for more details.
11 
12  You should have received a copy of the FMILIB_License.txt file
13  along with this program. If not, contact Modelon AB <http://www.modelon.com>.
14 */
15 
16 
17 
25 #ifndef FMI1_IMPORT_CONVENIENCE_H_
26 #define FMI1_IMPORT_CONVENIENCE_H_
27 
28 #include <FMI/fmi_import_context.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
48 typedef struct {
50  unsigned int num_constants;
52  unsigned int num_parameters;
53 
55  unsigned int num_discrete;
57  unsigned int num_continuous;
58 
60  unsigned int num_inputs;
62  unsigned int num_outputs;
64  unsigned int num_internal;
66  unsigned int num_causality_none;
67 
69  unsigned int num_real_vars;
71  unsigned int num_integer_vars;
73  unsigned int num_enum_vars;
75  unsigned int num_bool_vars;
77  unsigned int num_string_vars;
79 
87 
97 void fmi1_import_expand_variable_references(fmi1_import_t* fmu, const char* msgIn, char* msgOut, size_t maxMsgSize);
98 
99 
110 void fmi1_log_forwarding(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, ...);
111 
118 void fmi1_log_forwarding_v(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, va_list args);
119 
120 
123 void fmi1_default_callback_logger(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, ...);
124 
139 #ifdef __cplusplus
140 }
141 #endif
142 #endif /* FMI1_IMPORT_CONVENIENCE_H_ */
unsigned int num_internal
Number of internal variables.
unsigned int num_parameters
Number of parameters.
size_t jm_callbacks * c
Import context is the entry point to the library. It is used to initialize, unzip, get FMI version and start parsing.
FMILIB_EXPORT void fmi1_import_expand_variable_references(fmi1_import_t *fmu, const char *msgIn, char *msgOut, size_t maxMsgSize)
Print msgIn into msgOut by expanding variable references of the form #<Type><VR># into variable names...
FMILIB_EXPORT void fmi1_log_forwarding_v(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, va_list args)
An implementation of FMI 1.0 logger that forwards the messages to logger function inside jm_callbacks...
unsigned int num_bool_vars
Number of boolean variables.
FMILIB_EXPORT void fmi1_default_callback_logger(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message,...)
Default FMI 1.0 logger may be used when instantiating FMUs.
FMILIB_EXPORT void fmi1_log_forwarding(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message,...)
An implementation of FMI 1.0 logger that forwards the messages to logger function inside jm_callbacks...
unsigned int num_real_vars
Number of real variables.
#define FMILIB_EXPORT
Used to declare the public API of the library needed for dynamic linking.
fmi1_capi_t * fmu
fmi1_status_t
unsigned int num_discrete
Number of discrete variables.
Collection of counters providing model information.
unsigned int num_string_vars
Number of string variables.
unsigned int num_outputs
Number of outputs.
unsigned int num_enum_vars
Number of enumeration variables.
unsigned int num_causality_none
Number of variables with causality &#39;none&#39;.
FMILIB_EXPORT void fmi1_import_collect_model_counts(fmi1_import_t *fmu, fmi1_import_model_counts_t *counts)
Collect model information by counting the number of variables with specific properties and fillinf in...
The callbacks struct is sent to all the modules in the library.
Definition: jm_callbacks.h:73
unsigned int num_inputs
Number of inputs.
struct fmi1_import_t fmi1_import_t
FMU version 1.0 object.
unsigned int num_continuous
Number of continuous variables.
unsigned int num_constants
Number of constants.
unsigned int num_integer_vars
Number of integer variables.
FMILIB_EXPORT void fmi1_import_init_logger(jm_callbacks *cb, fmi1_callback_functions_t *fmiCallbacks)
Given fmi1_callback_functions_t logger (fmi1_logger), the jm_callbacks logger may be setup to redirec...