1#include <vanetza/common/factory.hpp>
2#include <vanetza/security/backend.hpp>
14 BackendRegistrar(
const std::string& name)
16 auto f = []() {
return std::unique_ptr<vanetza::security::Backend> {
new T() }; };
17 bool success = backend_factory.add(name, f) && backend_factory.configure_default(name);
25#define VANETZA_REGISTER_CRYPTO_BACKEND(clazz)
27 using namespace vanetza::security;
28 static const BackendRegistrar<clazz> clazz##Factory(clazz::backend_name);
31#include <vanetza/security/backend_null.hpp>
34#ifdef VANETZA_WITH_CRYPTOPP
35# include <vanetza/security/backend_cryptopp.hpp>
39#ifdef VANETZA_WITH_OPENSSL
40# include <vanetza/security/backend_openssl.hpp>
51 return backend_factory;
54std::unique_ptr<Backend> create_backend(
const std::string& name,
const Factory<
Backend>& factory)
56 if (name ==
"default") {
57 return factory.create();
59 return factory.create(name);
#define VANETZA_REGISTER_CRYPTO_BACKEND(clazz)