summaryrefslogtreecommitdiffstats
path: root/src/lib/Eulogium.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Eulogium.h')
-rw-r--r--src/lib/Eulogium.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/lib/Eulogium.h b/src/lib/Eulogium.h
new file mode 100644
index 0000000..7ef7c0d
--- /dev/null
+++ b/src/lib/Eulogium.h
@@ -0,0 +1,111 @@
+#ifndef EULOGIUM_H_
+# define EULOGIUM_H_
+
+#include <Elementary.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EULOGIUM_BUILD
+# ifdef DLL_EXPORT
+# define EAPI __declspec(dllexport)
+# else
+# define EAPI
+# endif /* ! DLL_EXPORT */
+# else
+# define EAPI __declspec(dllimport)
+# endif /* ! EFL_EULOGIUM_BUILD */
+#else
+# ifdef __GNUC__
+# if __GNUC__ >= 4
+# define EAPI __attribute__ ((visibility("default")))
+# else
+# define EAPI
+# endif
+# else
+# define EAPI
+# endif
+#endif /* ! _WIN32 */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @file
+ * @brief These routines are used for Eulogium library interaction.
+ */
+
+/**
+ * @brief Init / shutdown functions.
+ * @defgroup Init Init / Shutdown
+ *
+ * @{
+ *
+ * Functions of obligatory usage, handling proper initialization
+ * and shutdown routines.
+ *
+ * Before the usage of any other function, Eulogium should be properly
+ * initialized with @ref eulogium_init() and the last call to Eulogium's
+ * functions should be @ref eulogium_shutdown(), so everything will
+ * be correctly freed.
+ *
+ * Eulogium logs everything with Eina Log, using the "eulogium" log domain.
+ *
+ */
+
+/**
+ * Initialize Eulogium.
+ *
+ * Initializes Eulogium, its dependencies and modules. Should be the first
+ * function of Eulogium to be called.
+ *
+ * @return The init counter value.
+ *
+ * @see eulogium_shutdown().
+ *
+ * @ingroup Init
+ */
+EAPI int eulogium_init(void);
+
+/**
+ * Shutdown Eulogium
+ *
+ * Shutdown Eulogium. If init count reaches 0, all the internal structures will
+ * be freed. Any Eulogium library call after this point will leads to an error.
+ *
+ * @return Eulogium's init counter value.
+ *
+ * @see eulogium_init().
+ *
+ * @ingroup Init
+ */
+EAPI int eulogium_shutdown(void);
+
+/**
+ * @}
+ */
+
+/**
+ * @brief Main group API that wont do anything
+ * @defgroup Main Main
+ *
+ * @{
+ *
+ * @brief A function that doesn't do any good nor any bad
+ *
+ * @ingroup Main
+ */
+EAPI void eulogium_library_call(void);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EULOGIUM_H_ */