diff --git a/daemon/src/dbus/callmanager.cpp b/daemon/src/dbus/callmanager.cpp index 4c2a93a161d5582fceecc867b4d2fd4b8306999d..9c9d4dc46e30a2acb61eb3a028783df4c905dbad 100644 --- a/daemon/src/dbus/callmanager.cpp +++ b/daemon/src/dbus/callmanager.cpp @@ -40,10 +40,8 @@ #include "manager.h" -const char* CallManager::SERVER_PATH = "/org/sflphone/SFLphone/CallManager"; - CallManager::CallManager (DBus::Connection& connection) - : DBus::ObjectAdaptor (connection, SERVER_PATH) + : DBus::ObjectAdaptor (connection, "/org/sflphone/SFLphone/CallManager") { } @@ -64,81 +62,39 @@ void CallManager::placeCallFirstAccount (const std::string& callID, const std::string& to) { - if (to == "") { _warn ("CallManager: Warning: No number entered, call stopped"); return; } - std::vector< std::string > accountOrder = Manager::instance().loadAccountOrder(); - std::vector< std::string >::iterator iter; - - Account *account; - - _debug ("AccountOrder size: %d", accountOrder.size()); - - if (accountOrder.size() > 0) { - - iter = accountOrder.begin(); - - while (iter != accountOrder.end()) { - account = Manager::instance().getAccount (*iter); - - if ( (*iter != IP2IP_PROFILE) && account->isEnabled()) { - Manager::instance().outgoingCall (*iter, callID, to); - return; - } - - iter++; - } - } else { - _error ("AccountOrder is empty"); - // If accountOrder is empty fallback on accountList (which has no preference order) - std::vector< std::string > accountList = Manager::instance().getAccountList(); - iter = accountList.begin(); - - - _error ("AccountList size: %d", accountList.size()); - - if (accountList.size() > 0) { - while (iter != accountList.end()) { - _error ("iter"); - account = Manager::instance().getAccount (*iter); - - if ( (*iter != IP2IP_PROFILE) && account->isEnabled()) { - _error ("makecall"); - Manager::instance().outgoingCall (*iter, callID, to); - return; - } - - iter++; - } - - } - } - - _warn ("CallManager: Warning: No enabled account found, call stopped"); + std::vector< std::string > accountList = Manager::instance().loadAccountOrder(); + if (accountList.size() == 0) + accountList = Manager::instance().getAccountList(); + std::vector< std::string >::const_iterator iter; + for (iter = accountList.begin(); iter != accountList.end(); ++iter) { + if ((*iter != IP2IP_PROFILE) && Manager::instance().getAccount(*iter)->isEnabled()) { + Manager::instance().outgoingCall(*iter, callID, to); + return; + } + } } void CallManager::refuse (const std::string& callID) { - _debug ("CallManager: Refuse %s", callID.c_str()); Manager::instance().refuseCall (callID); } void CallManager::accept (const std::string& callID) { - _debug ("CallManager: Accept received"); Manager::instance().answerCall (callID); } void CallManager::hangUp (const std::string& callID) { - _debug ("CallManager: HangUp received %s", callID.c_str()); Manager::instance().hangupCall (callID); } @@ -146,45 +102,37 @@ CallManager::hangUp (const std::string& callID) void CallManager::hangUpConference (const std::string& confID) { - _debug ("CallManager::hangUpConference received %s", confID.c_str()); Manager::instance().hangupConference (confID); - } void CallManager::hold (const std::string& callID) { - _debug ("CallManager::hold received %s", callID.c_str()); Manager::instance().onHoldCall (callID); - } void CallManager::unhold (const std::string& callID) { - _debug ("CallManager::unhold received %s", callID.c_str()); Manager::instance().offHoldCall (callID); } void CallManager::transfer (const std::string& callID, const std::string& to) { - _debug ("CallManager::transfer received"); Manager::instance().transferCall (callID, to); } void CallManager::attendedTransfer (const std::string& transferID, const std::string& targetID) { - _debug("CallManager::attended transfer received"); Manager::instance().attendedTransfer(transferID, targetID); } void CallManager::setVolume (const std::string& device, const double& value) { - if (device == "speaker") { Manager::instance().setSpkrVolume ( (int) (value*100.0)); } else if (device == "mic") { @@ -197,12 +145,9 @@ CallManager::setVolume (const std::string& device, const double& value) double CallManager::getVolume (const std::string& device) { - if (device == "speaker") { - _debug ("Current speaker = %d", Manager::instance().getSpkrVolume()); return Manager::instance().getSpkrVolume() /100.0; } else if (device == "mic") { - _debug ("Current mic = %d", Manager::instance().getMicVolume()); return Manager::instance().getMicVolume() /100.0; } @@ -212,56 +157,48 @@ CallManager::getVolume (const std::string& device) void CallManager::joinParticipant (const std::string& sel_callID, const std::string& drag_callID) { - _debug ("CallManager: Join participant %s, %s", sel_callID.c_str(), drag_callID.c_str()); Manager::instance().joinParticipant (sel_callID, drag_callID); } void CallManager::createConfFromParticipantList(const std::vector< std::string >& participants) { - _debug("CallManager: Create conference from participant list"); Manager::instance().createConfFromParticipantList(participants); } void CallManager::addParticipant (const std::string& callID, const std::string& confID) { - _debug ("CallManager::addParticipant received %s, %s", callID.c_str(), confID.c_str()); Manager::instance().addParticipant (callID, confID); } void CallManager::addMainParticipant (const std::string& confID) { - _debug ("CallManager::addMainParticipant received %s", confID.c_str()); Manager::instance().addMainParticipant (confID); } void CallManager::detachParticipant (const std::string& callID) { - _debug ("CallManager::detachParticipant received %s", callID.c_str()); Manager::instance().detachParticipant (callID, ""); } void CallManager::joinConference (const std::string& sel_confID, const std::string& drag_confID) { - _debug ("CallManager::joinConference received %s, %s", sel_confID.c_str(), drag_confID.c_str()); Manager::instance().joinConference (sel_confID, drag_confID); } void CallManager::holdConference (const std::string& confID) { - _debug ("CallManager::holdConference received %s", confID.c_str()); Manager::instance().holdConference (confID); } void CallManager::unholdConference (const std::string& confID) { - _debug ("CallManager: Unhold Conference %s", confID.c_str()); Manager::instance().unHoldConference (confID); } @@ -280,7 +217,6 @@ CallManager::getConferenceList (void) std::vector< std::string > CallManager::getParticipantList (const std::string& confID) { - _debug ("CallManager: Get Participant list for conference %s", confID.c_str()); return Manager::instance().getParticipantList (confID); } @@ -383,7 +319,6 @@ sfl::AudioZrtpSession * CallManager::getAudioZrtpSession (const std::string& cal void CallManager::setSASVerified (const std::string& callID) { - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -392,13 +327,11 @@ CallManager::setSASVerified (const std::string& callID) return; // throw; } - } void CallManager::resetSASVerified (const std::string& callID) { - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -407,14 +340,11 @@ CallManager::resetSASVerified (const std::string& callID) return; // throw; } - } void CallManager::setConfirmGoClear (const std::string& callID) { - _debug ("CallManager::setConfirmGoClear received for account %s", callID.c_str()); - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -423,14 +353,11 @@ CallManager::setConfirmGoClear (const std::string& callID) return; // throw; } - } void CallManager::requestGoClear (const std::string& callID) { - _debug ("CallManager::requestGoClear received for account %s", callID.c_str()); - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -439,15 +366,11 @@ CallManager::requestGoClear (const std::string& callID) return; /// throw; } - } void CallManager::acceptEnrollment (const std::string& callID, const bool& accepted) { - - _debug ("CallManager::acceptEnrollment received for account %s", callID.c_str()); - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -456,15 +379,11 @@ CallManager::acceptEnrollment (const std::string& callID, const bool& accepted) return; // throw; } - } void CallManager::setPBXEnrollment (const std::string& callID, const bool& yesNo) { - - _debug ("CallManager::setPBXEnrollment received for account %s", callID.c_str()); - try { sfl::AudioZrtpSession * zSession; zSession = getAudioZrtpSession (callID); @@ -473,7 +392,6 @@ CallManager::setPBXEnrollment (const std::string& callID, const bool& yesNo) return; // throw; } - } void diff --git a/daemon/src/managerimpl.cpp b/daemon/src/managerimpl.cpp index cabde7fda16645b21f011778d8ab0c504d3c09eb..1dc95add13ec03671bf9df1739b637de5c068f93 100644 --- a/daemon/src/managerimpl.cpp +++ b/daemon/src/managerimpl.cpp @@ -187,12 +187,12 @@ bool ManagerImpl::outgoingCall (const std::string& account_id, const std::string& call_id, const std::string& to, const std::string& conf_id) { if (call_id.empty()) { - _debug ("Manager: New outgoing call abbort, missing callid"); + _debug ("Manager: New outgoing call abort, missing callid"); return false; } if (account_id.empty()) { - _debug ("Manager: New outgoing call abbort, missing account"); + _debug ("Manager: New outgoing call abort, missing account"); return false; } @@ -2497,35 +2497,25 @@ std::vector<std::string> ManagerImpl::getAccountList () const else _error ("Manager: could not find IP2IP profile in getAccount list"); - // If no order has been set, load the default one - // ie according to the creation date. - + // If no order has been set, load the default one ie according to the creation date. if (account_order.empty()) { - _debug ("Manager: account order is empty"); for (AccountMap::const_iterator iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) { - if (iter->second != NULL and iter->first != IP2IP_PROFILE and not iter->first.empty()) { - _debug ("PUSHING BACK %s", iter->first.c_str()); + if (iter->first == IP2IP_PROFILE || iter->first.empty()) + continue; + if (iter->second) v.push_back (iter->second->getAccountID()); - } - } - } - else { - // otherwise, load the custom one - // ie according to the saved order - _debug ("Manager: Load account list according to preferences"); - - for (vector<string>::const_iterator iter = account_order.begin(); iter != account_order.end(); ++iter) { - // This account has not been loaded, so we ignore it - AccountMap::const_iterator account_iter = _accountMap.find (*iter); - if (account_iter != _accountMap.end()) { - if (account_iter->second and (account_iter->first not_eq IP2IP_PROFILE) and not account_iter->first.empty()) { - // If the account is valid - v.push_back (account_iter->second->getAccountID()); - } - } } + return v; } + for (vector<string>::const_iterator iter = account_order.begin(); iter != account_order.end(); ++iter) { + if (*iter == IP2IP_PROFILE || *iter == "") + continue; + AccountMap::const_iterator account_iter = _accountMap.find (*iter); + if (account_iter != _accountMap.end() && account_iter->second) + v.push_back (account_iter->second->getAccountID()); + } + return v; } @@ -2714,11 +2704,7 @@ std::string ManagerImpl::getNewCallID () std::vector<std::string> ManagerImpl::loadAccountOrder (void) const { - const std::string account_list(preferences.getAccountOrder()); - - _debug ("Manager: Load account order %s", account_list.c_str()); - - return unserialize (account_list); + return unserialize (preferences.getAccountOrder()); } void ManagerImpl::loadAccountMap(Conf::YamlParser *parser)