mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-07 22:02:12 +08:00
dring: add message id in IncomingAccountMessage
Change-Id: I5622a466d0baccf906e6934b748719b2aa3ec37b
This commit is contained in:

committed by
Sébastien Blin

parent
a7cf037271
commit
e40f5facdb
@ -11,6 +11,7 @@
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="MapStringString"/>
|
||||
<arg type="s" name="accountType" direction="in" tp:type="String">
|
||||
</arg>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="MapStringString"/>
|
||||
<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
|
||||
</arg>
|
||||
</method>
|
||||
@ -99,6 +100,7 @@
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="MapStringString"/>
|
||||
<arg type="s" name="accountID" direction="in">
|
||||
</arg>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="MapStringString"/>
|
||||
<arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map">
|
||||
</arg>
|
||||
</method>
|
||||
@ -563,8 +565,8 @@
|
||||
|
||||
<method name="getNearbyPeers" tp:name-for-bindings="getNearbyPeers">
|
||||
<arg type="s" name="accountID" direction="in"/>
|
||||
<arg type="a{ss}" name="result" direction="out" tp:type="String_String_Map"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="MapStringString"/>
|
||||
<arg type="a{ss}" name="result" direction="out" tp:type="String_String_Map"/>
|
||||
<tp:docstring>
|
||||
Get Discovered Peer Map
|
||||
</tp:docstring>
|
||||
@ -592,9 +594,10 @@
|
||||
Notify clients that a new text message has been received at the account level.
|
||||
</tp:docstring>
|
||||
<arg type="s" name="accountID"/>
|
||||
<arg type="s" name="messageID"/>
|
||||
<arg type="s" name="from"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="MapStringString"/>
|
||||
<arg type="a{ss}" name="payloads"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In3" value="MapStringString"/>
|
||||
<arg type="a{ss}" name="payloads"/>
|
||||
</signal>
|
||||
|
||||
<signal name="accountMessageStatusChanged" tp:name-for-bindings="accountMessageStatusChanged">
|
||||
|
@ -175,7 +175,7 @@ DBusClient::initLibrary(int flags)
|
||||
exportable_callback<ConfigurationSignal::RegistrationStateChanged>(bind(&DBusConfigurationManager::registrationStateChanged, confM, _1, _2, _3, _4)),
|
||||
exportable_callback<ConfigurationSignal::VolatileDetailsChanged>(bind(&DBusConfigurationManager::volatileAccountDetailsChanged, confM, _1, _2)),
|
||||
exportable_callback<ConfigurationSignal::Error>(bind(&DBusConfigurationManager::errorAlert, confM, _1)),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&DBusConfigurationManager::incomingAccountMessage, confM, _1, _2, _3 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&DBusConfigurationManager::incomingAccountMessage, confM, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::AccountMessageStatusChanged>(bind(&DBusConfigurationManager::accountMessageStatusChanged, confM, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::ComposingStatusChanged>(bind(&DBusConfigurationManager::composingStatusChanged, confM, _1, _2, _3 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&DBusConfigurationManager::incomingTrustRequest, confM, _1, _2, _3, _4 )),
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
virtual void accountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
|
||||
virtual void registrationStateChanged(const std::string& account_id, const std::string& state, int code, const std::string& detail_str){}
|
||||
virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
|
||||
virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
|
||||
virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*message_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
|
||||
virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){}
|
||||
virtual void composingStatusChanged(const std::string& /*account_id*/, const std::string& /*from*/, int /*state*/){}
|
||||
virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){}
|
||||
@ -242,7 +242,7 @@ public:
|
||||
virtual void accountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
|
||||
virtual void registrationStateChanged(const std::string& account_id, const std::string& state, int code, const std::string& detail_str){}
|
||||
virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
|
||||
virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
|
||||
virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*message_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
|
||||
virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){}
|
||||
virtual void composingStatusChanged(const std::string& /*account_id*/, const std::string& /*from*/, int /*state*/){}
|
||||
virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){}
|
||||
|
@ -261,7 +261,7 @@ void init(ConfigurationCallback* confM, Callback* callM, PresenceCallback* presM
|
||||
exportable_callback<ConfigurationSignal::KnownDevicesChanged>(bind(&ConfigurationCallback::knownDevicesChanged, confM, _1, _2)),
|
||||
exportable_callback<ConfigurationSignal::ExportOnRingEnded>(bind(&ConfigurationCallback::exportOnRingEnded, confM, _1, _2, _3)),
|
||||
exportable_callback<ConfigurationSignal::Error>(bind(&ConfigurationCallback::errorAlert, confM, _1)),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&ConfigurationCallback::incomingAccountMessage, confM, _1, _2, _3 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&ConfigurationCallback::incomingAccountMessage, confM, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::AccountMessageStatusChanged>(bind(&ConfigurationCallback::accountMessageStatusChanged, confM, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::ComposingStatusChanged>(bind(&ConfigurationCallback::composingStatusChanged, confM, _1, _2, _3 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&ConfigurationCallback::incomingTrustRequest, confM, _1, _2, _3, _4 )),
|
||||
|
@ -148,7 +148,7 @@ void init(const v8::Handle<v8::Value> &funcMap){
|
||||
exportable_callback<ConfigurationSignal::RegisteredNameFound>(bind(®isteredNameFound, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::VolatileDetailsChanged>(bind(&volatileDetailsChanged, _1, _2)),
|
||||
exportable_callback<ConfigurationSignal::KnownDevicesChanged>(bind(&knownDevicesChanged, _1, _2 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&incomingAccountMessage, _1, _2, _3 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&incomingAccountMessage, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::AccountMessageStatusChanged>(bind(&accountMessageStatusChanged, _1, _2, _3, _4 )),
|
||||
exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&incomingTrustRequest, _1, _2, _3, _4 )),
|
||||
};
|
||||
|
@ -2,7 +2,7 @@ dnl Jami - configure.ac for automake 1.9 and autoconf 2.59
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ([2.65])
|
||||
AC_INIT([Jami Daemon],[8.0.0],[ring@gnu.org],[jami])
|
||||
AC_INIT([Jami Daemon],[9.0.0],[ring@gnu.org],[jami])
|
||||
|
||||
AC_COPYRIGHT([[Copyright (c) Savoir-faire Linux 2004-2019]])
|
||||
AC_REVISION([$Revision$])
|
||||
|
@ -284,7 +284,7 @@ struct DRING_PUBLIC ConfigurationSignal {
|
||||
};
|
||||
struct DRING_PUBLIC IncomingAccountMessage {
|
||||
constexpr static const char* name = "IncomingAccountMessage";
|
||||
using cb_type = void(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payloads*/);
|
||||
using cb_type = void(const std::string& /*account_id*/, const std::string& /*message_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payloads*/);
|
||||
};
|
||||
struct DRING_PUBLIC AccountMessageStatusChanged {
|
||||
constexpr static const char* name = "AccountMessageStatusChanged";
|
||||
|
@ -1992,7 +1992,7 @@ JamiAccount::doRegister_()
|
||||
}
|
||||
std::map<std::string, std::string> payloads = {{datatype,
|
||||
utf8_make_valid(v.msg)}};
|
||||
onTextMessage(peer_account.toString(), payloads);
|
||||
onTextMessage(std::to_string(v.id), peer_account.toString(), payloads);
|
||||
JAMI_DBG() << "Sending message confirmation " << v.id;
|
||||
dht_->putEncrypted(inboxDeviceKey,
|
||||
v.from,
|
||||
@ -2019,12 +2019,12 @@ JamiAccount::doRegister_()
|
||||
}
|
||||
|
||||
void
|
||||
JamiAccount::onTextMessage(const std::string& from,
|
||||
JamiAccount::onTextMessage(const std::string& id, const std::string& from,
|
||||
const std::map<std::string, std::string>& payloads)
|
||||
{
|
||||
try {
|
||||
const std::string fromUri = parseJamiUri(from);
|
||||
SIPAccountBase::onTextMessage(fromUri, payloads);
|
||||
SIPAccountBase::onTextMessage(id, fromUri, payloads);
|
||||
} catch (...) {
|
||||
}
|
||||
}
|
||||
|
@ -271,7 +271,7 @@ public:
|
||||
std::shared_ptr<SIPCall>
|
||||
newIncomingCall(const std::string& from, const std::map<std::string, std::string>& details = {}, const std::shared_ptr<SipTransport>& sipTr = nullptr) override;
|
||||
|
||||
void onTextMessage(const std::string& from, const std::map<std::string, std::string>& payloads) override;
|
||||
void onTextMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& payloads) override;
|
||||
|
||||
virtual bool isTlsEnabled() const override {
|
||||
return true;
|
||||
|
@ -454,7 +454,7 @@ SIPAccountBase::getIceOptions() const noexcept
|
||||
}
|
||||
|
||||
void
|
||||
SIPAccountBase::onTextMessage(const std::string& from,
|
||||
SIPAccountBase::onTextMessage(const std::string& id, const std::string& from,
|
||||
const std::map<std::string, std::string>& payloads)
|
||||
{
|
||||
JAMI_DBG("Text message received from %s, %zu part(s)", from.c_str(), payloads.size());
|
||||
@ -482,7 +482,7 @@ SIPAccountBase::onTextMessage(const std::string& from,
|
||||
}
|
||||
}
|
||||
}
|
||||
emitSignal<DRing::ConfigurationSignal::IncomingAccountMessage>(accountID_, from, payloads);
|
||||
emitSignal<DRing::ConfigurationSignal::IncomingAccountMessage>(accountID_, id, from, payloads);
|
||||
DRing::Message message;
|
||||
message.from = from;
|
||||
message.payloads = payloads;
|
||||
|
@ -279,7 +279,7 @@ public:
|
||||
return messageEngine_.cancel(id);
|
||||
}
|
||||
|
||||
virtual void onTextMessage(const std::string& from, const std::map<std::string, std::string>& payloads);
|
||||
virtual void onTextMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& payloads);
|
||||
|
||||
/* Returns true if the username and/or hostname match this account */
|
||||
virtual MatchRank matches(const std::string &username, const std::string &hostname) const = 0;
|
||||
|
@ -249,7 +249,7 @@ transaction_request_cb(pjsip_rx_data *rdata)
|
||||
// Process message content in case of multi-part body
|
||||
auto payloads = im::parseSipMessage(rdata->msg_info.msg);
|
||||
if (payloads.size() > 0)
|
||||
account->onTextMessage(peerNumber, payloads);
|
||||
account->onTextMessage({}, peerNumber, payloads);
|
||||
return PJ_FALSE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user