Select Git revision
instance_interface_singleton.cpp
-
Emmanuel Lepage authored
Merge latest (0.9.13) KDE code. This version is not yet ready for git master, but better than the previous one
Emmanuel Lepage authoredMerge latest (0.9.13) KDE code. This version is not yet ready for git master, but better than the previous one
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
plugin_manager_interface.cpp 4.24 KiB
/*
* Copyright (C) 2020 Savoir-faire Linux Inc.
*
* Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "plugin_manager_interface.h"
#include "manager.h"
#include "plugin/jamipluginmanager.h"
#include "logger.h"
#include <iostream>
namespace DRing {
bool
loadPlugin(const std::string& path)
{
bool status = jami::Manager::instance().getJamiPluginManager().loadPlugin(path);
jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(path, status);
jami::Manager::instance().saveConfig();
return status;
}
bool
unloadPlugin(const std::string& path)
{
bool status = jami::Manager::instance().getJamiPluginManager().unloadPlugin(path);
jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(path, false);
jami::Manager::instance().saveConfig();
return status;
}
void
togglePlugin(const std::string& path, bool toggle)
{
jami::Manager::instance().getJamiPluginManager().togglePlugin(path, toggle);
}
std::map<std::string, std::string>
getPluginDetails(const std::string& path)
{
return jami::Manager::instance().getJamiPluginManager().getPluginDetails(path);
}
std::vector<std::map<std::string, std::string>>
getPluginPreferences(const std::string& path)
{
return jami::Manager::instance().getJamiPluginManager().getPluginPreferences(path);
}
bool
setPluginPreference(const std::string& path, const std::string& key, const std::string& value)
{
return jami::Manager::instance().getJamiPluginManager().setPluginPreference(path, key, value);
}
std::map<std::string, std::string>
getPluginPreferencesValues(const std::string& path)
{
return jami::Manager::instance().getJamiPluginManager().getPluginPreferencesValuesMap(path);
}
bool
resetPluginPreferencesValues(const std::string& path)
{
return jami::Manager::instance().getJamiPluginManager().resetPluginPreferencesValuesMap(path);
}
std::vector<std::string>
listAvailablePlugins()
{
return jami::Manager::instance().getJamiPluginManager().listAvailablePlugins();
}
std::vector<std::string>
listLoadedPlugins()
{
return jami::Manager::instance().getJamiPluginManager().listLoadedPlugins();
}
int
installPlugin(const std::string& jplPath, bool force)
{
return jami::Manager::instance().getJamiPluginManager().installPlugin(jplPath, force);
}
int
uninstallPlugin(const std::string& pluginRootPath)
{
return jami::Manager::instance().getJamiPluginManager().uninstallPlugin(pluginRootPath);
}
std::vector<std::string>
listCallMediaHandlers()
{
return jami::Manager::instance()
.getJamiPluginManager()
.getCallServicesManager()
.listCallMediaHandlers();
}
void
toggleCallMediaHandler(const std::string& id, bool toggle)
{
return jami::Manager::instance()
.getJamiPluginManager()
.getCallServicesManager()
.toggleCallMediaHandler(id, toggle);
}
std::map<std::string, std::string>
getCallMediaHandlerDetails(const std::string& id)
{
return jami::Manager::instance()
.getJamiPluginManager()
.getCallServicesManager()
.getCallMediaHandlerDetails(id);
}
bool
getPluginsEnabled()
{
return jami::Manager::instance().pluginPreferences.getPluginsEnabled();
}
void
setPluginsEnabled(bool state)
{
jami::Manager::instance().pluginPreferences.setPluginsEnabled(state);
jami::Manager::instance().saveConfig();
}
std::map<std::string, std::string>
getCallMediaHandlerStatus()
{
return jami::Manager::instance()
.getJamiPluginManager()
.getCallServicesManager()
.getCallMediaHandlerStatus();
}
} // namespace DRing