From 454df2e6bfc6e2efd1f47fe18f656d7ce4e2db57 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandresavard@alexandresavard-desktop.(none)> Date: Mon, 8 Feb 2010 14:41:11 -0500 Subject: [PATCH] [#2588] Use loadAccountOrder in placeCallFirstAccount to load account list --- sflphone-common/src/dbus/callmanager-introspec.xml | 5 +++++ sflphone-common/src/dbus/callmanager.cpp | 9 +++++---- sflphone-common/src/managerimpl.h | 12 ++++++------ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sflphone-common/src/dbus/callmanager-introspec.xml b/sflphone-common/src/dbus/callmanager-introspec.xml index 724eddda89..83e5009c97 100644 --- a/sflphone-common/src/dbus/callmanager-introspec.xml +++ b/sflphone-common/src/dbus/callmanager-introspec.xml @@ -7,6 +7,11 @@ <arg type="s" name="callID" direction="in"/> <arg type="s" name="to" direction="in"/> </method> + + <method name="placeCallFirstAccount"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="to" direction="in"/> + </method> <method name="refuse"> <arg type="s" name="callID" direction="in"/> diff --git a/sflphone-common/src/dbus/callmanager.cpp b/sflphone-common/src/dbus/callmanager.cpp index fb41bec4c2..3468944497 100644 --- a/sflphone-common/src/dbus/callmanager.cpp +++ b/sflphone-common/src/dbus/callmanager.cpp @@ -51,18 +51,19 @@ void CallManager::placeCallFirstAccount (const std::string& callID, const std::string& to) { + if (to == "") { _warn("No number entered - Call stopped"); return; } - std::vector< std::string > accountIdList = Manager::instance().getAccountList(); - std::vector< std::string >::iterator iter = accountIdList.begin(); + std::vector< std::string > accountOrder = Manager::instance().loadAccountOrder(); + std::vector< std::string >::iterator iter = accountOrder.begin(); Account *account; - while(iter != accountIdList.end()) { + while(iter != accountOrder.end()) { account = Manager::instance().getAccount(*iter); - if(account->isEnabled()) { + if((*iter != IP2IP_PROFILE) && account->isEnabled()) { Manager::instance().outgoingCall (*iter, callID, to); return; } diff --git a/sflphone-common/src/managerimpl.h b/sflphone-common/src/managerimpl.h index 7aaa89a4a6..c2938844f8 100644 --- a/sflphone-common/src/managerimpl.h +++ b/sflphone-common/src/managerimpl.h @@ -424,6 +424,12 @@ class ManagerImpl { */ void setAccountsOrder (const std::string& order); + /** + * Load the accounts order set by the user from the sflphonedrc config file + * @return std::vector<std::string> A vector containing the account ID's + */ + std::vector<std::string> loadAccountOrder (); + /** * Retrieve details about a given account * @param accountID The account identifier @@ -1212,12 +1218,6 @@ class ManagerImpl { */ short loadAccountMap(); - /** - * Load the accounts order set by the user from the sflphonedrc config file - * @return std::vector<std::string> A vector containing the account ID's - */ - std::vector<std::string> loadAccountOrder (); - /** * Unload the account (delete them) -- GitLab