Skip to content
Snippets Groups Projects
Unverified Commit 63c2ee4b authored by Aline Gondim Santos's avatar Aline Gondim Santos Committed by Sébastien Blin
Browse files

plugins: add callId to API

Change-Id: I28f94cfbd9351f42597e88de9db4513acfecb18e
parent 2d3b1f01
No related branches found
No related tags found
No related merge requests found
......@@ -123,19 +123,21 @@ public:
/**
* Toggle media handler
*/
Q_INVOKABLE void toggleCallMediaHandler(const QString& id);
Q_INVOKABLE void toggleCallMediaHandler(const QString& mediaHandlerId,
const QString& callId,
bool toggle);
/**
* Verify if there is an active plugin media handler
* @return Map with name and status
*/
MapStringString getCallMediaHandlerStatus();
MapStringVectorString getCallMediaHandlerStatus(const QString& callId);
/**
* Get details of installed plugins media handlers
* @return Media Handler Details
*/
plugin::MediaHandlerDetails getCallMediaHandlerDetails(const QString& id);
plugin::MediaHandlerDetails getCallMediaHandlerDetails(const QString& mediaHandlerId);
/**
* Get preferences map of installed plugin
......
......@@ -129,32 +129,30 @@ PluginModel::listCallMediaHandlers() const
}
void
PluginModel::toggleCallMediaHandler(const QString& id)
PluginModel::toggleCallMediaHandler(const QString& mediaHandlerId,
const QString& callId,
bool toggle)
{
MapStringString toggleInfo = PluginManager::instance().getCallMediaHandlerStatus();
if (toggleInfo["name"] == id) {
PluginManager::instance().toggleCallMediaHandler(id, false);
} else {
PluginManager::instance().toggleCallMediaHandler(id, true);
}
PluginManager::instance().toggleCallMediaHandler(mediaHandlerId, callId, toggle);
}
MapStringString
PluginModel::getCallMediaHandlerStatus()
MapStringVectorString
PluginModel::getCallMediaHandlerStatus(const QString& callId)
{
return PluginManager::instance().getCallMediaHandlerStatus();
return PluginManager::instance().getCallMediaHandlerStatus(callId);
}
plugin::MediaHandlerDetails
PluginModel::getCallMediaHandlerDetails(const QString& id)
PluginModel::getCallMediaHandlerDetails(const QString& mediaHandlerId)
{
if (id.isEmpty()) {
if (mediaHandlerId.isEmpty()) {
return plugin::MediaHandlerDetails();
}
MapStringString mediaHandlerDetails = PluginManager::instance().getCallMediaHandlerDetails(id);
MapStringString mediaHandlerDetails = PluginManager::instance().getCallMediaHandlerDetails(
mediaHandlerId);
plugin::MediaHandlerDetails result;
if (!mediaHandlerDetails.empty()) {
result.id = id;
result.id = mediaHandlerId;
result.iconPath = mediaHandlerDetails["iconPath"];
result.name = mediaHandlerDetails["name"];
result.pluginId = mediaHandlerDetails["pluginId"];
......
......@@ -47,8 +47,8 @@ inline MapStringString
convertMap(const std::map<std::string, std::string>& m)
{
MapStringString temp;
for (const auto& x : m) {
temp[QString(x.first.c_str())] = QString(x.second.c_str());
for (const auto& [key, value] : m) {
temp[QString(key.c_str())] = QString(value.c_str());
}
return temp;
}
......@@ -57,8 +57,8 @@ inline std::map<std::string, std::string>
convertMap(const MapStringString& m)
{
std::map<std::string, std::string> temp;
for (const auto& x : m.toStdMap()) {
temp[x.first.toStdString()] = x.second.toStdString();
for (const auto& [key, value] : m.toStdMap()) {
temp[key.toStdString()] = value.toStdString();
}
return temp;
}
......@@ -93,6 +93,36 @@ convertVectorString(const std::vector<std::string>& v)
return temp;
}
inline std::vector<std::string>
convertVectorString(const VectorString& v)
{
std::vector<std::string> temp;
for (const auto& x : v) {
temp.emplace_back(x.toStdString());
}
return temp;
}
inline std::map<std::string, std::vector<std::string>>
convertMap(const MapStringVectorString& m)
{
std::map<std::string, std::vector<std::string>> temp;
for (const auto& [key, value] : m.toStdMap()) {
temp[key.toStdString()] = convertVectorString(value);
}
return temp;
}
inline MapStringVectorString
convertMap(const std::map<std::string, std::vector<std::string>>& m)
{
MapStringVectorString temp;
for (const auto& [key, value] : m) {
temp[QString(key.c_str())] = convertVectorString(value);
}
return temp;
}
inline VectorULongLong
convertVectorULongLong(const std::vector<uint64_t>& v)
{
......@@ -117,8 +147,8 @@ inline MapStringInt
convertStringInt(const std::map<std::string, int>& m)
{
MapStringInt temp;
for (const auto& x : m) {
temp[QString(x.first.c_str())] = x.second;
for (const auto& [key, value] : m) {
temp[QString(key.c_str())] = value;
}
return temp;
}
......
......@@ -68,21 +68,23 @@ PluginManagerInterface::listCallMediaHandlers()
}
void
PluginManagerInterface::toggleCallMediaHandler(const QString& id, bool toggle)
PluginManagerInterface::toggleCallMediaHandler(const QString& mediaHandlerId,
const QString& callId,
bool toggle)
{
DRing::toggleCallMediaHandler(id.toStdString(), toggle);
DRing::toggleCallMediaHandler(mediaHandlerId.toStdString(), callId.toStdString(), toggle);
}
MapStringString
PluginManagerInterface::getCallMediaHandlerStatus()
MapStringVectorString
PluginManagerInterface::getCallMediaHandlerStatus(const QString& callId)
{
return convertMap(DRing::getCallMediaHandlerStatus());
return convertMap(DRing::getCallMediaHandlerStatus(callId.toStdString()));
}
MapStringString
PluginManagerInterface::getCallMediaHandlerDetails(const QString& id)
PluginManagerInterface::getCallMediaHandlerDetails(const QString& mediaHandlerId)
{
return convertMap(DRing::getCallMediaHandlerDetails(id.toStdString()));
return convertMap(DRing::getCallMediaHandlerDetails(mediaHandlerId.toStdString()));
}
void
......
......@@ -68,17 +68,19 @@ PluginManagerInterface::listCallMediaHandlers()
}
void
PluginManagerInterface::toggleCallMediaHandler(const QString& id, bool toggle)
PluginManagerInterface::toggleCallMediaHandler(const QString& mediaHandlerId,
const QString& callId,
bool toggle)
{}
MapStringString
PluginManagerInterface::getCallMediaHandlerStatus()
MapStringVectorString
PluginManagerInterface::getCallMediaHandlerStatus(const QString& callId)
{
return {};
}
MapStringString
PluginManagerInterface::getCallMediaHandlerDetails(const QString& id)
PluginManagerInterface::getCallMediaHandlerDetails(const QString& mediaHandlerId)
{
return {};
}
......
......@@ -60,11 +60,11 @@ public Q_SLOTS: // METHODS
QStringList listCallMediaHandlers();
void toggleCallMediaHandler(const QString& id, bool toggle);
void toggleCallMediaHandler(const QString& mediaHandlerId, const QString& callId, bool toggle);
MapStringString getCallMediaHandlerStatus();
MapStringVectorString getCallMediaHandlerStatus(const QString& callId);
MapStringString getCallMediaHandlerDetails(const QString& id);
MapStringString getCallMediaHandlerDetails(const QString& mediaHandlerId);
void setPluginsEnabled(bool enable);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment