diff --git a/src/api/newcallmodel.h b/src/api/newcallmodel.h index 4e497f0e390913940dd0ec153a667762bad7fd5d..c885f9165ff50c616e46ee293567d09e72e9b6da 100644 --- a/src/api/newcallmodel.h +++ b/src/api/newcallmodel.h @@ -263,6 +263,13 @@ public: */ void muteParticipant(const QString& confId, const QString& peerId, const bool& state); + /** + * Hangup participant + * @param confId The call to change + * @param participant Use contact URI + */ + void hangupParticipant(const QString& confId, const QString& participant); + Q_SIGNALS: /** * Emitted when a call state changes diff --git a/src/newcallmodel.cpp b/src/newcallmodel.cpp index 11302651d3d8c21154174ea601e1d836fce2ef1f..ce2dbeeb3d0dcd95dcb05febe53a7e72d8bdac83 100644 --- a/src/newcallmodel.cpp +++ b/src/newcallmodel.cpp @@ -780,6 +780,12 @@ NewCallModel::muteParticipant(const QString& confId, const QString& peerId, cons CallManager::instance().muteParticipant(confId, peerId, state); } +void +NewCallModel::hangupParticipant(const QString& confId, const QString& participant) +{ + CallManager::instance().hangupParticipant(confId, participant); +} + void NewCallModel::sendSipMessage(const QString& callId, const QString& body) const { diff --git a/src/qtwrapper/callmanager_wrap.h b/src/qtwrapper/callmanager_wrap.h index b50119dd2e63b14c8ee6384b3bb3401d8a9f1fae..6f5e818a47013ba92b0e86fa264f847fa7fb4d8d 100644 --- a/src/qtwrapper/callmanager_wrap.h +++ b/src/qtwrapper/callmanager_wrap.h @@ -396,6 +396,11 @@ public Q_SLOTS: // METHODS DRing::muteParticipant(confId.toStdString(), peerId.toStdString(), state); } + void hangupParticipant(const QString& confId, const QString& participant) + { + DRing::hangupParticipant(confId.toStdString(), participant.toStdString()); + } + Q_SIGNALS: // SIGNALS void callStateChanged(const QString& callID, const QString& state, int code); void transferFailed();