Ring Daemon 16.0.0
|
Manager (controller) of daemon. More...
#include <manager.h>
Classes | |
struct | ManagerPimpl |
Public Member Functions | |
template<class T = Account> | |
std::size_t | accountCount () const |
std::string | addAccount (const std::map< std::string, std::string > &details, const std::string &accountId={}) |
Add a new account, and give it a new account ID automatically. | |
void | addAudio (Call &call) |
bool | addMainParticipant (const std::string &accountId, const std::string &confId) |
Bind the main participant to a conference (mainly called on a double click action) | |
bool | addSubCall (Call &call, Conference &conference) |
bool | addSubCall (const std::string &accountId, const std::string &callId, const std::string &account2Id, const std::string &confId) |
Add a subcall to a conference. | |
bool | answerCall (Call &call, const std::vector< libjami::MediaMap > &mediaList={}) |
bool | answerCall (const std::string &accountId, const std::string &callId, const std::vector< libjami::MediaMap > &mediaList={}) |
Functions which occur with a user's action Answer the call. | |
AudioFormat | audioFormatUsed (AudioFormat format) |
Should be called by any component dealing with an external audio source, indicating the format used so the mixer format can be eventually adapted. | |
void | bindCallToConference (Call &call, Conference &conf) |
void | callBusy (Call &call) |
Handle played sound when a call is unable to be completed because of a busy recipient. | |
void | callFailure (Call &call) |
Handle played sound when a failure occurs. | |
dhtnet::tls::CertificateStore & | certStore (const std::string &accountId) const |
void | congestion () |
Handle played music when a congestion occurs. | |
void | createConfFromParticipantList (const std::string &accountId, const std::vector< std::string > &) |
Create a conference from a list of participant. | |
bool | detachHost (const std::shared_ptr< Conference > &conf={}) |
Detach the local participant from curent conference. | |
bool | detachParticipant (const std::string &callId) |
Detach a participant from a conference, put the call on hold, do not hangup it. | |
void | enableLocalModerators (const std::string &accountID, bool state) |
void | eraseGitTransport (git_smart_subtransport *tr) |
template<class T > | |
std::shared_ptr< T > | findAccount (const std::function< bool(const std::shared_ptr< T > &)> &pred) |
void | finish () noexcept |
template<class T = Account> | |
std::shared_ptr< T > | getAccount (std::string_view accountId) const |
Get an account pointer, looks for account of type T. | |
std::map< std::string, std::string > | getAccountDetails (const std::string &accountID) const |
Retrieve details about a given account. | |
std::vector< std::string > | getAccountList () const |
Get account list. | |
template<class T = Account> | |
std::vector< std::shared_ptr< T > > | getAllAccounts () const |
Get a list of account pointers of type T (baseclass Account) | |
std::shared_ptr< AudioLayer > | getAudioDriver () |
Accessor to audiodriver. | |
int | getAudioInputDeviceIndex (const std::string &name) |
Get index of an audio device. | |
std::vector< std::string > | getAudioInputDeviceList () |
Get list of supported audio input device. | |
std::string | getAudioManager () const |
Get the audio manager. | |
int | getAudioOutputDeviceIndex (const std::string &name) |
std::vector< std::string > | getAudioOutputDeviceList () |
Get list of supported audio output device. | |
std::shared_ptr< Call > | getCallFromCallID (const std::string &callID) const |
Get the Call referred by callID. | |
std::vector< std::string > | getCallList () const |
Get list of calls (internal subcalls are filter-out) | |
std::vector< std::map< std::string, std::string > > | getChannelList (const std::string &accountId, const std::string &connectionId) |
std::vector< std::map< std::string, std::string > > | getConnectionList (const std::string &accountId, const std::string &conversationId) |
std::vector< std::string > | getCurrentAudioDevicesIndex () |
Get string array representing integer indexes of output, input, and ringtone device. | |
std::string | getCurrentAudioOutputPlugin () const |
Get current alsa plugin. | |
std::shared_ptr< Call > | getCurrentCall () const |
Get the current call. | |
const std::string & | getCurrentCallId () const |
Get the current call id. | |
std::vector< std::string > | getDefaultModerators (const std::string &accountID) |
int | getHistoryLimit () const |
Get the maximum number of days to keep in the history. | |
const std::shared_ptr< dhtnet::IceTransportFactory > & | getIceTransportFactory () |
bool | getIsAlwaysRecording () const |
Get is always recording functionality. | |
std::vector< libjami::Message > | getLastMessages (const std::string &accountID, const uint64_t &base_timestamp) |
int | getMessageStatus (const std::string &accountID, uint64_t id) const |
int | getMessageStatus (uint64_t id) const |
std::map< std::string, std::string > | getNearbyPeers (const std::string &accountID) |
std::string | getNewAccountId () |
Return a new random accountid that is not present in the list. | |
std::string | getNoiseSuppressState () const |
Get the noise reduction engine state from the current audio layer. | |
RingBufferPool & | getRingBufferPool () |
Return a pointer to the instance of the RingBufferPool. | |
int | getRingingTimeout () const |
Get ringing timeout (number of seconds after which a call will enter BUSY state if not answered). | |
std::mt19937_64 | getSeededRandomEngine () |
std::shared_ptr< AudioLoop > | getTelephoneFile () |
Retrieve the current telephone file. | |
std::shared_ptr< AudioLoop > | getTelephoneTone () |
Retrieve the current telephone tone. | |
VideoManager * | getVideoManager () const |
std::map< std::string, std::string > | getVolatileAccountDetails (const std::string &accountID) const |
Retrieve volatile details such as recent registration errors. | |
std::shared_ptr< dhtnet::ChannelSocket > | gitSocket (std::string_view accountId, std::string_view deviceId, std::string_view conversationId) |
Return current git socket used for a conversation. | |
bool | hangupCall (const std::string &accountId, const std::string &callId) |
Functions which occur with a user's action Hangup the call. | |
bool | hangupConference (const std::string &accountId, const std::string &confId) |
Functions which occur with a user's action Hangup the conference (hangup every participants) | |
AudioFormat | hardwareAudioFormatChanged (AudioFormat format) |
Callback called when the audio layer initialised with its preferred format. | |
bool | hasAccount (const std::string &accountID) |
bool | hasCurrentCall () const |
Tell if there is a current call processed. | |
bool | holdConference (const std::string &accountId, const std::string &confId) |
Hold every participant to a conference. | |
void | incomingCall (const std::string &accountId, Call &call) |
Handle incoming call and notify user. | |
bool | incomingCallsWaiting () |
void | incomingMessage (const std::string &accountId, const std::string &callId, const std::string &from, const std::map< std::string, std::string > &messages) |
Notify the client with an incoming message. | |
void | init (const std::filesystem::path &config_file, libjami::InitFlag flags) |
Initialisation of thread (sound) and map. | |
void | insertGitTransport (git_smart_subtransport *tr, std::unique_ptr< P2PSubTransport > &&sub) |
std::shared_ptr< asio::io_context > | ioContext () const |
bool | isAGCEnabled () const |
bool | isAllModerators (const std::string &accountID) |
bool | isCurrentCall (const Call &call) const |
Check if a call is the current one. | |
bool | isLocalModeratorsEnabled (const std::string &accountID) |
bool | joinConference (const std::string &accountId, const std::string &confId1, const std::string &account2Id, const std::string &confId2) |
Join two conference together into one unique conference. | |
bool | joinParticipant (const std::string &accountId, const std::string &callId1, const std::string &account2Id, const std::string &callId2, bool attached=true) |
Join two participants to create a conference. | |
void | loadAccountAndConversation (const std::string &accountId, bool loadAll, const std::string &convId) |
int | loadAccountMap (const YAML::Node &node) |
Load the account map from configuration. | |
std::vector< std::string_view > | loadAccountOrder () const |
Load the accounts order set by the user from the jamirc config file. | |
void | monitor (bool continuous) |
std::shared_ptr< Call > | newOutgoingCall (std::string_view toUrl, const std::string &accountId, const std::vector< libjami::MediaMap > &mediaList) |
Create a new outgoing call. | |
bool | offHoldCall (const std::string &accountId, const std::string &callId) |
Functions which occur with a user's action Put the call off hold. | |
bool | onHoldCall (const std::string &accountId, const std::string &callId) |
Functions which occur with a user's action Put the call on hold. | |
std::string | outgoingCall (const std::string &accountId, const std::string &callee, const std::vector< libjami::MediaMap > &mediaList={}) |
Place a new call. | |
void | peerAnsweredCall (Call &call) |
Notify the user that the recipient of the call has answered and the put the call in Current state. | |
void | peerHungupCall (Call &call) |
Put the call in Hungup state, remove the call from the list. | |
void | peerRingingCall (Call &call) |
Rings back because the outgoing call is ringing and the put the call in Ringing state. | |
void | playDtmf (char code) |
Play the dtmf-associated sound. | |
void | playRingtone (const std::string &accountID) |
Handle played music when an incoming call occurs. | |
void | playTone () |
Play a ringtone. | |
void | playToneWithMessage () |
Play a special ringtone ( BUSY ) if there's at least one message on the voice mail. | |
void | recordingPlaybackSeek (const double value) |
bool | refuseCall (const std::string &accountId, const std::string &id) |
Functions which occur with a user's action Refuse the call. | |
void | registerAccount (const std::string &accountID, const std::string &convId={}) |
Send registration for one account. | |
void | registerAccounts () |
Send registration for all enabled accounts. | |
void | removeAccount (const std::string &accountID, bool flush=false) |
Delete an existing account, unregister VoIPLink associated, and purge from configuration. | |
void | removeAccounts () |
void | removeAudio (Call &call) |
void | removeParticipant (Call &call) |
Remove the conference participant from a conference. | |
void | ringback () |
Handle audio sounds heard by a caller while they wait for their connection to a called party to be completed. | |
void | saveConfig () |
Save config to file. | |
void | saveConfig (const std::shared_ptr< Account > &acc) |
ScheduledExecutor & | scheduler () |
std::shared_ptr< Task > | scheduleTask (std::function< void()> &&task, std::chrono::steady_clock::time_point when, const char *filename=CURRENT_FILENAME(), uint32_t linum=CURRENT_LINE()) |
std::shared_ptr< Task > | scheduleTaskIn (std::function< void()> &&task, std::chrono::steady_clock::duration timeout, const char *filename=CURRENT_FILENAME(), uint32_t linum=CURRENT_LINE()) |
void | sendCallTextMessage (const std::string &accountId, const std::string &callID, const std::map< std::string, std::string > &messages, const std::string &from, bool isMixed) |
Send a new text message to the call, if participate to a conference, send to all participant. | |
void | sendRegister (const std::string &accountId, bool enable) |
ConfigurationManager - Send registration request. | |
uint64_t | sendTextMessage (const std::string &accountID, const std::string &to, const std::map< std::string, std::string > &payloads, bool fromPlugin=false, bool onlyConnected=false) |
void | setAccountActive (const std::string &accountID, bool active, bool shutdownConnections) |
void | setAccountDetails (const std::string &accountID, const std::map< std::string, std::string > &details) |
Save the details of an existing account, given the account ID This will load the configuration map with the given data. | |
void | setAccountsOrder (const std::string &order) |
Set the account order in the config file. | |
void | setAGCState (bool enabled) |
void | setAllModerators (const std::string &accountID, bool allModerators) |
void | setAudioDevice (int index, AudioDeviceType streamType) |
Set audio device. | |
bool | setAudioManager (const std::string &api) |
Set the audio manager. | |
void | setAudioPlugin (const std::string &audioPlugin) |
Set input audio plugin. | |
void | setAutoAnswer (bool enable) |
void | setDefaultModerator (const std::string &accountID, const std::string &peerURI, bool state) |
void | setHistoryLimit (int days) |
Set the maximum number of days to keep in the history. | |
void | setIsAlwaysRecording (bool isAlwaysRec) |
Set is always recording functionality, every calls will then be set in RECORDING mode once answered. | |
void | setNoiseSuppressState (const std::string &state) |
Set the noise reduction engine state in the current audio layer. | |
void | setRingingTimeout (int timeout) |
Set ringing timeout (number of seconds after which a call will enter BUSY state if not answered). | |
SIPVoIPLink & | sipVoIPLink () const |
void | startAudio () |
std::unique_ptr< AudioDeviceGuard > | startAudioStream (AudioDeviceType stream) |
bool | startRecordedFilePlayback (const std::string &) |
Start playback fo a recorded file if and only if audio layer is not already started. | |
void | stopRecordedFilePlayback () |
Stop playback of recorded file. | |
void | stopTone () |
Acts on the audio streams and audio files. | |
bool | toggleRecordingCall (const std::string &accountId, const std::string &id) |
Set recording on / off Start recording. | |
bool | transferCall (const std::string &accountId, const std::string &id, const std::string &to) |
Functions which occur with a user's action Transfer the call. | |
void | transferFailed () |
Notify the client that the transfer failed. | |
void | transferSucceeded () |
Notify the client the transfer is successful. | |
bool | unHoldConference (const std::string &accountId, const std::string &confId) |
Unhold all conference participants. | |
void | unregisterAccounts () |
Send unregister for all enabled accounts. | |
std::shared_ptr< dhtnet::upnp::UPnPContext > | upnpContext () const |
Static Public Member Functions | |
static LIBJAMI_TEST_EXPORT Manager & | instance () |
Public Attributes | |
AccountFactory | accountFactory |
AudioPreference | audioPreference |
Audio preferences. | |
CallFactory | callFactory |
unsigned | dhtLogLevel {0} |
Preferences | preferences |
General preferences configuration. | |
VoipPreference | voipPreferences |
Voip related preferences. | |
Static Public Attributes | |
static bool | autoLoad = {true} |
static std::atomic_bool | initialized = {false} |
static bool | syncOnRegister = {true} |
Friends | |
class | AudioDeviceGuard |
Definition at line 749 of file manager.h.
Referenced by getAccountList().
std::string jami::Manager::addAccount | ( | const std::map< std::string, std::string > & | details, |
const std::string & | accountId = {} |
||
) |
Add a new account, and give it a new account ID automatically.
details | The new account parameters |
accountId | optionnal predetermined accountid to use |
Definition at line 2753 of file manager.cpp.
References accountFactory, jami::Preferences::addAccount(), jami::Conf::CONFIG_ACCOUNT_TYPE, jami::AccountFactory::createAccount(), jami::AccountFactory::DEFAULT_ACCOUNT_TYPE, jami::emitSignal(), getNewAccountId(), JAMI_DEBUG, JAMI_ERROR, preferences, and saveConfig().
Referenced by libjami::addAccount().
Definition at line 1668 of file manager.cpp.
References jami::Call::audioGuard, jami::Call::getAudioStreams(), jami::Call::getCallId(), jami::Call::isConferenceParticipant(), JAMI_DEBUG, JAMI_ERROR, and JAMI_LOG.
bool jami::Manager::addMainParticipant | ( | const std::string & | accountId, |
const std::string & | confId | ||
) |
Bind the main participant to a conference (mainly called on a double click action)
the | conference id |
Definition at line 1428 of file manager.cpp.
References JAMI_DBG, JAMI_INFO, and JAMI_WARN.
Referenced by libjami::addMainParticipant().
bool jami::Manager::addSubCall | ( | Call & | call, |
Conference & | conference | ||
) |
Definition at line 1376 of file manager.cpp.
References jami::Call::getCallId(), jami::Conference::getConfId(), jami::Conference::getState(), and JAMI_DEBUG.
bool jami::Manager::addSubCall | ( | const std::string & | accountId, |
const std::string & | callId, | ||
const std::string & | account2Id, | ||
const std::string & | confId | ||
) |
Add a subcall to a conference.
the | call id |
the | conference id |
Definition at line 1356 of file manager.cpp.
References jami::Call::getConference().
Referenced by libjami::addParticipant().
bool jami::Manager::answerCall | ( | Call & | call, |
const std::vector< libjami::MediaMap > & | mediaList = {} |
||
) |
Definition at line 1102 of file manager.cpp.
References jami::Call::answer(), jami::Call::getCallId(), jami::Call::getConference(), jami::Conference::getConfId(), jami::Call::getConnectionState(), jami::Recordable::getPath(), JAMI_ERR, JAMI_LOG, and jami::Call::toggleRecording().
bool jami::Manager::answerCall | ( | const std::string & | accountId, |
const std::string & | callId, | ||
const std::vector< libjami::MediaMap > & | mediaList = {} |
||
) |
Functions which occur with a user's action Answer the call.
callId |
Definition at line 1089 of file manager.cpp.
Referenced by libjami::accept(), and libjami::acceptWithMedia().
AudioFormat jami::Manager::audioFormatUsed | ( | AudioFormat | format | ) |
Should be called by any component dealing with an external audio source, indicating the format used so the mixer format can be eventually adapted.
Definition at line 2637 of file manager.cpp.
References jami::emitSignal(), JAMI_DEBUG, jami::AudioFormat::nb_channels, jami::AudioFormat::sample_rate, jami::AudioFormat::sampleFormat, and jami::AudioFormat::toString().
Referenced by hardwareAudioFormatChanged().
void jami::Manager::bindCallToConference | ( | Call & | call, |
Conference & | conf | ||
) |
Definition at line 636 of file manager.cpp.
References jami::emitSignal().
Referenced by jami::Manager::ManagerPimpl::processIncomingCall().
Handle played sound when a call is unable to be completed because of a busy recipient.
Definition at line 2026 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_LOG.
Handle played sound when a failure occurs.
Definition at line 2041 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::isConferenceParticipant(), jami::Call::isSubcall(), and JAMI_LOG.
dhtnet::tls::CertificateStore & jami::Manager::certStore | ( | const std::string & | accountId | ) | const |
Definition at line 3301 of file manager.cpp.
References jami::emitSignal().
Referenced by jami::ContactList::foundAccountDevice().
void jami::Manager::congestion | ( | ) |
Handle played music when a congestion occurs.
Multi Thread.
Definition at line 2098 of file manager.cpp.
void jami::Manager::createConfFromParticipantList | ( | const std::string & | accountId, |
const std::vector< std::string > & | participantList | ||
) |
Create a conference from a list of participant.
A | vector containing the list of participant |
Definition at line 1514 of file manager.cpp.
References jami::Conference::addSubCall(), jami::Conference::attachHost(), jami::Conference::getConfId(), JAMI_ERR, and JAMI_WARN.
Referenced by libjami::createConfFromParticipantList().
bool jami::Manager::detachHost | ( | const std::shared_ptr< Conference > & | conf = {} | ) |
Detach the local participant from curent conference.
Remote participants are placed in hold.
Definition at line 1557 of file manager.cpp.
References JAMI_LOG.
Referenced by libjami::detachLocalParticipant(), and jami::Conference::hangupParticipant().
Detach a participant from a conference, put the call on hold, do not hangup it.
call | id |
the | current call id |
Definition at line 1572 of file manager.cpp.
References jami::Call::getAccountId(), jami::Call::getStateStr(), JAMI_DBG, and JAMI_ERR.
Referenced by libjami::detachParticipant().
Definition at line 3250 of file manager.cpp.
References jami::emitSignal(), getAccount(), and jami::AccountConfig::localModeratorsEnabled.
Referenced by libjami::enableLocalModerators().
void jami::Manager::eraseGitTransport | ( | git_smart_subtransport * | tr | ) |
Definition at line 3294 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportFree().
|
noexcept |
Definition at line 855 of file manager.cpp.
References jami::Call::getAccountId(), jami::Call::getCallId(), JAMI_DBG, and JAMI_ERR.
Referenced by libjami::fini().
|
inline |
Get an account pointer, looks for account of type T.
accountID | account ID to get |
Definition at line 721 of file manager.h.
Referenced by enableLocalModerators(), getAccountDetails(), libjami::getCodecDetails(), getDefaultModerators(), getLastMessages(), getNewAccountId(), getVolatileAccountDetails(), isAllModerators(), isLocalModeratorsEnabled(), loadAccountAndConversation(), libjami::lookupAddress(), newOutgoingCall(), libjami::publish(), removeAccount(), libjami::searchConversation(), sendRegister(), sendTextMessage(), setAccountActive(), setAccountDetails(), setAllModerators(), libjami::setCodecDetails(), setDefaultModerator(), libjami::subscribeBuddy(), and toggleRecordingCall().
std::map< std::string, std::string > jami::Manager::getAccountDetails | ( | const std::string & | accountID | ) | const |
Retrieve details about a given account.
accountID | The account identifier |
Definition at line 2679 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::getAccountDetails().
std::vector< std::string > jami::Manager::getAccountList | ( | ) | const |
Get account list.
Definition at line 2666 of file manager.cpp.
References accountCount(), jami::emitSignal(), and getAllAccounts().
Referenced by libjami::getAccountList(), removeAccounts(), libjami::searchConversation(), and jami::JamiPluginManager::uninstallPlugin().
|
inline |
Get a list of account pointers of type T (baseclass Account)
Definition at line 731 of file manager.h.
Referenced by jami::Conference::addSubCall(), libjami::connectivityChanged(), getAccountList(), jami::SIPVoIPLink::guessAccount(), libjami::pushNotificationReceived(), registerAccounts(), libjami::setEncodingAccelerated(), libjami::setPushNotificationConfig(), libjami::setPushNotificationToken(), and libjami::setPushNotificationTopic().
std::shared_ptr< AudioLayer > jami::Manager::getAudioDriver | ( | ) |
Accessor to audiodriver.
it's multi-thread and use mutex internally
Definition at line 3044 of file manager.cpp.
Referenced by jami::AudioDeviceGuard::AudioDeviceGuard(), and jami::AudioDeviceGuard::~AudioDeviceGuard().
Get index of an audio device.
name | The string description of an audio device |
Definition at line 2420 of file manager.cpp.
References jami::CAPTURE, jami::emitSignal(), and JAMI_ERR.
Referenced by libjami::getAudioInputDeviceIndex().
std::vector< std::string > jami::Manager::getAudioInputDeviceList | ( | ) |
Get list of supported audio input device.
Definition at line 2220 of file manager.cpp.
References JAMI_ERR.
Referenced by libjami::getAudioInputDeviceList().
std::string jami::Manager::getAudioManager | ( | ) | const |
Get the audio manager.
Definition at line 2414 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getAudioApi().
Referenced by libjami::getAudioManager(), and jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl().
Definition at line 2433 of file manager.cpp.
References jami::emitSignal(), JAMI_ERR, and jami::PLAYBACK.
Referenced by libjami::getAudioOutputDeviceIndex().
std::vector< std::string > jami::Manager::getAudioOutputDeviceList | ( | ) |
Get list of supported audio output device.
Definition at line 2204 of file manager.cpp.
References JAMI_ERR.
Referenced by libjami::getAudioOutputDeviceList().
Get the Call referred by callID.
If the Call does not exist, return empty std::shared_ptr<Call> instance
Definition at line 1444 of file manager.cpp.
std::vector< std::string > jami::Manager::getCallList | ( | ) | const |
Get list of calls (internal subcalls are filter-out)
Definition at line 2900 of file manager.cpp.
References callFactory, jami::emitSignal(), jami::CallFactory::getAllCalls(), jami::Call::getCallId(), and jami::Call::isSubcall().
Referenced by libjami::getCallList(), and libjami::getCallList().
std::vector< std::map< std::string, std::string > > jami::Manager::getChannelList | ( | const std::string & | accountId, |
const std::string & | connectionId | ||
) |
Definition at line 984 of file manager.cpp.
Referenced by libjami::getChannelList().
std::vector< std::map< std::string, std::string > > jami::Manager::getConnectionList | ( | const std::string & | accountId, |
const std::string & | conversationId | ||
) |
Definition at line 957 of file manager.cpp.
Referenced by libjami::getConnectionList().
std::vector< std::string > jami::Manager::getCurrentAudioDevicesIndex | ( | ) |
Get string array representing integer indexes of output, input, and ringtone device.
Get string array representing integer indexes of output and input device.
Definition at line 2236 of file manager.cpp.
References JAMI_ERR.
Referenced by libjami::getCurrentAudioDevicesIndex().
std::string jami::Manager::getCurrentAudioOutputPlugin | ( | ) | const |
Get current alsa plugin.
Definition at line 2446 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getAlsaPlugin().
Referenced by libjami::getCurrentAudioOutputPlugin().
std::shared_ptr< Call > jami::Manager::getCurrentCall | ( | ) | const |
Get the current call.
Definition at line 1034 of file manager.cpp.
const std::string & jami::Manager::getCurrentCallId | ( | ) | const |
Get the current call id.
Definition at line 1040 of file manager.cpp.
std::vector< std::string > jami::Manager::getDefaultModerators | ( | const std::string & | accountID | ) |
Definition at line 3237 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::getDefaultModerators().
int jami::Manager::getHistoryLimit | ( | ) | const |
Get the maximum number of days to keep in the history.
Definition at line 2366 of file manager.cpp.
References jami::Preferences::getHistoryLimit(), and preferences.
Referenced by libjami::getHistoryLimit().
const std::shared_ptr< dhtnet::IceTransportFactory > & jami::Manager::getIceTransportFactory | ( | ) |
Definition at line 3168 of file manager.cpp.
Referenced by jami::SIPAccountBase::getIceOptions().
bool jami::Manager::getIsAlwaysRecording | ( | ) | const |
Get is always recording functionality.
Definition at line 2285 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getIsAlwaysRecording().
Referenced by libjami::getIsAlwaysRecording().
std::vector< libjami::Message > jami::Manager::getLastMessages | ( | const std::string & | accountID, |
const uint64_t & | base_timestamp | ||
) |
Definition at line 3180 of file manager.cpp.
References jami::emitSignal(), and getAccount().
Definition at line 2968 of file manager.cpp.
References JAMI_ERROR.
Definition at line 2961 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::getMessageStatus(), and libjami::getMessageStatus().
std::map< std::string, std::string > jami::Manager::getNearbyPeers | ( | const std::string & | accountID | ) |
Definition at line 3213 of file manager.cpp.
References jami::emitSignal().
Referenced by libjami::getNearbyPeers().
std::string jami::Manager::getNewAccountId | ( | ) |
Return a new random accountid that is not present in the list.
Definition at line 2743 of file manager.cpp.
References jami::emitSignal(), getAccount(), and jami::to_hex_string().
Referenced by addAccount().
std::string jami::Manager::getNoiseSuppressState | ( | ) | const |
Get the noise reduction engine state from the current audio layer.
Definition at line 2452 of file manager.cpp.
References audioPreference, and jami::AudioPreference::getNoiseReduce().
Referenced by libjami::getNoiseSuppressState().
RingBufferPool & jami::Manager::getRingBufferPool | ( | ) |
Return a pointer to the instance of the RingBufferPool.
Definition at line 3156 of file manager.cpp.
Referenced by jami::AudioInput::configureFilePlayback(), jami::AudioLayer::flush(), jami::AudioLayer::flushMain(), jami::AudioLayer::getToPlay(), init(), libjami::isAudioMeterActive(), libjami::setAudioMeterState(), jami::AudioInput::setPaused(), jami::LocalRecorder::startRecording(), jami::LocalRecorder::stopRecording(), jami::AudioInput::switchInput(), and jami::AudioInput::~AudioInput().
int jami::Manager::getRingingTimeout | ( | ) | const |
Get ringing timeout (number of seconds after which a call will enter BUSY state if not answered).
Definition at line 2380 of file manager.cpp.
References jami::Preferences::getRingingTimeout(), and preferences.
Referenced by jami::Call::Call(), and libjami::getRingingTimeout().
std::mt19937_64 jami::Manager::getSeededRandomEngine | ( | ) |
Definition at line 2737 of file manager.cpp.
Referenced by jami::Conversation::Impl::init().
std::shared_ptr< AudioLoop > jami::Manager::getTelephoneFile | ( | ) |
Retrieve the current telephone file.
Definition at line 2154 of file manager.cpp.
std::shared_ptr< AudioLoop > jami::Manager::getTelephoneTone | ( | ) |
Retrieve the current telephone tone.
Definition at line 2148 of file manager.cpp.
VideoManager * jami::Manager::getVideoManager | ( | ) | const |
Definition at line 3174 of file manager.cpp.
Referenced by jami::getAudioInput(), and jami::Conference::~Conference().
std::map< std::string, std::string > jami::Manager::getVolatileAccountDetails | ( | const std::string & | accountID | ) | const |
Retrieve volatile details such as recent registration errors.
accountID | The account identifier |
Definition at line 2693 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::getVolatileAccountDetails().
std::shared_ptr< dhtnet::ChannelSocket > jami::Manager::gitSocket | ( | std::string_view | accountId, |
std::string_view | deviceId, | ||
std::string_view | conversationId | ||
) |
Return current git socket used for a conversation.
accountId | Related account |
deviceId | Related device |
conversationId | Related conversation |
Definition at line 3202 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportAction().
Functions which occur with a user's action Hangup the call.
accountId | |
callId | The call identifier |
Definition at line 1141 of file manager.cpp.
References JAMI_ERR, and JAMI_WARN.
Referenced by libjami::hangUp(), jami::Account::hangupCalls(), jami::Conference::hangupParticipant(), and jami::transferCall().
Functions which occur with a user's action Hangup the conference (hangup every participants)
id | The call identifier |
Definition at line 1179 of file manager.cpp.
References JAMI_ERROR.
Referenced by libjami::hangUpConference().
AudioFormat jami::Manager::hardwareAudioFormatChanged | ( | AudioFormat | format | ) |
Callback called when the audio layer initialised with its preferred format.
Definition at line 2631 of file manager.cpp.
References audioFormatUsed().
Referenced by jami::AudioLayer::hardwareFormatAvailable().
Definition at line 3162 of file manager.cpp.
References accountFactory, jami::emitSignal(), and jami::AccountFactory::hasAccount().
bool jami::Manager::hasCurrentCall | ( | ) | const |
Tell if there is a current call processed.
Definition at line 1024 of file manager.cpp.
References libjami::Call::StateEvent::CURRENT, jami::Call::getStateStr(), and jami::Call::isSubcall().
Hold every participant to a conference.
the | conference id |
Definition at line 1312 of file manager.cpp.
References jami::Conference::detachHost(), jami::Conference::getConfId(), jami::Conference::getStateStr(), and JAMI_INFO.
Referenced by libjami::holdConference().
Handle incoming call and notify user.
accountId | an account id |
call | A call pointer |
Definition at line 1871 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_ERROR.
Referenced by jami::transaction_request_cb().
bool jami::Manager::incomingCallsWaiting | ( | ) |
Definition at line 1864 of file manager.cpp.
void jami::Manager::incomingMessage | ( | const std::string & | accountId, |
const std::string & | callId, | ||
const std::string & | from, | ||
const std::map< std::string, std::string > & | messages | ||
) |
Notify the client with an incoming message.
accountId | The account identifier |
callId | The call to send the message |
messages | A map if mime type as key and mime payload as value |
Definition at line 1890 of file manager.cpp.
References jami::Call::getConference(), jami::Conference::getConfId(), jami::Call::isConferenceParticipant(), JAMI_DBG, and JAMI_ERR.
void jami::Manager::init | ( | const std::filesystem::path & | config_file, |
libjami::InitFlag | flags | ||
) |
Initialisation of thread (sound) and map.
Init a new VoIPLink, audio codec and audio driver.
Definition at line 718 of file manager.cpp.
References autoLoad, jami::check_rename(), dhtLogLevel, jami::emitSignal(), jami::fileutils::get_cache_dir(), jami::fileutils::get_config_dir(), jami::fileutils::get_data_dir(), getRingBufferPool(), initialized, JAMI_DBG, JAMI_ERR, JAMI_ERROR, JAMI_LOG, JAMI_WARNING, libjami::LIBJAMI_FLAG_NO_AUTOLOAD, libjami::LIBJAMI_FLAG_NO_LOCAL_AUDIO, jami::make_backup(), p2p_transport_cb(), jami::PACKAGE_OLD, PJSIP_TRY, removeAccounts(), jami::restore_backup(), jami::setDhtLogLevel(), jami::setGnuTlsLogLevel(), and jami::setSipLogLevel().
Referenced by libjami::start().
void jami::Manager::insertGitTransport | ( | git_smart_subtransport * | tr, |
std::unique_ptr< P2PSubTransport > && | sub | ||
) |
Definition at line 3287 of file manager.cpp.
References jami::emitSignal().
Referenced by P2PSubTransportNew().
|
static |
Definition at line 676 of file manager.cpp.
References jami::emitSignal(), initialized, instance(), and JAMI_DBG.
Referenced by libjami::accept(), libjami::acceptConversationRequest(), libjami::acceptTrustRequest(), libjami::acceptWithMedia(), libjami::addAccount(), libjami::addContact(), libjami::addConversationMember(), libjami::addDevice(), libjami::addMainParticipant(), libjami::addParticipant(), jami::Conference::addSubCall(), jami::Conversation::Impl::announce(), libjami::answerMediaChangeRequest(), libjami::answerServerRequest(), libjami::attendedTransfer(), jami::Call::Call(), jami::ConversationModule::call(), libjami::cancelAddDevice(), libjami::cancelDataTransfer(), libjami::changeAccountPassword(), libjami::clearCache(), jami::closeMediaPlayer(), jami::Conference::Conference(), jami::AudioInput::configureFilePlayback(), libjami::confirmAddDevice(), libjami::connectivityChanged(), jami::ContactList::ContactList(), libjami::conversationInfos(), libjami::countInteractions(), libjami::createConfFromParticipantList(), jami::createMediaPlayer(), libjami::currentMediaList(), libjami::declineConversationRequest(), libjami::detachLocalParticipant(), libjami::detachParticipant(), libjami::discardTrustRequest(), jami::JamiAccount::doUnregister(), libjami::downloadFile(), libjami::enableLocalModerators(), libjami::exportToFile(), libjami::fileTransferInfo(), libjami::fini(), jami::AudioLayer::flush(), jami::AudioLayer::flushMain(), jami::ContactList::foundAccountDevice(), libjami::getAccountDetails(), libjami::getAccountList(), libjami::getActiveCalls(), libjami::getActiveCodecList(), jami::getAudioInput(), libjami::getAudioInputDeviceIndex(), libjami::getAudioInputDeviceList(), libjami::getAudioManager(), libjami::getAudioOutputDeviceIndex(), libjami::getAudioOutputDeviceList(), libjami::getCallDetails(), libjami::getCallList(), libjami::getCallList(), libjami::getCallMediaHandlerDetails(), libjami::getCallMediaHandlers(), libjami::getCallMediaHandlerStatus(), libjami::getCertificateDetails(), libjami::getCertificateDetailsPath(), libjami::getCertificatesByStatus(), libjami::getChannelList(), libjami::getChatHandlerDetails(), libjami::getChatHandlers(), libjami::getChatHandlerStatus(), libjami::getCodecDetails(), libjami::getConferenceDetails(), libjami::getConferenceId(), libjami::getConferenceInfos(), libjami::getConferenceList(), libjami::getConnectionList(), libjami::getContactDetails(), libjami::getContacts(), libjami::getConversationMembers(), libjami::getConversationPreferences(), libjami::getConversationRequests(), libjami::getConversations(), libjami::getCredentials(), libjami::getCurrentAudioDevicesIndex(), libjami::getCurrentAudioOutputPlugin(), libjami::getDecodingAccelerated(), libjami::getDefaultModerators(), libjami::getEncodingAccelerated(), libjami::getHistoryLimit(), jami::SIPAccountBase::getIceOptions(), libjami::getInstalledPlugins(), jami::JamiPluginManager::getInstalledPlugins(), libjami::getIsAlwaysRecording(), libjami::getIsRecording(), libjami::getKnownRingDevices(), libjami::getLastMessages(), libjami::getLoadedPlugins(), jami::getMediaPlayer(), libjami::getMessageStatus(), libjami::getMessageStatus(), jami::SIPPresence::getModId(), libjami::getNearbyPeers(), libjami::getNoiseSuppressState(), libjami::getParticipantList(), libjami::getPasswordKey(), libjami::getPinnedCertificates(), libjami::getPlatformInfo(), libjami::getPluginDetails(), libjami::getPluginPreferences(), libjami::getPluginPreferencesValues(), libjami::getPluginsEnabled(), libjami::getRecordPath(), libjami::getRecordPreview(), libjami::getRecordQuality(), libjami::getRenderer(), libjami::getRingingTimeout(), libjami::getSubscriptions(), libjami::getSupportedCiphers(), jami::AudioLayer::getToPlay(), jami::AudioLayer::getToRing(), libjami::getTrustRequests(), libjami::getVolatileAccountDetails(), libjami::getVolume(), jami::SIPVoIPLink::guessAccount(), libjami::hangUp(), jami::Account::hangupCalls(), libjami::hangUpConference(), libjami::hangupParticipant(), jami::Conference::hangupParticipant(), jami::AudioLayer::hardwareFormatAvailable(), jami::VideoManager::hasRunningPlayers(), libjami::hold(), libjami::holdConference(), jami::Conversation::Impl::init(), libjami::init(), jami::ServerAccountManager::initAuthentication(), jami::video::VideoRtpSession::initRecorder(), libjami::installPlugin(), jami::JamiPluginManager::installPlugin(), instance(), libjami::isAgcEnabled(), libjami::isAllModerators(), libjami::isAudioMeterActive(), libjami::isCaptureMuted(), libjami::isConferenceParticipant(), libjami::isDtmfMuted(), libjami::isLocalModeratorsEnabled(), libjami::isPasswordValid(), libjami::isPlaybackMuted(), libjami::isRingtoneMuted(), libjami::joinConference(), libjami::joinParticipant(), libjami::loadAccountAndConversation(), loadAccountMap(), jami::SIPAccountBase::loadConfig(), libjami::loadConversation(), libjami::loadConversationMessages(), libjami::loadConversationUntil(), libjami::loadPlugin(), jami::JamiPluginManager::loadPlugins(), libjami::loadSwarmUntil(), libjami::lookupAddress(), libjami::lookupName(), libjami::monitor(), libjami::muteCapture(), libjami::muteDtmf(), libjami::muteLocalMedia(), libjami::muteParticipant(), libjami::mutePlayback(), libjami::muteRingtone(), libjami::muteStream(), jami::JamiAccount::newIncomingCall(), jami::SIPAccount::newIncomingCall(), jami::JamiAccount::newOutgoingCall(), jami::SIPAccount::newOutgoingCall(), jami::SIPAccountBase::onTextMessage(), P2PSubTransportAction(), P2PSubTransportFree(), P2PSubTransportNew(), libjami::pinCertificate(), libjami::pinCertificatePath(), libjami::pinRemoteCertificate(), libjami::placeCallWithMedia(), libjami::playDTMF(), jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl(), libjami::CallbackWrapperBase::post(), jami::Sdp::printSession(), libjami::provideAccountAuthentication(), libjami::publish(), libjami::pushNotificationReceived(), libjami::raiseHand(), libjami::raiseParticipantHand(), libjami::recordPlaybackSeek(), libjami::refuse(), libjami::registerAllAccounts(), libjami::registerName(), libjami::registerSinkTarget(), libjami::reloadConversationsAndRequests(), libjami::removeAccount(), jami::SIPCall::removeCall(), jami::ContactList::removeContact(), libjami::removeContact(), libjami::removeConversation(), libjami::removeConversationMember(), libjami::requestMediaChange(), jami::Conference::requestMediaChange(), libjami::resetPluginPreferencesValues(), libjami::revokeDevice(), jami::runOnMainThread(), jami::Account::saveConfig(), libjami::searchConversation(), libjami::searchUser(), libjami::sendAccountTextMessage(), libjami::sendFile(), libjami::sendMessage(), libjami::sendRegister(), libjami::sendTextMessage(), libjami::sendTrustRequest(), libjami::sendWebViewAttach(), libjami::sendWebViewDetach(), libjami::sendWebViewMessage(), libjami::setAccountActive(), libjami::setAccountDetails(), libjami::setAccountsOrder(), libjami::setActiveCodecList(), libjami::setActiveParticipant(), libjami::setActiveStream(), libjami::setAgcState(), libjami::setAllModerators(), libjami::setAudioInputDevice(), libjami::setAudioManager(), libjami::setAudioMeterState(), libjami::setAudioOutputDevice(), libjami::setAudioPlugin(), libjami::setAudioRingtoneDevice(), libjami::setCertificateStatus(), libjami::setCodecDetails(), libjami::setConferenceLayout(), libjami::setConversationPreferences(), libjami::setCredentials(), libjami::setDecodingAccelerated(), libjami::setDefaultModerator(), libjami::setEncodingAccelerated(), libjami::setHistoryLimit(), libjami::setIsAlwaysRecording(), libjami::setIsComposing(), jami::Sdp::setLocalMediaCapabilities(), libjami::setMessageDisplayed(), libjami::setModerator(), jami::AudioRtpSession::setMuted(), libjami::setNoiseSuppressState(), jami::AudioInput::setPaused(), libjami::setPluginPreference(), libjami::setPluginsEnabled(), libjami::setPushNotificationConfig(), libjami::setPushNotificationToken(), libjami::setPushNotificationTopic(), libjami::setRecordPath(), libjami::setRecordPreview(), libjami::setRecordQuality(), libjami::setRingingTimeout(), jami::video::VideoInput::setSink(), libjami::setSubscriptions(), libjami::setVolume(), jami::SIPVoIPLink::shutdown(), jami::SIPCall::SIPCall(), libjami::start(), libjami::startAudio(), libjami::startAudioDevice(), libjami::startConversation(), libjami::startRecordedFilePlayback(), jami::LocalRecorder::startRecording(), libjami::startTone(), libjami::stopAudioDevice(), libjami::stopRecordedFilePlayback(), jami::LocalRecorder::stopRecording(), libjami::subscribeBuddy(), libjami::switchInput(), jami::AudioInput::switchInput(), jami::SyncedConversation::SyncedConversation(), jami::SyncedConversation::SyncedConversation(), jami::MediaEncoder::testH265Accel(), libjami::toggleCallMediaHandler(), libjami::toggleChatHandler(), jami::Recordable::toggleRecording(), libjami::toggleRecording(), jami::tp_state_callback(), jami::transaction_request_cb(), libjami::transfer(), jami::transferCall(), libjami::unhold(), libjami::unholdConference(), libjami::uninstallPlugin(), jami::JamiPluginManager::uninstallPlugin(), libjami::unloadPlugin(), libjami::unpinCertificate(), libjami::unpinCertificatePath(), libjami::updateConversationInfos(), libjami::updateProfile(), jami::Account::updateUpnpController(), libjami::validateCertificate(), libjami::validateCertificatePath(), jami::video::VideoInput::VideoInput(), jami::video::VideoSender::VideoSender(), jami::AudioInput::~AudioInput(), and jami::Conference::~Conference().
std::shared_ptr< asio::io_context > jami::Manager::ioContext | ( | ) | const |
Definition at line 1711 of file manager.cpp.
Referenced by jami::Conversation::Impl::init(), and jami::SIPAccountBase::loadConfig().
bool jami::Manager::isAGCEnabled | ( | ) | const |
Definition at line 2464 of file manager.cpp.
References audioPreference, and jami::AudioPreference::isAGCEnabled().
Referenced by libjami::isAgcEnabled().
Definition at line 3276 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::isAllModerators().
Check if a call is the current one.
call | the new call |
Definition at line 1018 of file manager.cpp.
References jami::Call::getCallId().
Definition at line 3258 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::isLocalModeratorsEnabled().
bool jami::Manager::joinConference | ( | const std::string & | accountId, |
const std::string & | confId1, | ||
const std::string & | account2Id, | ||
const std::string & | confId2 | ||
) |
Join two conference together into one unique conference.
Definition at line 1613 of file manager.cpp.
References JAMI_DEBUG, JAMI_ERR, and JAMI_ERROR.
Referenced by libjami::joinConference().
bool jami::Manager::joinParticipant | ( | const std::string & | accountId, |
const std::string & | callId1, | ||
const std::string & | account2Id, | ||
const std::string & | callId2, | ||
bool | attached = true |
||
) |
Join two participants to create a conference.
the | fist call id |
the | second call id |
Definition at line 1450 of file manager.cpp.
References jami::Conference::attachHost(), jami::Conference::detachHost(), jami::Conference::getConfId(), jami::Conference::getStateStr(), JAMI_ERR, JAMI_INFO, and jami::Conference::setState().
Referenced by libjami::joinParticipant().
void jami::Manager::loadAccountAndConversation | ( | const std::string & | accountId, |
bool | loadAll, | ||
const std::string & | convId | ||
) |
Definition at line 2993 of file manager.cpp.
References jami::JamiAccount::ACCOUNT_TYPE, accountFactory, autoLoad, jami::AccountFactory::createAccount(), jami::emitSignal(), jami::fileutils::get_data_dir(), getAccount(), and JAMI_WARN.
Referenced by libjami::loadAccountAndConversation().
Load the account map from configuration.
Definition at line 2823 of file manager.cpp.
References jami::JamiAccount::ACCOUNT_TYPE, accountFactory, audioPreference, jami::AccountFactory::createAccount(), jami::emitSignal(), jami::fileutils::get_data_dir(), jami::Preferences::getAccountOrder(), jami::AccountFactory::hasAccount(), instance(), JAMI_ERR, preferences, jami::Preferences::unserialize(), jami::VoipPreference::unserialize(), jami::AudioPreference::unserialize(), and voipPreferences.
std::vector< std::string_view > jami::Manager::loadAccountOrder | ( | ) | const |
Load the accounts order set by the user from the jamirc config file.
Definition at line 2817 of file manager.cpp.
References jami::Preferences::getAccountOrder(), preferences, and jami::split_string().
Definition at line 930 of file manager.cpp.
References JAMI_DBG, and jami::Call::monitor().
Referenced by libjami::monitor().
std::shared_ptr< Call > jami::Manager::newOutgoingCall | ( | std::string_view | toUrl, |
const std::string & | accountId, | ||
const std::vector< libjami::MediaMap > & | mediaList | ||
) |
Create a new outgoing call.
toUrl | Destination address |
accountId | local account |
mediaList | the list of medias |
Definition at line 3050 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_WARN.
Referenced by jami::transferCall().
Functions which occur with a user's action Put the call off hold.
accountId | |
id | The call identifier |
Definition at line 1231 of file manager.cpp.
References jami::Conference::getConfId(), and JAMI_ERR.
Referenced by libjami::unhold().
Functions which occur with a user's action Put the call on hold.
accountId | |
callId | The call identifier |
Definition at line 1193 of file manager.cpp.
References JAMI_DBG, JAMI_ERR, and jami::Call::onhold().
Referenced by libjami::hold().
std::string jami::Manager::outgoingCall | ( | const std::string & | accountId, |
const std::string & | callee, | ||
const std::vector< libjami::MediaMap > & | mediaList = {} |
||
) |
Place a new call.
accountId | the user's account ID |
callee | the callee's ID/URI. Depends on the account type. Refer to placeCall/placeCallWithMedia documentations. |
mediaList | a list of media to include |
Definition at line 1061 of file manager.cpp.
References JAMI_DBG, JAMI_ERROR, and jami::trim().
Referenced by libjami::placeCallWithMedia().
Notify the user that the recipient of the call has answered and the put the call in Current state.
id | The call identifier |
Definition at line 1968 of file manager.cpp.
References jami::Call::getCallId(), jami::Recordable::getPath(), JAMI_DBG, and jami::Call::toggleRecording().
Put the call in Hungup state, remove the call from the list.
id | The call identifier |
Definition at line 2003 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::isConferenceParticipant(), JAMI_LOG, and jami::Call::peerHungup().
Rings back because the outgoing call is ringing and the put the call in Ringing state.
id | The call identifier |
Definition at line 1994 of file manager.cpp.
References jami::Call::getCallId(), and JAMI_LOG.
Play the dtmf-associated sound.
code | The pressed key |
Definition at line 1804 of file manager.cpp.
References JAMI_DBG, JAMI_ERR, and JAMI_WARN.
Referenced by libjami::playDTMF().
Handle played music when an incoming call occurs.
Multi Thread.
Definition at line 2116 of file manager.cpp.
void jami::Manager::playTone | ( | ) |
Play a ringtone.
Multi Thread.
Definition at line 2080 of file manager.cpp.
Referenced by libjami::startTone().
void jami::Manager::playToneWithMessage | ( | ) |
Play a special ringtone ( BUSY ) if there's at least one message on the voice mail.
Multi Thread.
Definition at line 2089 of file manager.cpp.
Referenced by libjami::startTone().
Definition at line 2343 of file manager.cpp.
References jami::emitSignal().
Referenced by libjami::recordPlaybackSeek().
Functions which occur with a user's action Refuse the call.
id | The call identifier |
Definition at line 1297 of file manager.cpp.
References jami::Call::refuse().
Referenced by libjami::refuse().
void jami::Manager::registerAccount | ( | const std::string & | accountID, |
const std::string & | convId = {} |
||
) |
Send registration for one account.
void jami::Manager::registerAccounts | ( | ) |
Send registration for all enabled accounts.
Definition at line 2911 of file manager.cpp.
References jami::emitSignal(), and getAllAccounts().
Referenced by libjami::registerAllAccounts().
Delete an existing account, unregister VoIPLink associated, and purge from configuration.
If 'flush' argument is true, filesystem entries are also removed.
accountID | The account unique ID |
Definition at line 2789 of file manager.cpp.
References accountFactory, jami::emitSignal(), getAccount(), preferences, jami::AccountFactory::removeAccount(), jami::Preferences::removeAccount(), and saveConfig().
Referenced by libjami::removeAccount(), and removeAccounts().
void jami::Manager::removeAccounts | ( | ) |
Definition at line 2810 of file manager.cpp.
References getAccountList(), and removeAccount().
Referenced by init().
Definition at line 1694 of file manager.cpp.
References jami::Call::getAudioStreams(), jami::Call::getCallId(), and JAMI_DEBUG.
Remove the conference participant from a conference.
call | id |
Definition at line 1591 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::getConference(), JAMI_DBG, and JAMI_ERR.
void jami::Manager::ringback | ( | ) |
Handle audio sounds heard by a caller while they wait for their connection to a called party to be completed.
Multi Thread.
Definition at line 2107 of file manager.cpp.
void jami::Manager::saveConfig | ( | ) |
Save config to file.
Definition at line 1750 of file manager.cpp.
References JAMI_ERR, and JAMI_LOG.
Referenced by addAccount(), jami::JamiPluginManager::installPlugin(), libjami::loadPlugin(), removeAccount(), jami::Account::saveConfig(), sendRegister(), setAccountsOrder(), libjami::setActiveCodecList(), setAudioManager(), libjami::setCredentials(), libjami::setDecodingAccelerated(), setDefaultModerator(), libjami::setEncodingAccelerated(), setHistoryLimit(), setIsAlwaysRecording(), libjami::setPluginsEnabled(), libjami::setRecordPreview(), libjami::setRecordQuality(), setRingingTimeout(), libjami::uninstallPlugin(), and libjami::unloadPlugin().
Definition at line 1741 of file manager.cpp.
ScheduledExecutor & jami::Manager::scheduler | ( | ) |
Definition at line 1705 of file manager.cpp.
Referenced by jami::Call::Call(), and jami::runOnMainThread().
std::shared_ptr< Task > jami::Manager::scheduleTask | ( | std::function< void()> && | task, |
std::chrono::steady_clock::time_point | when, | ||
const char * | filename = CURRENT_FILENAME() , |
||
uint32_t | linum = CURRENT_LINE() |
||
) |
Definition at line 1723 of file manager.cpp.
References jami::ScheduledExecutor::schedule().
std::shared_ptr< Task > jami::Manager::scheduleTaskIn | ( | std::function< void()> && | task, |
std::chrono::steady_clock::duration | timeout, | ||
const char * | filename = CURRENT_FILENAME() , |
||
uint32_t | linum = CURRENT_LINE() |
||
) |
Definition at line 1732 of file manager.cpp.
void jami::Manager::sendCallTextMessage | ( | const std::string & | accountId, |
const std::string & | callID, | ||
const std::map< std::string, std::string > & | messages, | ||
const std::string & | from, | ||
bool | isMixed | ||
) |
Send a new text message to the call, if participate to a conference, send to all participant.
accountId | |
callId | The call to send the message |
message | A list of pair of mime types and payloads |
from | The sender of this message (could be another participant of a conference) |
Definition at line 1930 of file manager.cpp.
References jami::Call::getCallId(), jami::Call::getConference(), jami::Call::isConferenceParticipant(), JAMI_DBG, JAMI_ERR, and jami::Call::sendTextMessage().
Referenced by libjami::sendTextMessage().
ConfigurationManager - Send registration request.
accountId | The account to register/unregister |
enable | The flag for the type of registration false for unregistration request true for registration request |
Definition at line 2920 of file manager.cpp.
References jami::emitSignal(), getAccount(), and saveConfig().
Referenced by libjami::sendRegister().
uint64_t jami::Manager::sendTextMessage | ( | const std::string & | accountID, |
const std::string & | to, | ||
const std::map< std::string, std::string > & | payloads, | ||
bool | fromPlugin = false , |
||
bool | onlyConnected = false |
||
) |
Definition at line 2936 of file manager.cpp.
References jami::emitSignal(), getAccount(), and JAMI_ERR.
Referenced by libjami::sendAccountTextMessage().
void jami::Manager::setAccountActive | ( | const std::string & | accountID, |
bool | active, | ||
bool | shutdownConnections | ||
) |
Definition at line 2975 of file manager.cpp.
References jami::emitSignal(), and getAccount().
Referenced by libjami::setAccountActive().
void jami::Manager::setAccountDetails | ( | const std::string & | accountID, |
const std::map< std::string, std::string > & | details | ||
) |
Save the details of an existing account, given the account ID This will load the configuration map with the given data.
It will also register/unregister links where the 'Enabled' switched.
accountID | The account identifier |
details | The account parameters |
Definition at line 2707 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_DBG, and JAMI_ERR.
Referenced by libjami::setAccountDetails().
Set the account order in the config file.
Definition at line 2657 of file manager.cpp.
References jami::emitSignal(), JAMI_LOG, preferences, saveConfig(), and jami::Preferences::setAccountOrder().
Referenced by libjami::setAccountsOrder().
Definition at line 2470 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setAGCState().
Referenced by libjami::setAgcState().
Definition at line 3269 of file manager.cpp.
References jami::AccountConfig::allModeratorsEnabled, jami::emitSignal(), and getAccount().
Referenced by libjami::setAllModerators().
void jami::Manager::setAudioDevice | ( | int | index, |
AudioDeviceType | streamType | ||
) |
Set audio device.
Set audio output device.
index | The index of the soundcard |
the | type of stream, either PLAYBACK, CAPTURE, RINGTONE |
Definition at line 2179 of file manager.cpp.
References JAMI_ERR, and JAMI_WARN.
Referenced by libjami::setAudioInputDevice(), libjami::setAudioOutputDevice(), and libjami::setAudioRingtoneDevice().
Set the audio manager.
Definition at line 2386 of file manager.cpp.
References audioPreference, jami::emitSignal(), jami::AudioPreference::getAudioApi(), JAMI_DBG, saveConfig(), and jami::AudioPreference::setAudioApi().
Referenced by libjami::setAudioManager().
Set input audio plugin.
audioPlugin | The audio plugin |
Definition at line 2163 of file manager.cpp.
Referenced by jami::PortAudioLayer::PortAudioLayerImpl::PortAudioLayerImpl(), and libjami::setAudioPlugin().
Definition at line 712 of file manager.cpp.
void jami::Manager::setDefaultModerator | ( | const std::string & | accountID, |
const std::string & | peerURI, | ||
bool | state | ||
) |
Definition at line 3221 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_ERR, and saveConfig().
Referenced by libjami::setDefaultModerator().
Set the maximum number of days to keep in the history.
calls | The number of days |
Definition at line 2358 of file manager.cpp.
References jami::emitSignal(), JAMI_DBG, preferences, saveConfig(), and jami::Preferences::setHistoryLimit().
Referenced by libjami::setHistoryLimit().
Set is always recording functionality, every calls will then be set in RECORDING mode once answered.
Definition at line 2291 of file manager.cpp.
References audioPreference, jami::emitSignal(), saveConfig(), and jami::AudioPreference::setIsAlwaysRecording().
Referenced by libjami::setIsAlwaysRecording().
Set the noise reduction engine state in the current audio layer.
Definition at line 2458 of file manager.cpp.
References audioPreference, and jami::AudioPreference::setNoiseReduce().
Referenced by libjami::setNoiseSuppressState().
Set ringing timeout (number of seconds after which a call will enter BUSY state if not answered).
timeout | in seconds |
Definition at line 2372 of file manager.cpp.
References JAMI_DBG, preferences, saveConfig(), and jami::Preferences::setRingingTimeout().
Referenced by libjami::setRingingTimeout().
SIPVoIPLink & jami::Manager::sipVoIPLink | ( | ) | const |
Definition at line 3188 of file manager.cpp.
Referenced by jami::SIPPresence::getModId(), and jami::transaction_request_cb().
void jami::Manager::startAudio | ( | ) |
Definition at line 2250 of file manager.cpp.
Referenced by libjami::startAudio().
|
inline |
Definition at line 143 of file manager.h.
Referenced by jami::AudioInput::configureFilePlayback(), jami::AudioInput::setPaused(), and startRecordedFilePlayback().
Start playback fo a recorded file if and only if audio layer is not already started.
File | path of the file to play |
Definition at line 2321 of file manager.cpp.
References jami::emitSignal(), JAMI_DBG, JAMI_ERR, jami::RINGTONE, and startAudioStream().
Referenced by libjami::startRecordedFilePlayback().
void jami::Manager::stopRecordedFilePlayback | ( | ) |
Stop playback of recorded file.
Definition at line 2349 of file manager.cpp.
References JAMI_DBG.
Referenced by libjami::stopRecordedFilePlayback().
void jami::Manager::stopTone | ( | ) |
Acts on the audio streams and audio files.
Multi Thread.
Definition at line 2067 of file manager.cpp.
Referenced by libjami::startTone().
Set recording on / off Start recording.
id | The call identifier Returns true if the call was set to record |
Definition at line 2298 of file manager.cpp.
References jami::emitSignal(), getAccount(), JAMI_DBG, and JAMI_ERR.
Referenced by libjami::toggleRecording().
bool jami::Manager::transferCall | ( | const std::string & | accountId, |
const std::string & | id, | ||
const std::string & | to | ||
) |
Functions which occur with a user's action Transfer the call.
id | The call identifier |
to | The recipient of the transfer |
Definition at line 1265 of file manager.cpp.
References jami::Call::isConferenceParticipant(), and jami::Call::transfer().
Referenced by libjami::transfer().
void jami::Manager::transferFailed | ( | ) |
Notify the client that the transfer failed.
Definition at line 1284 of file manager.cpp.
void jami::Manager::transferSucceeded | ( | ) |
Notify the client the transfer is successful.
Definition at line 1290 of file manager.cpp.
Unhold all conference participants.
the | conference id |
Definition at line 1329 of file manager.cpp.
References jami::Conference::getConfId(), jami::Conference::getState(), jami::Conference::getStateStr(), jami::Conference::getSubCalls(), JAMI_DBG, and jami::Conference::setState().
Referenced by libjami::unholdConference().
void jami::Manager::unregisterAccounts | ( | ) |
Send unregister for all enabled accounts.
Definition at line 1046 of file manager.cpp.
std::shared_ptr< dhtnet::upnp::UPnPContext > jami::Manager::upnpContext | ( | ) | const |
Definition at line 1717 of file manager.cpp.
Referenced by libjami::connectivityChanged().
|
friend |
AccountFactory jami::Manager::accountFactory |
Definition at line 853 of file manager.h.
Referenced by addAccount(), hasAccount(), loadAccountAndConversation(), loadAccountMap(), and removeAccount().
AudioPreference jami::Manager::audioPreference |
Audio preferences.
Definition at line 90 of file manager.h.
Referenced by getAudioManager(), getCurrentAudioOutputPlugin(), getIsAlwaysRecording(), getNoiseSuppressState(), libjami::getRecordPath(), jami::Manager::ManagerPimpl::initAudioDriver(), isAGCEnabled(), loadAccountMap(), setAGCState(), setAudioManager(), setIsAlwaysRecording(), setNoiseSuppressState(), libjami::setRecordPath(), and jami::Recordable::toggleRecording().
Definition at line 116 of file manager.h.
Referenced by init(), and loadAccountAndConversation().
CallFactory jami::Manager::callFactory |
Definition at line 794 of file manager.h.
Referenced by jami::ConversationModule::call(), getCallList(), jami::JamiAccount::newIncomingCall(), and jami::SIPAccount::newIncomingCall().
unsigned jami::Manager::dhtLogLevel {0} |
|
static |
Definition at line 108 of file manager.h.
Referenced by init(), libjami::initialized(), instance(), and jami::video::notify().
Preferences jami::Manager::preferences |
General preferences configuration.
Definition at line 80 of file manager.h.
Referenced by addAccount(), getHistoryLimit(), getRingingTimeout(), loadAccountMap(), loadAccountOrder(), removeAccount(), setAccountsOrder(), setHistoryLimit(), and setRingingTimeout().
VoipPreference jami::Manager::voipPreferences |
Voip related preferences.
Definition at line 85 of file manager.h.
Referenced by libjami::isDtmfMuted(), loadAccountMap(), and libjami::muteDtmf().