From 2fcf167a4e3821fb6c850e207cfdc2b213ba7447 Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sat, 15 Sep 2012 22:17:20 +0200 Subject: [PATCH] Forward ChatState messages to backends --- backends/libpurple/main.cpp | 1 + spectrum/src/sample.cfg | 6 +++--- src/usermanager.cpp | 14 +++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index ca06b68b..0a487ea3 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -561,6 +561,7 @@ class SpectrumNetworkPlugin : public NetworkPlugin { void handleTypingRequest(const std::string &user, const std::string &buddyName) { PurpleAccount *account = m_sessions[user]; if (account) { + LOG4CXX_INFO(logger, user << ": sending typing notify to " << buddyName); serv_send_typing_wrapped(purple_account_get_connection_wrapped(account), buddyName.c_str(), PURPLE_TYPING); } } diff --git a/spectrum/src/sample.cfg b/spectrum/src/sample.cfg index 2cebc3d2..389c4872 100644 --- a/spectrum/src/sample.cfg +++ b/spectrum/src/sample.cfg @@ -13,10 +13,10 @@ admin_password=test #cert=server.pfx #patch to PKCS#12 certificate #cert_password=test #password to that certificate if any users_per_backend=10 -#backend=../..//backends/swiften/spectrum2_swiften_backend +backend=../..//backends/libpurple/spectrum2_libpurple_backend #backend=../../backends/twitter/spectrum2_twitter_backend -backend=/home/hanzz/code/libtransport/backends/libpurple/spectrum2_libpurple_backend -protocol=prpl-jabber +#backend=/home/hanzz/code/libtransport/backends/libpurple/spectrum2_communi_backend +protocol=prpl-icq #protocol=prpl-msn #protocol=any #protocol=prpl-icq diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 9fb0db6d..ebbfb2d1 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -334,7 +334,13 @@ void UserManager::handleMessageReceived(Swift::Message::ref message) { return; } - if (message->getBody().empty()) { + // Do not count chatstate notification... + boost::shared_ptr statePayload = message->getPayload(); + if (!statePayload) { + messageToBackendSent(); + } + + if (message->getBody().empty() && !statePayload) { return; } @@ -344,12 +350,6 @@ void UserManager::handleMessageReceived(Swift::Message::ref message) { } user->getConversationManager()->handleMessageReceived(message); - - // Do not count chatstate notification... - boost::shared_ptr statePayload = message->getPayload(); - if (!statePayload) { - messageToBackendSent(); - } } void UserManager::handleGeneralPresenceReceived(Swift::Presence::ref presence) {