From 64536009a8649a4311b54cd31d835c7737139c88 Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sun, 10 Apr 2011 19:38:42 +0200 Subject: [PATCH] Store buddies in DB --- spectrum/src/sample.cfg | 2 +- src/rosterstorage.cpp | 1 + src/user.cpp | 4 ++-- src/usermanager.cpp | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/spectrum/src/sample.cfg b/spectrum/src/sample.cfg index 5a7e5cd6..5daa303e 100644 --- a/spectrum/src/sample.cfg +++ b/spectrum/src/sample.cfg @@ -2,7 +2,7 @@ jid = icq.localhost password = secret server = 127.0.0.1 -port = 8888 +port = 5222 protocol=prpl-jabber server_mode=1 diff --git a/src/rosterstorage.cpp b/src/rosterstorage.cpp index a3659079..b76c369c 100644 --- a/src/rosterstorage.cpp +++ b/src/rosterstorage.cpp @@ -78,6 +78,7 @@ RosterStorage::RosterStorage(User *user, StorageBackend *storageBackend) { m_user = user; m_storageBackend = storageBackend; m_storageTimer = m_user->getComponent()->getFactories()->getTimerFactory()->createTimer(5000); + m_storageTimer->onTick.connect(boost::bind(&RosterStorage::storeBuddies, this)); } RosterStorage::~RosterStorage() { diff --git a/src/user.cpp b/src/user.cpp index c2c8630c..5819f4bf 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -117,9 +117,9 @@ void User::handleDisconnected(const std::string &error) { msg->setTo(m_jid.toBare()); msg->setFrom(m_component->getJID()); m_component->getStanzaChannel()->sendMessage(msg); - + std::cout << "aaaaaa\n"; if (m_component->inServerMode()) { - dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); +// dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); } m_userManager->removeUser(this); diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 1e02d89f..c58daedf 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -23,6 +23,7 @@ #include "transport/transport.h" #include "transport/storagebackend.h" #include "transport/conversationmanager.h" +#include "transport/rostermanager.h" namespace Transport { @@ -125,6 +126,7 @@ void UserManager::handlePresence(Swift::Presence::ref presence) { // // // // user = new User(presence->getFrom(), res, m_component, this); + user->getRosterManager()->setStorageBackend(m_storageBackend); // TODO: handle features somehow // // user->setFeatures(isVip ? CONFIG().VIPFeatures : CONFIG().transportFeatures); // // // if (c != NULL)