summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-10-23 21:08:19 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-11-03 12:17:40 (GMT)
commit9d9fb66aefef85a1c5ad432391014d15011747d1 (patch)
tree55b1ebe7dcb0108008a28ebf8fee773b27e60547 /Swift/Controllers
parentd509598b0f0edf5e103caedbab8662edc834445e (diff)
downloadswift-contrib-9d9fb66aefef85a1c5ad432391014d15011747d1.zip
swift-contrib-9d9fb66aefef85a1c5ad432391014d15011747d1.tar.bz2
Added ClientDiscoManager.
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/MainController.cpp17
-rw-r--r--Swift/Controllers/MainController.h5
2 files changed, 4 insertions, 18 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index f3b9977..5556a00 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -48,9 +48,9 @@
#include "Swiften/Elements/VCardUpdate.h"
#include "Swift/Controllers/Settings/SettingsProvider.h"
#include "Swiften/Elements/DiscoInfo.h"
-#include "Swiften/Disco/DiscoInfoResponder.h"
#include "Swiften/Disco/CapsInfoGenerator.h"
#include "Swiften/Disco/GetDiscoInfoRequest.h"
+#include "Swiften/Disco/ClientDiscoManager.h"
#include "Swiften/VCards/GetVCardRequest.h"
#include "Swiften/StringCodecs/SHA1.h"
#include "Swiften/StringCodecs/Hexify.h"
@@ -99,7 +99,6 @@ MainController::MainController(
rosterController_ = NULL;
chatsManager_ = NULL;
eventWindowController_ = NULL;
- discoResponder_ = NULL;
mucSearchController_ = NULL;
quitRequested_ = false;
@@ -173,11 +172,6 @@ void MainController::resetClient() {
resetPendingReconnects();
delete mucSearchController_;
mucSearchController_ = NULL;
- if (discoResponder_) {
- discoResponder_->stop();
- delete discoResponder_;
- discoResponder_ = NULL;
- }
delete eventWindowController_;
eventWindowController_ = NULL;
delete chatsManager_;
@@ -247,12 +241,8 @@ void MainController::handleConnected() {
discoInfo.addIdentity(DiscoInfo::Identity(CLIENT_NAME, "client", "pc"));
discoInfo.addFeature("urn:xmpp:sec-label:0");
discoInfo.addFeature(ChatState::getFeatureNamespace());
- capsInfo_ = boost::shared_ptr<CapsInfo>(new CapsInfo(CapsInfoGenerator(CLIENT_NODE).generateCapsInfo(discoInfo)));
-
- discoResponder_ = new DiscoInfoResponder(client_->getIQRouter());
- discoResponder_->setDiscoInfo(discoInfo);
- discoResponder_->setDiscoInfo(capsInfo_->getNode() + "#" + capsInfo_->getVersion(), discoInfo);
- discoResponder_->start();
+ client_->getDiscoManager()->setCapsNode(CLIENT_NODE);
+ client_->getDiscoManager()->setDiscoInfo(discoInfo);
mucSearchController_ = new MUCSearchController(jid_, uiEventStream_, mucSearchWindowFactory_, client_->getIQRouter());
}
@@ -317,7 +307,6 @@ void MainController::sendPresence(boost::shared_ptr<Presence> presence) {
if (!vCardPhotoHash_.isEmpty()) {
presence->updatePayload(boost::shared_ptr<VCardUpdate>(new VCardUpdate(vCardPhotoHash_)));
}
- presence->updatePayload(capsInfo_);
client_->getPresenceSender()->sendPresence(presence);
if (presence->getType() == Presence::Unavailable) {
logout();
diff --git a/Swift/Controllers/MainController.h b/Swift/Controllers/MainController.h
index c36c136..c05d098 100644
--- a/Swift/Controllers/MainController.h
+++ b/Swift/Controllers/MainController.h
@@ -17,8 +17,8 @@
#include "Swiften/Base/String.h"
#include "Swiften/Client/ClientError.h"
#include "Swiften/JID/JID.h"
-#include "Swiften/Elements/VCard.h"
#include "Swiften/Elements/DiscoInfo.h"
+#include "Swiften/Elements/VCard.h"
#include "Swiften/Elements/ErrorPayload.h"
#include "Swiften/Elements/Presence.h"
#include "Swift/Controllers/Settings/SettingsProvider.h"
@@ -38,7 +38,6 @@ namespace Swift {
class MainWindowFactory;
class MainWindow;
class RosterController;
- class DiscoInfoResponder;
class LoginWindow;
class EventLoop;
class LoginWindowFactory;
@@ -132,11 +131,9 @@ namespace Swift {
EventController* eventController_;
EventWindowController* eventWindowController_;
LoginWindow* loginWindow_;
- DiscoInfoResponder* discoResponder_;
UIEventStream* uiEventStream_;
XMLConsoleController* xmlConsoleController_;
ChatsManager* chatsManager_;
- boost::shared_ptr<CapsInfo> capsInfo_;
JID jid_;
JID boundJID_;
SystemTrayController* systemTrayController_;