diff --git a/co_sim_io/c/co_sim_io_c.h b/co_sim_io/c/co_sim_io_c.h index fff606f8..7576d15f 100644 --- a/co_sim_io/c/co_sim_io_c.h +++ b/co_sim_io/c/co_sim_io_c.h @@ -16,8 +16,10 @@ // C Interface for CoSimulation // see "co_sim_io.hpp" +// System includes #include +// Project includes #include "co_sim_io_c_info.h" #include "co_sim_io_c_model_part.h" diff --git a/tests/integration_tutorials/c/connect_disconnect_a.c b/tests/integration_tutorials/c/connect_disconnect_a.c index 121c7627..ca0aa395 100644 --- a/tests/integration_tutorials/c/connect_disconnect_a.c +++ b/tests/integration_tutorials/c/connect_disconnect_a.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -29,9 +32,10 @@ int main() // The connect must be called before any CosimIO function called CoSimIO_Info connect_info = CoSimIO_Connect(settings); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); - + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // Now you may call any CoSimIO functions @@ -46,7 +50,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/connect_disconnect_b.c b/tests/integration_tutorials/c/connect_disconnect_b.c index e5e499e4..40843b1b 100644 --- a/tests/integration_tutorials/c/connect_disconnect_b.c +++ b/tests/integration_tutorials/c/connect_disconnect_b.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -29,9 +32,10 @@ int main() // The connect must be called before any CosimIO function called CoSimIO_Info connect_info = CoSimIO_Connect(settings); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); - + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // Now you may call any CoSimIO functions @@ -46,7 +50,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/export_data.c b/tests/integration_tutorials/c/export_data.c index 4817541d..7a406eae 100644 --- a/tests/integration_tutorials/c/export_data.c +++ b/tests/integration_tutorials/c/export_data.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -30,8 +33,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // After connecting we may export the data int data_size = 4; @@ -57,7 +62,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/export_import_data.c b/tests/integration_tutorials/c/export_import_data.c index 1c5c4b40..aff367b8 100644 --- a/tests/integration_tutorials/c/export_import_data.c +++ b/tests/integration_tutorials/c/export_import_data.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -36,6 +39,8 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info diff --git a/tests/integration_tutorials/c/export_import_mesh.c b/tests/integration_tutorials/c/export_import_mesh.c index 983cd8de..fffed137 100644 --- a/tests/integration_tutorials/c/export_import_mesh.c +++ b/tests/integration_tutorials/c/export_import_mesh.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -36,6 +39,8 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info diff --git a/tests/integration_tutorials/c/export_info.c b/tests/integration_tutorials/c/export_info.c index 885dece8..08558900 100644 --- a/tests/integration_tutorials/c/export_info.c +++ b/tests/integration_tutorials/c/export_info.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -30,8 +33,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // Creatinf the info to export CoSimIO_Info info_to_export=CoSimIO_CreateInfo(); @@ -57,7 +62,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/export_mesh.c b/tests/integration_tutorials/c/export_mesh.c index 2a94800b..d54d1109 100644 --- a/tests/integration_tutorials/c/export_mesh.c +++ b/tests/integration_tutorials/c/export_mesh.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -30,8 +33,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info int number_of_nodes=6; double nodal_coordinates[] = { @@ -77,7 +82,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); diff --git a/tests/integration_tutorials/c/import_data.c b/tests/integration_tutorials/c/import_data.c index 1cc08f24..74d54afe 100644 --- a/tests/integration_tutorials/c/import_data.c +++ b/tests/integration_tutorials/c/import_data.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -30,8 +33,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // After conneting we may import the data double* data; @@ -60,7 +65,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/import_info.c b/tests/integration_tutorials/c/import_info.c index 5644ad1d..184fbe57 100644 --- a/tests/integration_tutorials/c/import_info.c +++ b/tests/integration_tutorials/c/import_info.c @@ -15,22 +15,22 @@ #include #include -// CoSimulation includes +// Project includes #include "c/co_sim_io_c.h" -#define COSIMIO_CHECK_INT_EQUAL(a, b) \ +#define COSIMIO_CHECK_EQUAL_INT(a, b) \ if (a != b) { \ printf("in line %d: %d is not equal to %d", __LINE__, a, b); \ return 1; \ } -#define COSIMIO_CHECK_DOUBLE_EQUAL(a, b) \ +#define COSIMIO_CHECK_EQUAL_DOUBLE(a, b) \ if (fabs(a-b)>1e-15) { \ printf("in line %d: %f is not equal to %f", __LINE__, a, b); \ return 1; \ } -#define COSIMIO_CHECK_STRING_EQUAL(a, b) \ +#define COSIMIO_CHECK_EQUAL_STRING(a, b) \ if (strcmp(a,b)) { \ printf("in line %d: %s is not equal to %s", __LINE__, a, b); \ return 1; \ @@ -47,8 +47,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); - COSIMIO_CHECK_INT_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); + COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // Creating the info for export CoSimIO_Info export_info=CoSimIO_CreateInfo(); @@ -59,10 +61,10 @@ int main() CoSimIO_Info imported_info = CoSimIO_ImportInfo(export_info); // check imported Info - COSIMIO_CHECK_STRING_EQUAL(CoSimIO_Info_GetString(imported_info, "id"), "convergence_information"); - COSIMIO_CHECK_INT_EQUAL(CoSimIO_Info_GetBool(imported_info, "is_converged"), 1); - COSIMIO_CHECK_DOUBLE_EQUAL(CoSimIO_Info_GetDouble(imported_info, "tol"), 0.23); - COSIMIO_CHECK_INT_EQUAL(CoSimIO_Info_GetInt(imported_info, "echo_level"), 2); + COSIMIO_CHECK_EQUAL_STRING(CoSimIO_Info_GetString(imported_info, "id"), "convergence_information"); + COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetBool(imported_info, "is_converged"), 1); + COSIMIO_CHECK_EQUAL_DOUBLE(CoSimIO_Info_GetDouble(imported_info, "tol"), 0.23); + COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(imported_info, "echo_level"), 2); // Freeing the export_info and imported_info CoSimIO_FreeInfo(export_info); @@ -72,12 +74,11 @@ int main() CoSimIO_Info disconnect_settings=CoSimIO_CreateInfo(); CoSimIO_Info_SetString(disconnect_settings, "connection_name", connection_name); CoSimIO_Info disconnect_info = CoSimIO_Disconnect(disconnect_settings); // disconnect afterwards - COSIMIO_CHECK_INT_EQUAL(CoSimIO_Info_GetInt(disconnect_info, "connection_status"), CoSimIO_Disconnected); + COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(disconnect_info, "connection_status"), CoSimIO_Disconnected); // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/import_mesh.c b/tests/integration_tutorials/c/import_mesh.c index 7f8e950a..27aa898c 100644 --- a/tests/integration_tutorials/c/import_mesh.c +++ b/tests/integration_tutorials/c/import_mesh.c @@ -10,6 +10,9 @@ // Main authors: Philipp Bucher (https://github.com/philbucher) // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -36,8 +39,10 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL_INT(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); - const char* connection_name = CoSimIO_Info_GetString(connect_info, "connection_name"); + CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info // After conneting we may import the mesh double* nodal_coordinates; @@ -106,7 +111,6 @@ int main() // Don't forget to release the settings and info CoSimIO_FreeInfo(connection_settings); CoSimIO_FreeInfo(disconnect_settings); - CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info CoSimIO_FreeInfo(disconnect_info); return 0; diff --git a/tests/integration_tutorials/c/mapping.c b/tests/integration_tutorials/c/mapping.c index 44021e08..0222a110 100644 --- a/tests/integration_tutorials/c/mapping.c +++ b/tests/integration_tutorials/c/mapping.c @@ -10,6 +10,9 @@ // Main authors: Pooyan Dadvand // +// System includes +#include + // CoSimulation includes #include "c/co_sim_io_c.h" @@ -30,6 +33,8 @@ int main() // Connecting using the connection settings CoSimIO_Info connect_info = CoSimIO_Connect(connection_settings); + char connection_name[BUFSIZ]; + strcpy(connection_name, CoSimIO_Info_GetString(connect_info, "connection_name")); COSIMIO_CHECK_EQUAL(CoSimIO_Info_GetInt(connect_info, "connection_status"), CoSimIO_Connected); CoSimIO_FreeInfo(connect_info); // Don't forget to free the connect_info