Skip to content
Snippets Groups Projects
Select Git revision
  • 8d46acedf1df6b6d81a23fbf195c56b470bab616
  • master default protected
  • nightly/20250722.0
  • beta/202507211539
  • stable/20250718.0
  • nightly/20250718.0
  • nightly/20250714.0
  • beta/202507141552
  • beta/202506161038
  • stable/20250613.0
  • nightly/20250613.0
  • beta/202506101658
  • stable/20250610.0
  • nightly/20250610.0
  • beta/202506091027
  • beta/202506061543
  • nightly/20250605.0
  • beta/202506051039
  • beta/202506051002
  • beta/202506041611
  • beta/202506041335
  • beta/202505231812
22 results

pluginmodel.cpp

Blame
  • 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