mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-30 00:00:11 +01:00
plugin: do not store plugin name/desc in member variables
This commit is contained in:
parent
e2ed94d321
commit
d6ee0bc574
2 changed files with 15 additions and 22 deletions
|
@ -75,7 +75,7 @@ public:
|
||||||
{
|
{
|
||||||
for (Plugin *p : *plugins) {
|
for (Plugin *p : *plugins) {
|
||||||
T *t = dynamic_cast<T *>(p);
|
T *t = dynamic_cast<T *>(p);
|
||||||
if (!t || t->name != name)
|
if (!t || t->getName() != name)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
return t;
|
return t;
|
||||||
|
@ -118,7 +118,7 @@ class Plugin {
|
||||||
friend plugin::Registry;
|
friend plugin::Registry;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Plugin(const std::string& name, const std::string &desc);
|
Plugin();
|
||||||
virtual ~Plugin();
|
virtual ~Plugin();
|
||||||
|
|
||||||
// copying a plugin doesn't make sense, so explicitly deny it
|
// copying a plugin doesn't make sense, so explicitly deny it
|
||||||
|
@ -127,18 +127,21 @@ public:
|
||||||
|
|
||||||
virtual void dump();
|
virtual void dump();
|
||||||
|
|
||||||
const std::string & getName() const;
|
/// Get plugin name
|
||||||
const std::string & getDescription() const;
|
virtual std::string
|
||||||
|
getName() const = 0;
|
||||||
|
|
||||||
|
// Get plugin description
|
||||||
|
virtual std::string
|
||||||
|
getDescription() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::string name;
|
|
||||||
std::string description;
|
|
||||||
std::string path;
|
std::string path;
|
||||||
|
|
||||||
Logger
|
Logger
|
||||||
getLogger()
|
getLogger()
|
||||||
{
|
{
|
||||||
return logging.get("plugin:" + name);
|
return logging.get("plugin:" + getName());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -146,10 +149,12 @@ template<typename T = Plugin>
|
||||||
void
|
void
|
||||||
Registry::dumpList()
|
Registry::dumpList()
|
||||||
{
|
{
|
||||||
|
getLogger()->info("Available plugins:");
|
||||||
|
|
||||||
for (Plugin *p : *plugins) {
|
for (Plugin *p : *plugins) {
|
||||||
T *t = dynamic_cast<T *>(p);
|
T *t = dynamic_cast<T *>(p);
|
||||||
if (t)
|
if (t)
|
||||||
std::cout << " - " << p->getName() << ": " << p->getDescription() << std::endl;
|
getLogger()->info(" - {}: {}", p->getName(), p->getDescription());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,9 +32,7 @@ using namespace villas::plugin;
|
||||||
|
|
||||||
List<> * Registry::plugins;
|
List<> * Registry::plugins;
|
||||||
|
|
||||||
Plugin::Plugin(const std::string& name, const std::string& desc) :
|
Plugin::Plugin()
|
||||||
name(name),
|
|
||||||
description(desc)
|
|
||||||
{
|
{
|
||||||
Registry::add(this);
|
Registry::add(this);
|
||||||
}
|
}
|
||||||
|
@ -97,15 +95,5 @@ void
|
||||||
Plugin::dump()
|
Plugin::dump()
|
||||||
{
|
{
|
||||||
Logger logger = Registry::getLogger();
|
Logger logger = Registry::getLogger();
|
||||||
logger->info("Name: '{}' Description: '{}'", name, description);
|
logger->info("Name: '{}' Description: '{}'", getName(), getDescription());
|
||||||
}
|
|
||||||
|
|
||||||
const std::string & Plugin::getName() const
|
|
||||||
{
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::string & Plugin::getDescription() const
|
|
||||||
{
|
|
||||||
return description;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue