Skip to content
Snippets Groups Projects
Commit 1b39b4e9 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

Revert "plugins: don't activate if plugins are disabled"

This reverts commit 17f9bda8.

Reason for revert: major design issue. When plugin are disabled, every plugin will be disabled, then every plugin are unloaded, so no handler can remain after disabling plugin.

Change-Id: Icd393d179b45866e46dd4cc3d902174699ac2d98
parent f05ebe11
Branches
No related tags found
No related merge requests found
...@@ -186,10 +186,6 @@ void ...@@ -186,10 +186,6 @@ void
setPluginsEnabled(bool state) setPluginsEnabled(bool state)
{ {
jami::Manager::instance().pluginPreferences.setPluginsEnabled(state); jami::Manager::instance().pluginPreferences.setPluginsEnabled(state);
jami::Manager::instance()
.getJamiPluginManager()
.getCallServicesManager()
.pauseRestartMediaHandlers(state);
jami::Manager::instance().saveConfig(); jami::Manager::instance().saveConfig();
} }
} // namespace DRing } // namespace DRing
...@@ -83,19 +83,6 @@ CallServicesManager::createAVSubject(const StreamData& data, AVSubjectSPtr subje ...@@ -83,19 +83,6 @@ CallServicesManager::createAVSubject(const StreamData& data, AVSubjectSPtr subje
} }
} }
void
CallServicesManager::pauseRestartMediaHandlers(bool isPluginEnabled)
{
auto calls = Manager::instance().callFactory.getAllCalls();
for (auto& call : calls) {
if (call->getState() == Call::CallState::ACTIVE) {
auto callId = call->getCallId();
for (const auto& toggledMediaHandlerPair : mediaHandlerToggled_[callId])
toggleCallMediaHandler(toggledMediaHandlerPair.first, callId, isPluginEnabled);
}
}
}
void void
CallServicesManager::clearAVSubject(const std::string& callId) CallServicesManager::clearAVSubject(const std::string& callId)
{ {
...@@ -271,7 +258,6 @@ CallServicesManager::toggleCallMediaHandler(const uintptr_t mediaHandlerId, ...@@ -271,7 +258,6 @@ CallServicesManager::toggleCallMediaHandler(const uintptr_t mediaHandlerId,
{ {
auto& handlers = mediaHandlerToggled_[callId]; auto& handlers = mediaHandlerToggled_[callId];
bool applyRestart = false; bool applyRestart = false;
auto isPluginEnabled = jami::Manager::instance().pluginPreferences.getPluginsEnabled();
for (auto subject : callAVsubjects_[callId]) { for (auto subject : callAVsubjects_[callId]) {
auto handlerIt = std::find_if(callMediaHandlers_.begin(), auto handlerIt = std::find_if(callMediaHandlers_.begin(),
...@@ -282,13 +268,11 @@ CallServicesManager::toggleCallMediaHandler(const uintptr_t mediaHandlerId, ...@@ -282,13 +268,11 @@ CallServicesManager::toggleCallMediaHandler(const uintptr_t mediaHandlerId,
if (handlerIt != callMediaHandlers_.end()) { if (handlerIt != callMediaHandlers_.end()) {
if (toggle) { if (toggle) {
if (isPluginEnabled)
notifyAVSubject((*handlerIt), subject.first, subject.second); notifyAVSubject((*handlerIt), subject.first, subject.second);
if (isAttached((*handlerIt)) || !isPluginEnabled) if (isAttached((*handlerIt)))
handlers[mediaHandlerId] = true; handlers[mediaHandlerId] = true;
} else { } else {
(*handlerIt)->detach(); (*handlerIt)->detach();
if (isPluginEnabled)
handlers[mediaHandlerId] = false; handlers[mediaHandlerId] = false;
} }
if (subject.first.type == StreamType::video && isVideoType((*handlerIt))) if (subject.first.type == StreamType::video && isVideoType((*handlerIt)))
......
...@@ -127,13 +127,6 @@ public: ...@@ -127,13 +127,6 @@ public:
*/ */
void clearCallHandlerMaps(const std::string& callId); void clearCallHandlerMaps(const std::string& callId);
/**
* @brief used to stop/restart plugins when jami preference is changed mid call.
*
* @param isPluginEnabled
*/
void pauseRestartMediaHandlers(bool isPluginEnabled);
private: private:
/** /**
* @brief Exposes MediaHandlers' life cycle managers services to the main API. * @brief Exposes MediaHandlers' life cycle managers services to the main API.
......
...@@ -112,7 +112,7 @@ ChatServicesManager::getChatHandlers() ...@@ -112,7 +112,7 @@ ChatServicesManager::getChatHandlers()
void void
ChatServicesManager::publishMessage(pluginMessagePtr& message) ChatServicesManager::publishMessage(pluginMessagePtr& message)
{ {
if (message->fromPlugin || !jami::Manager::instance().pluginPreferences.getPluginsEnabled()) if (message->fromPlugin)
return; return;
std::pair<std::string, std::string> mPair(message->accountId, message->peerId); std::pair<std::string, std::string> mPair(message->accountId, message->peerId);
auto& handlers = chatHandlerToggled_[mPair]; auto& handlers = chatHandlerToggled_[mPair];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment