Skip to content
Snippets Groups Projects
Commit c130e11a authored by Emmanuel Lepage Vallee's avatar Emmanuel Lepage Vallee
Browse files

call: Pre-format the URI for consistency

Refs #74054

Change-Id: I9789611b4e470a74c4bcf0ff6fae5adac0c49604
parent 03d26d6d
No related branches found
No related tags found
No related merge requests found
...@@ -366,7 +366,7 @@ Call::~Call() ...@@ -366,7 +366,7 @@ Call::~Call()
Call* CallPrivate::buildExistingCall(const QString& callId) Call* CallPrivate::buildExistingCall(const QString& callId)
{ {
CallManagerInterface& callManager = DBus::CallManager::instance(); CallManagerInterface& callManager = DBus::CallManager::instance();
MapStringString details = callManager.getCallDetails(callId); MapStringString details = getCallDetailsCommon(callId);
//Too noisy //Too noisy
//qDebug() << "Constructing existing call with details : " << details; //qDebug() << "Constructing existing call with details : " << details;
...@@ -424,11 +424,41 @@ Call* CallPrivate::buildDialingCall(const QString & peerName, Account* account) ...@@ -424,11 +424,41 @@ Call* CallPrivate::buildDialingCall(const QString & peerName, Account* account)
return call; return call;
} }
MapStringString CallPrivate::getCallDetailsCommon(const QString& callId)
{
CallManagerInterface& callManager = DBus::CallManager::instance();
MapStringString details = callManager.getCallDetails(callId);
const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ];
if (account.isEmpty())
return details;
Account* acc = AccountModel::instance()->getById(account.toLatin1());
//Only keep the useful part of the URI
if (acc && acc->protocol() == Account::Protocol::RING)
details[DetailsMapFields::PEER_NUMBER] = URI(details[DetailsMapFields::PEER_NUMBER]).format(
URI::Section::SCHEME |
URI::Section::USER_INFO
);
else
details[DetailsMapFields::PEER_NUMBER] = URI(details[DetailsMapFields::PEER_NUMBER]).format(
URI::Section::SCHEME |
URI::Section::USER_INFO |
URI::Section::HOSTNAME
);
return details;
}
///Build a call from a dbus event ///Build a call from a dbus event
Call* CallPrivate::buildIncomingCall(const QString& callId) Call* CallPrivate::buildIncomingCall(const QString& callId)
{ {
CallManagerInterface& callManager = DBus::CallManager::instance(); CallManagerInterface& callManager = DBus::CallManager::instance();
MapStringString details = callManager.getCallDetails(callId); MapStringString details = getCallDetailsCommon(callId);
const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ]; const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ];
const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ]; const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ];
...@@ -460,8 +490,7 @@ Call* CallPrivate::buildIncomingCall(const QString& callId) ...@@ -460,8 +490,7 @@ Call* CallPrivate::buildIncomingCall(const QString& callId)
///Build a ringing call (from dbus) ///Build a ringing call (from dbus)
Call* CallPrivate::buildRingingCall(const QString & callId) Call* CallPrivate::buildRingingCall(const QString & callId)
{ {
CallManagerInterface& callManager = DBus::CallManager::instance(); MapStringString details = getCallDetailsCommon(callId);
MapStringString details = callManager.getCallDetails(callId);
const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ]; const QString from = details[ CallPrivate::DetailsMapFields::PEER_NUMBER ];
const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ]; const QString account = details[ CallPrivate::DetailsMapFields::ACCOUNT_ID ];
...@@ -1169,8 +1198,7 @@ Call::State CallPrivate::stateChanged(const QString& newStateName) ...@@ -1169,8 +1198,7 @@ Call::State CallPrivate::stateChanged(const QString& newStateName)
return m_CurrentState; return m_CurrentState;
} }
CallManagerInterface & callManager = DBus::CallManager::instance(); MapStringString details = getCallDetailsCommon(m_DringId);
MapStringString details = callManager.getCallDetails(m_DringId);
if (details[CallPrivate::DetailsMapFields::PEER_NAME] != m_PeerName) if (details[CallPrivate::DetailsMapFields::PEER_NAME] != m_PeerName)
m_PeerName = details[CallPrivate::DetailsMapFields::PEER_NAME]; m_PeerName = details[CallPrivate::DetailsMapFields::PEER_NAME];
......
...@@ -241,6 +241,7 @@ public: ...@@ -241,6 +241,7 @@ public:
void registerRenderer(Video::Renderer* renderer); void registerRenderer(Video::Renderer* renderer);
void removeRenderer(Video::Renderer* renderer); void removeRenderer(Video::Renderer* renderer);
void setRecordingPath(const QString& path); void setRecordingPath(const QString& path);
static MapStringString getCallDetailsCommon(const QString& callId);
template<typename T> template<typename T>
T* mediaFactory(Media::Media::Direction dir); T* mediaFactory(Media::Media::Direction dir);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment