Migrated attr_plugin_t to INIT/METHOD macros

This commit is contained in:
Andreas Steffen
2010-11-25 22:52:32 +01:00
parent bd801f1b97
commit a76ad38365
+10 -7
View File
@@ -36,10 +36,8 @@ struct private_attr_plugin_t {
attr_provider_t *provider;
};
/**
* Implementation of plugin_t.destroy
*/
static void destroy(private_attr_plugin_t *this)
METHOD(plugin_t, destroy, void,
private_attr_plugin_t *this)
{
hydra->attributes->remove_provider(hydra->attributes, &this->provider->provider);
this->provider->destroy(this->provider);
@@ -53,9 +51,14 @@ plugin_t *attr_plugin_create()
{
private_attr_plugin_t *this = malloc_thing(private_attr_plugin_t);
this->public.plugin.destroy = (void(*)(plugin_t*))destroy;
this->provider = attr_provider_create();
INIT(this,
.public = {
.plugin = {
.destroy = _destroy,
},
},
.provider = attr_provider_create()
);
hydra->attributes->add_provider(hydra->attributes, &this->provider->provider);
return &this->public.plugin;