1.0.6 candidate
[qtmeetings] / src / IO / Communication / Communication.cpp
index 5c3b924..04a26e2 100644 (file)
@@ -1,14 +1,16 @@
 #include "Communication.h"
 #include "ConnectionSettings.h"
 #include <QAuthenticator>
+#include "Configuration.h"
+#include <QDebug>
 
-Communication::Communication( const ConnectionSettings &aConnection ) :
+
+Communication::Communication() :
        iCurrentRequest(0),
        iAuthFailCount(0)
 {
-       iConnectionSettings = new ConnectionSettings( aConnection );
+       iHttp = new QHttp(Configuration::instance()->getServerUrl().toString()/*Configuration::instance()->getServerUrl().toString()*/, QHttp::ConnectionModeHttps );
 
-       iHttp = new QHttp( iConnectionSettings->serverUrl().toString(), QHttp::ConnectionModeHttps );
 
        connect( iHttp,
                         SIGNAL( readyRead( const QHttpResponseHeader& ) ),
@@ -39,11 +41,12 @@ Communication::Communication( const ConnectionSettings &aConnection ) :
                         iHttp,
                         SLOT( ignoreSslErrors() )/*this, SLOT( notifySsl( const QList<QSslError>& ) )*/
                        );
+       connect(Configuration::instance(),SIGNAL(configrationChanged()), SLOT(configurationChanged()));
 }
 
 Communication::~Communication()
 {
-       delete iConnectionSettings;
+       //delete iConnectionSettings;
        delete iHttp;
        QList<QByteArray*> responses = iResponses.values();
        while(!responses.isEmpty())
@@ -86,8 +89,9 @@ void Communication::handleResults( int aId, bool /*aError*/ )
 
 void Communication::handleAuthentication( const QString& /*aHost*/, quint16 /*aPort*/, QAuthenticator* aAuthenticator )
 {
-       aAuthenticator->setPassword( iConnectionSettings->password() );
-       aAuthenticator->setUser( iConnectionSettings->username() );
+
+       aAuthenticator->setPassword( Configuration::instance()->getPassword() );
+       aAuthenticator->setUser( Configuration::instance()->getUsername() );
        iAuthFailCount++;
        if( iAuthFailCount > 1 )
        {
@@ -99,9 +103,12 @@ int Communication::request( const QString &aCommand, const QByteArray &aContent
 {
        if( iAuthFailCount > 1 )
                return 0;
-       
+
+       iHttp->setHost(Configuration::instance()->getServerUrl().toString(),QHttp::ConnectionModeHttps);
        QHttpRequestHeader header( QString( "POST" ), QString( "/ews/exchange.asmx" ) );
-       header.setValue( "Host", iConnectionSettings->serverUrl().toString() );
+
+       header.setValue( "Host",Configuration::instance()->getServerUrl().toString() );
+
        QString command = aCommand;
        header.setContentType( command );
 
@@ -131,3 +138,8 @@ void Communication::handleReadProgress( int aDone, int aTotal )
 {
        emit readProgress( iCurrentRequest, aDone, aTotal );
 }
+
+void Communication::configurationChanged()
+{
+       iHttp->setHost(Configuration::instance()->getServerUrl().toString(),QHttp::ConnectionModeHttps );
+}