Select Git revision
pluginmodel.cpp
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
pluginmodel.cpp 6.94 KiB
/**
* Copyright (C) 2020-2023 Savoir-faire Linux Inc.
* Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "api/pluginmodel.h"
// Std
#include <algorithm> // std::sort
#include <chrono>
#include <csignal>
#include <iomanip> // for std::put_time
#include <fstream>
#include <mutex>
#include <thread>
#include <string>
#include <sstream>
// Qt
#include <QtCore/QStandardPaths>
#include <QtCore/QDir>
#include <QUrl>
// Ring daemon
// LRC
#include "dbus/pluginmanager.h"
namespace lrc {
using namespace api;
PluginModel::PluginModel()
: QObject()
{}
PluginModel::~PluginModel() {}
void
PluginModel::setPluginsEnabled(bool enable)
{
PluginManager::instance().setPluginsEnabled(enable);
if (!enable)
Q_EMIT chatHandlerStatusUpdated(false);
else
Q_EMIT chatHandlerStatusUpdated(getChatHandlers().size() > 0);
Q_EMIT modelUpdated();
}
bool
PluginModel::getPluginsEnabled() const
{
return PluginManager::instance().getPluginsEnabled();
}
VectorString
PluginModel::getInstalledPlugins() const