PhoneCall * WenboxPlugin::getActivePhoneCall() const { IPhoneLine * phoneLine = _userProfile.getActivePhoneLine(); PhoneCall * phoneCall = NULL; if (phoneLine) { phoneCall = phoneLine->getActivePhoneCall(); } return phoneCall; }
PhoneCall * CUserProfile::getActivePhoneCall() const { PhoneCall * result = NULL; //FIXME: model must not be used directly by the GUI IPhoneLine * phoneLine = _userProfile.getActivePhoneLine(); if (phoneLine) { result = phoneLine->getActivePhoneCall(); } return result; }
void DtmfTheme::playTone(const std::string & key) const { const Tone * tone = getTone(key); if (!tone) { LOG_WARN("Could not find a tone for key '" + key + "'"); return; } Config & config = ConfigManager::getInstance().getCurrentConfig(); std::string soundfile = _repertory + tone->getSoundFile(); if (tone->getLocalAction() == Tone::Play) { Sound::play(File::convertPathSeparators(soundfile), config.getAudioRingerDeviceId() ); } if (tone->getRemoteAction() == Tone::Play) { UserProfile * userprofile = _wengoPhone.getUserProfileHandler().getCurrentUserProfile(); if (userprofile) { IPhoneLine * iphoneline = userprofile->getActivePhoneLine(); if (iphoneline) { PhoneCall * phonecall = iphoneline->getActivePhoneCall(); if (phonecall) { if (tone->getAudioFormat() == Tone::Dtmf) { iphoneline->playDtmf( phonecall->getCallId(), (char)tone->getKey()[0] ); } else { iphoneline->playSoundFile( phonecall->getCallId(), File::convertPathSeparators(soundfile) ); } } } } } }