Migrated ldap plugin to INIT/METHOD macros
authorAndreas Steffen <andreas.steffen@strongswan.org>
Sat, 4 Dec 2010 19:15:59 +0000 (20:15 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Sat, 4 Dec 2010 19:15:59 +0000 (20:15 +0100)
src/libstrongswan/plugins/ldap/ldap_fetcher.c
src/libstrongswan/plugins/ldap/ldap_plugin.c

index 59e655c..e6c5922 100644 (file)
@@ -100,8 +100,8 @@ static bool parse(LDAP *ldap, LDAPMessage *result, chunk_t *response)
 }
 
 
-static status_t fetch(private_ldap_fetcher_t *this, char *url,
-                                         chunk_t *result, va_list args)
+METHOD(fetcher_t, fetch, status_t,
+       private_ldap_fetcher_t *this, char *url, chunk_t *result)
 {
        LDAP *ldap;
        LDAPURLDesc *lurl;
@@ -166,10 +166,8 @@ static status_t fetch(private_ldap_fetcher_t *this, char *url,
 }
 
 
-/**
- * Implementation of fetcher_t.set_option.
- */
-static bool set_option(private_ldap_fetcher_t *this, fetcher_option_t option, ...)
+METHOD(fetcher_t, set_option, bool,
+       private_ldap_fetcher_t *this, fetcher_option_t option, ...)
 {
        va_list args;
 
@@ -186,10 +184,8 @@ static bool set_option(private_ldap_fetcher_t *this, fetcher_option_t option, ..
        }
 }
 
-/**
- * Implements ldap_fetcher_t.destroy
- */
-static void destroy(private_ldap_fetcher_t *this)
+METHOD(fetcher_t, destroy, void,
+       private_ldap_fetcher_t *this)
 {
        free(this);
 }
@@ -199,13 +195,18 @@ static void destroy(private_ldap_fetcher_t *this)
  */
 ldap_fetcher_t *ldap_fetcher_create()
 {
-       private_ldap_fetcher_t *this = malloc_thing(private_ldap_fetcher_t);
-
-       this->public.interface.fetch = (status_t(*)(fetcher_t*,char*,chunk_t*))fetch;
-       this->public.interface.set_option = (bool(*)(fetcher_t*, fetcher_option_t option, ...))set_option;
-       this->public.interface.destroy = (void (*)(fetcher_t*))destroy;
-
-       this->timeout = DEFAULT_TIMEOUT;
+       private_ldap_fetcher_t *this;
+
+       INIT(this,
+               .public = {
+                       .interface = {
+                               .fetch = _fetch,
+                               .set_option = _set_option,
+                               .destroy = _destroy,
+                       },
+               },
+               .timeout = DEFAULT_TIMEOUT,
+       );
 
        return &this->public;
 }
index 372ac9f..3682ddd 100644 (file)
@@ -31,10 +31,8 @@ struct private_ldap_plugin_t {
        ldap_plugin_t public;
 };
 
-/**
- * Implementation of ldap_plugin_t.destroy
- */
-static void destroy(private_ldap_plugin_t *this)
+METHOD(plugin_t, destroy, void,
+       private_ldap_plugin_t *this)
 {
        lib->fetcher->remove_fetcher(lib->fetcher,
                                                                 (fetcher_constructor_t)ldap_fetcher_create);
@@ -46,9 +44,15 @@ static void destroy(private_ldap_plugin_t *this)
  */
 plugin_t *ldap_plugin_create()
 {
-       private_ldap_plugin_t *this = malloc_thing(private_ldap_plugin_t);
+       private_ldap_plugin_t *this;
 
-       this->public.plugin.destroy = (void(*)(plugin_t*))destroy;
+       INIT(this,
+               .public = {
+                       .plugin = {
+                               .destroy = _destroy,
+                       },
+               },
+       );
 
        lib->fetcher->add_fetcher(lib->fetcher,
                                                (fetcher_constructor_t)ldap_fetcher_create, "ldap://");