]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/src/Import/include/FMI/fmi_import_util.h
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / src / Import / include / FMI / fmi_import_util.h
diff --git a/org.simantics.fmil.core/native/FMILibrary/src/Import/include/FMI/fmi_import_util.h b/org.simantics.fmil.core/native/FMILibrary/src/Import/include/FMI/fmi_import_util.h
new file mode 100644 (file)
index 0000000..fceb79d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+    Copyright (C) 2012 Modelon AB
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the BSD style license.
+
+     This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    FMILIB_License.txt file for more details.
+
+    You should have received a copy of the FMILIB_License.txt file
+    along with this program. If not, contact Modelon AB <http://www.modelon.com>.
+*/\r
+\r
+#ifndef FMI1_IMPORT_UTIL_H_\r
+#define FMI1_IMPORT_UTIL_H_\r
+\r
+#include <JM/jm_callbacks.h>\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+/**\r
+\addtogroup  fmi_import_utils Utility functions supporting interactions with the library\r
+@{\r
+*/\r
+/** \r
+       \brief Create a unique temporary directory\r
+       \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+       \param systemTempDir - directory where the temp dir should be located both absolute and relative path are accepted.\r
+                               System-wide directory is used if this parameter is NULL.\r
+       \param tempPrefix - File name template prefix used when creating temporaty directories. "fmil" is used if this is NULL.\r
+       \return A pointer to the temporary directory name (absolute path, no terminating '/'). Caller is responsible for freeing the memory.\r
+               The function returns NULL if there were errors in which case a message is send to the logger.   \r
+*/\r
+FMILIB_EXPORT char* fmi_import_mk_temp_dir(jm_callbacks* cb, const char* systemTempDir, const char* tempPrefix);\r
+\r
+/**\r
+\brief Remove directory and all it contents.\r
+       \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+       \param dir - path to be removed.\r
+       \return Statuc success or error.\r
+*/\r
+FMILIB_EXPORT jm_status_enu_t fmi_import_rmdir(jm_callbacks* cb, const char* dir);\r
+\r
+/** \r
+       \brief Create a file:// URL from absolute path\r
+       \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+       \param absPath - absolute path to be converted into the URL\r
+       \return A pointer to the URL. Caller is responsible for freeing the memory.\r
+               The function returns NULL if there were errors in which case a message is send to the logger.   \r
+*/\r
+FMILIB_EXPORT char* fmi_import_create_URL_from_abs_path(jm_callbacks* cb, const char* absPath);\r
+\r
+/** Given directory name fmu_unzipped_path and model identifier consturct Dll/so name\r
+       @return Pointer to a string with the file name. Caller is responsible for freeing the memory.\r
+*/\r
+FMILIB_EXPORT char* fmi_import_get_dll_path(const char* fmu_unzipped_path, const char* model_identifier, jm_callbacks* callBackFunctions);\r
+\r
+/** Given directory name fmu_unzipped_path and model identifier consturct XML file name\r
+       @return Pointer to a string with the file name. Caller is responsible for freeing the memory.\r
+*/\r
+FMILIB_EXPORT char* fmi_import_get_model_description_path(const char* fmu_unzipped_path, jm_callbacks* callBackFunctions);\r
+/**\r
+@}\r
+@}\r
+*/\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* End of header file FMI1_IMPORT_UTIL_H_ */
\ No newline at end of file