diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-11-25 19:19:28 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-11-25 19:20:53 (GMT) |
| commit | db00adc9810377500e6ab27900b29496a0d05afe (patch) | |
| tree | 0f13d821883e0e99e9b6e7f15c84e3371375cd96 /Swift/Controllers | |
| parent | c198064db0a6444a24220eee65cbf747eb7fbfb0 (diff) | |
| download | swift-db00adc9810377500e6ab27900b29496a0d05afe.zip swift-db00adc9810377500e6ab27900b29496a0d05afe.tar.bz2 | |
Enabled stream compression again.
Diffstat (limited to 'Swift/Controllers')
| -rw-r--r-- | Swift/Controllers/MainController.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index 22d71e5..d94cadc 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -217,118 +217,119 @@ void MainController::sendPresence(boost::shared_ptr<Presence> presence) { if (presence->getType() == Presence::Unavailable) { logout(); } } void MainController::handleInputIdleChanged(bool idle) { if (!client_ || !client_->isAvailable()) { return; } if (idle) { preIdlePresence_ = lastSentPresence_; boost::shared_ptr<Presence> presence(new Presence()); presence->setShow(StatusShow::Away); presence->setStatus("Auto-away"); sendPresence(presence); } else { if (client_) { sendPresence(preIdlePresence_); } else { queuedPresence_ = preIdlePresence_; } } } void MainController::handleIncomingPresence(boost::shared_ptr<Presence> presence) { //FIXME: subscribe, subscribed rosterController_->handleIncomingPresence(presence); } void MainController::handleLoginRequest(const String &username, const String &password, const String& certificateFile, bool remember) { loginWindow_->setMessage(""); ProfileSettingsProvider* profileSettings = new ProfileSettingsProvider(username, settings_); profileSettings->storeString("jid", username); profileSettings->storeString("certificate", certificateFile); profileSettings->storeString("pass", remember ? password : ""); loginWindow_->addAvailableAccount(profileSettings->getStringSetting("jid"), profileSettings->getStringSetting("pass"), profileSettings->getStringSetting("certificate")); delete profileSettings; jid_ = JID(username); password_ = password; certificateFile_ = certificateFile; performLoginFromCachedCredentials(); } void MainController::performLoginFromCachedCredentials() { if (!client_) { client_ = new Swift::Client(jid_, password_); presenceSender_ = new PresenceSender(client_); - //client_->onDataRead.connect(&printIncomingData); - //client_->onDataWritten.connect(&printOutgoingData); + client_->onDataRead.connect(&printIncomingData); + client_->onDataWritten.connect(&printOutgoingData); if (!certificateFile_.isEmpty()) { client_->setCertificate(certificateFile_); } client_->onError.connect(boost::bind(&MainController::handleError, this, _1)); client_->onConnected.connect(boost::bind(&MainController::handleConnected, this)); client_->onMessageReceived.connect(boost::bind(&MainController::handleIncomingMessage, this, _1)); } client_->connect(); } void MainController::handleError(const ClientError& error) { String message; switch(error.getType()) { case ClientError::UnknownError: message = "Unknown Error"; break; case ClientError::DomainNameResolveError: message = "Unable to find server"; break; case ClientError::ConnectionError: message = "Error connecting to server"; break; case ClientError::ConnectionReadError: message = "Error while receiving server data"; break; case ClientError::ConnectionWriteError: message = "Error while sending data to the server"; break; case ClientError::XMLError: message = "Error parsing server data"; break; case ClientError::AuthenticationFailedError: message = "Login/password invalid"; break; + case ClientError::CompressionFailedError: message = "Error while compressing stream"; break; case ClientError::ServerVerificationFailedError: message = "Server verification failed"; break; case ClientError::NoSupportedAuthMechanismsError: message = "Authentication mechanisms not supported"; break; case ClientError::UnexpectedElementError: message = "Unexpected response"; break; case ClientError::ResourceBindError: message = "Error binding resource"; break; case ClientError::SessionStartError: message = "Error starting session"; break; case ClientError::TLSError: message = "Encryption error"; break; case ClientError::ClientCertificateLoadError: message = "Error loading certificate (Invalid password?)"; break; case ClientError::ClientCertificateError: message = "Certificate not authorized"; break; } if (!rosterController_) { //hasn't been logged in yet signOut(); loginWindow_->setMessage(message); } logout(); if (rosterController_) { //reconnectAfterError(); } } void MainController::handleCancelLoginRequest() { signOut(); } void MainController::signOut() { logout(); loginWindow_->loggedOut(); foreach (JIDChatControllerPair controllerPair, chatControllers_) { delete controllerPair.second; } chatControllers_.clear(); foreach (JIDMUCControllerPair controllerPair, mucControllers_) { delete controllerPair.second; } mucControllers_.clear(); delete rosterController_; rosterController_ = NULL; resetClient(); } void MainController::logout() { if (client_ && client_->isAvailable()) { client_->disconnect(); } if (rosterController_) { rosterController_->getWindow()->setMyStatusType(StatusShow::None); rosterController_->getWindow()->setMyStatusText(""); } setManagersEnabled(false); |
Swift