Added a get_name() function to plugin_t, create_plugin_enumerator enumerates over plugin_t

This commit is contained in:
Martin Willi
2011-04-15 10:07:12 +02:00
parent 6e2791715b
commit 787b5884aa
107 changed files with 828 additions and 245 deletions
@@ -18,8 +18,6 @@
#include <library.h>
#include "random_rng.h"
static const char *plugin_name = "random";
typedef struct private_random_plugin_t private_random_plugin_t;
/**
@@ -33,6 +31,12 @@ struct private_random_plugin_t {
random_plugin_t public;
};
METHOD(plugin_t, get_name, char*,
private_random_plugin_t *this)
{
return "random";
}
METHOD(plugin_t, destroy, void,
private_random_plugin_t *this)
{
@@ -51,14 +55,15 @@ plugin_t *random_plugin_create()
INIT(this,
.public = {
.plugin = {
.get_name = _get_name,
.destroy = _destroy,
},
},
);
lib->crypto->add_rng(lib->crypto, RNG_STRONG, plugin_name,
lib->crypto->add_rng(lib->crypto, RNG_STRONG, get_name(this),
(rng_constructor_t)random_rng_create);
lib->crypto->add_rng(lib->crypto, RNG_TRUE, plugin_name,
lib->crypto->add_rng(lib->crypto, RNG_TRUE, get_name(this),
(rng_constructor_t)random_rng_create);
return &this->public.plugin;