emile: implement emile_cipher_module_get in a useful way.
authorCedric BAIL <cedric@osg.samsung.com>
Tue, 17 Mar 2015 07:50:40 +0000 (08:50 +0100)
committerCedric BAIL <cedric@osg.samsung.com>
Tue, 17 Mar 2015 08:58:20 +0000 (09:58 +0100)
src/lib/emile/emile_cipher.h
src/lib/emile/emile_main.c

index 086c16f..93dbc39 100644 (file)
  */
 
 /**
+ * @typedef Emile_Cipher_Backend
+ *
+ * Flags describing the implemented backend.
+ *
+ * @since 1.14.0
+ */
+typedef enum _Emile_Cipher_Backend
+{
+  EMILE_NONE,
+  EMILE_OPENSSL,
+  EMILE_GNUTLS
+} Emile_Cipher_Backend;
+
+/**
  * @typedef Emile_Cipher_Algorithm
  *
  * Flags describing known cipher algorithm.
@@ -39,7 +53,7 @@ EAPI Eina_Bool emile_cipher_init(void);
  * @return the name of the current cipher backend.
  * @since 1.14.0
  */
-EAPI const char *emile_cipher_module_get(void);
+EAPI Emile_Cipher_Backend emile_cipher_module_get(void);
 
 /**
  * Cipher a buffer with a defined algorithm and key.
index b8712fc..cb3b12b 100644 (file)
@@ -35,6 +35,20 @@ emile_cipher_init(void)
    return EINA_TRUE;
 }
 
+EAPI Emile_Cipher_Backend
+emile_cipher_module_get(void)
+{
+#ifdef HAVE_GNUTLS
+   return EMILE_GNUTLS;
+#else
+#ifdef HAVE_OPENSSL
+   return EMILE_OPENSSL;
+#else
+   return EMILE_NONE;
+#endif
+#endif
+}
+
 EAPI int
 emile_init(void)
 {