Migrated sql_plugin_t to INIT/METHOD macros
authorAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 30 Nov 2010 22:31:24 +0000 (23:31 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 30 Nov 2010 22:31:24 +0000 (23:31 +0100)
src/libcharon/plugins/sql/sql_plugin.c

index 7b0a198..ad1eb91 100644 (file)
@@ -53,10 +53,8 @@ struct private_sql_plugin_t {
        sql_logger_t *logger;
 };
 
-/**
- * Implementation of plugin_t.destroy
- */
-static void destroy(private_sql_plugin_t *this)
+METHOD(plugin_t, destroy, void,
+       private_sql_plugin_t *this)
 {
        charon->backends->remove_backend(charon->backends, &this->config->backend);
        lib->credmgr->remove_set(lib->credmgr, &this->cred->set);
@@ -83,11 +81,15 @@ plugin_t *sql_plugin_create()
                return NULL;
        }
 
-       this = malloc_thing(private_sql_plugin_t);
-
-       this->public.plugin.destroy = (void(*)(plugin_t*))destroy;
+       INIT(this,
+               .public = {
+                       .plugin = {
+                               .destroy = _destroy,
+                       },
+               },
+               .db = lib->db->create(lib->db, uri),
+       );
 
-       this->db = lib->db->create(lib->db, uri);
        if (!this->db)
        {
                DBG1(DBG_CFG, "sql plugin failed to connect to database");