This repository has been archived on 2023-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
plugin/src/iplugin.cpp

39 lines
926 B
C++

#include "iplugin.h"
using namespace RTPTechGroup::Plugin;
IPlugin::IPlugin(const QString& depInterfaces)
{
PluginManager *pluginManager = PluginManager::instance();
m_depModulList = depInterfaces.split(" ");
for (const QString &depPlugin : depModulList()) {
if (!depPlugin.isEmpty())
pluginManager->nextLoadPlugins(depPlugin);
}
setSettings(pluginManager->settings());
}
IPlugin::~IPlugin()
{
// NOTE: Возможно надо сделать на цикле for
for (IPlugin *plug : PluginManager::instance()->dependentPlugins(this)) {
if (!PluginManager::instance()->dependentPlugins(this).isEmpty())
if (plug)
delete plug;
}
}
void IPlugin::setSettings(QSettings *s){
m_settings = s;
}
QSettings *IPlugin::settings()
{
return m_settings;
}
const QStringList &IPlugin::depModulList() const
{
return m_depModulList;
}