example/LinkedInAuthApp/src/baseDialog.cpp
author cgandhi
Mon, 11 Oct 2010 21:59:54 +0530
changeset 26 83d6a149c755
permissions -rw-r--r--
Submitting following changes - AuthApps for Last.fm and Twitter added API for checking ServiceAuthorization added for SMFCredMgrClient API added for forcefully removing credential details from SMFCredMgr Extra argument checks in SMfClient APIs APIs for service login and logout from SMFClient Redundant members removed from SmfServerSymbian DSM bug fixes Test Apps included
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     1
/**
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     2
* Copyright (c) 2010 Sasken Communication Technologies Ltd.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     3
* All rights reserved.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     5
* under the terms of the "{License}"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     6
* which accompanies  this distribution, and is available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     7
* at the URL "{LicenseUrl}".
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     8
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     9
* Initial Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    10
* Narasimhulu Kavadapu, Sasken Communication Technologies Ltd - Initial contribution
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    11
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    12
* Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    13
* Siddhartha Chandra, Satish Kanteti Sasken Communication Technologies Ltd
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    14
* Description:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    15
* Base class of All dialogs
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    16
*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    17
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    18
#include <QNetworkCookie>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    19
#include <QNetworkRequest>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    20
#include <QNetworkReply>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    21
#include <QWebFrame>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    22
#include <QFile>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    23
#include <QDesktopServices>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    24
#include <QResizeEvent>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    25
#include <QDebug>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    26
#include <qmessagebox.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    27
#include <QNetworkAccessManager>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    28
#include <QPropertyAnimation>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    29
#include <qnetworkproxy.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    30
#include <qdesktopwidget.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    31
#include <qapplication.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    32
//#include <qboxlayout.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    33
#include "baseDialog.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    34
#include "sessionSP.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    35
#include "errorCodes.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    36
#include "keys.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    37
#include <QSslConfiguration>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    38
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    39
static const QString kDefaultTitle = "Connect to Facebook";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    40
static const QString kStringBoundary = "3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    41
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    42
static QNetworkAccessManager namanager;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    43
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    44
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    45
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    46
FBDialog::FBDialog() : iSession(FBSession::session()), /*iWebView ( this  ),*/ iIgnorePageLoadCompleteEvent( false )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    47
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    48
    createControls();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    49
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    50
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    51
FBDialog::FBDialog(FBSession* aSession) : iSession ( aSession ), /*iWebView ( this  ) ,*/ iIgnorePageLoadCompleteEvent ( false )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    52
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    53
    createControls();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    54
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    55
void FBDialog::createControls()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    56
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    57
	iWebView = new QWebView(this);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    58
    iWebView->page()->setNetworkAccessManager(&namanager);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    59
    count = 0;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    60
    iWebView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    61
    /*iWebSettings =  iWebView->page()->settings();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    62
    iWebSettings->offlineStorageDefaultQuota();*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    63
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    64
    layout = new QVBoxLayout(this);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    65
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    66
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    67
    progressbar = new QProgressBar(this);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    68
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    69
    layout->addWidget(iWebView);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    70
    //layout->addWidget(progressbar);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    71
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    72
    setLayout(layout);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    73
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    74
    progressbar->setOrientation(Qt::Horizontal);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    75
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    76
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    77
    connect( iWebView->page(), SIGNAL(linkClicked(const QUrl &)),
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    78
                    this, SLOT(linkClicked(const QUrl &)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    79
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    80
    connect ( iWebView->page(), SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    81
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    82
    connect ( iWebView->page(), SIGNAL(loadStarted()), this, SLOT ( loadStarted()));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    83
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    84
    connect ( iWebView->page(), SIGNAL(loadProgress(int)), this, SLOT ( loadProgress(int)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    85
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    86
    connect (iWebView->page()->networkAccessManager(),SIGNAL( authenticationRequired( QNetworkReply*, QAuthenticator*)),this,SLOT( slotAuthenticationRequired( QNetworkReply*, QAuthenticator*)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    87
    connect (iWebView->page()->networkAccessManager(),SIGNAL( sslErrors( QNetworkReply*,QList<QSslError>&)),this,SLOT( slotsslErrors( QNetworkReply*,QList<QSslError>&)) );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    88
    connect (iWebView->page()->networkAccessManager(),SIGNAL( proxyAuthenticationRequired(QNetworkProxy&, QAuthenticator*)),this,SLOT( slotproxyAuthenticationRequired(QNetworkProxy&, QAuthenticator*)) );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    89
   // connect ()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    90
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    91
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    92
QString FBDialog::generateURL( const QString& aUrl, const QHash<QString, QString>& aParams) const
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    93
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    94
	qDebug()<<"Inside FBDialog::generateURL()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    95
    QString url ( aUrl );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    96
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    97
    QStringList pairs;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    98
    QHashIterator<QString, QString> i(aParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    99
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   100
    while (i.hasNext()) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   101
        i.next();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   102
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   103
        QUrl url (i.value());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   104
        QString pair = i.key() + "=" + url.toEncoded();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   105
        pairs << pair.toUtf8();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   106
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   107
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   108
    if (pairs.count())
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   109
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   110
        url = url + "?" + pairs.join("&");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   111
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   112
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   113
    return url;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   114
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   115
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   116
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   117
QByteArray FBDialog::generatePostBody (const QHash<QString, QString>& aParams) const
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   118
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   119
	qDebug()<<"Inside FBDialog::generatePostBody()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   120
    QByteArray body;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   121
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   122
    if (!aParams.count())
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   123
        return body;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   124
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   125
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   126
    QString endLine = "\r\n--" + kStringBoundary + "\r\n", kStringBoundary;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   127
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   128
    QString tmp = "--" + kStringBoundary + "\r\n";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   129
    body.append(tmp.toUtf8());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   130
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   131
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   132
    QHashIterator<QString, QString> i(aParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   133
    while (i.hasNext()) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   134
        i.next();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   135
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   136
        tmp = "Content-Disposition: form-data; name=\"" + i.key().toUtf8() + "\"\r\n\r\n" ;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   137
        body.append(tmp.toUtf8());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   138
        body.append(i.value().toUtf8());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   139
        body.append(endLine.toUtf8());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   140
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   141
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   142
    return body;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   143
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   144
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   145
void FBDialog::postDismissCleanup()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   146
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   147
    //accept();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   148
    // could also be reject()?
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   149
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   150
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   151
void FBDialog::dismiss (bool /*aAnimated*/) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   152
	qDebug()<<"Inside FBDialog::dismiss()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   153
    dialogWillDisappear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   154
    iLoadingUrl.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   155
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   156
    //todo: do some animations if aAnimated == true !
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   157
    postDismissCleanup();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   158
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   159
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   160
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   161
void FBDialog::dismissWithSuccess( bool aSuccess, bool aAnimated)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   162
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   163
	qDebug()<<"Inside FBDialog::dismissWithSuccess()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   164
  if (aSuccess) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   165
        emit dialogDidSucceed();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   166
  } else {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   167
        emit dialogDidCancel();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   168
  }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   169
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   170
  dismiss(aAnimated);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   171
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   172
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   173
void FBDialog::dismissWithError (const FBError& aError, bool aAnimated)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   174
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   175
	qDebug()<<"Inside FBDialog::dismissWithError()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   176
	qDebug()<<"aError"<<aError.description();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   177
  emit dialogDidFailWithError( aError );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   178
  dismiss(aAnimated);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   179
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   180
void FBDialog::slotAuthenticationRequired( QNetworkReply* reply, QAuthenticator* authenticator )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   181
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   182
		Q_UNUSED(reply)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   183
		Q_UNUSED(authenticator)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   184
		QMessageBox msgbox;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   185
		QString msg ("Error!Authentication Required");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   186
		msgbox.setText(msg);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   187
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   188
void FBDialog::slotsslErrors( QNetworkReply* reply, const QList<QSslError>& errors  )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   189
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   190
		Q_UNUSED(reply)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   191
		Q_UNUSED(errors)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   192
		QMessageBox msgbox;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   193
		QString msg ("Error!SSL Error");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   194
		msgbox.setText(msg);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   195
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   196
void FBDialog::slotproxyAuthenticationRequired( const QNetworkProxy& proxy, QAuthenticator* authenticator  )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   197
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   198
		Q_UNUSED(proxy)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   199
		Q_UNUSED(authenticator)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   200
		QMessageBox msgbox;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   201
		QString msg ("Error!Proxy Authenticatio Required");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   202
		msgbox.setText(msg);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   203
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   204
void FBDialog::cancel()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   205
{}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   206
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   207
void FBDialog::load() {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   208
	qDebug()<<"Inside FBDialog::load()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   209
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   210
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   211
void FBDialog::show()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   212
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   213
	qDebug()<<"Inside FBDialog::show()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   214
    load();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   215
    showMaximized();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   216
    dialogWillAppear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   217
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   218
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   219
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   220
void FBDialog::loadURL(const QString& aUrl, QNetworkAccessManager::Operation aMethod, const QHash<QString, QString>& aGetParams, const QHash<QString, QString>&  aPostParams)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   221
{   
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   222
	Q_UNUSED(aPostParams)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   223
	Q_UNUSED(aMethod)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   224
	Q_UNUSED(aGetParams)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   225
	qDebug()<<"Inside FBDialog::loadURL()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   226
    //proxysettings();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   227
    iIgnorePageLoadCompleteEvent = false;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   228
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   229
    QNetworkCookieJar* cookieJar = iWebView->page()->networkAccessManager()->cookieJar();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   230
    QByteArray body;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   231
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   232
    iLoadingUrl = aUrl;// generateURL(aUrl, aPostParams);/*aUrl;*////*"http://www.google.com/";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   233
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   234
    // This "test cookie" is required by login.php, or it complains that you need to enable JavaScript
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   235
     QNetworkCookie testCookie ("test_cookie", "1");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   236
     testCookie.setDomain ( "www.linkedin.com" );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   237
     testCookie.setPath ( "/" );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   238
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   239
    QList<QNetworkCookie> cookieList;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   240
    cookieList.append(testCookie);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   241
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   242
    cookieJar->setCookiesFromUrl ( cookieList, QUrl(iLoadingUrl) );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   243
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   244
    QUrl url (iLoadingUrl);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   245
    QNetworkRequest request(url);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   246
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   247
    QSslConfiguration config( QSslConfiguration::defaultConfiguration() );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   248
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   249
	request.setSslConfiguration( config );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   250
   /* QString Authorization = "OAuth oauth_nonce=\"" + iSession->stroauth_nonce + "\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"" + iSession->stroauth_timestamp + "\", oauth_consumer_key=\"" + kConsumerKey + "\", oauth_signature=\"" + iSession->stroauth_signature + "\", oauth_version=\"1.0\"";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   251
    qDebug()<<"Authorization: "<<Authorization;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   252
    QByteArray auth = Authorization.toUtf8();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   253
    qDebug()<<"auth:"<<auth;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   254
    //static const char temp[] = "OAuth oauth_nonce="oqwgSYFUD87MHmJJDv7bQqOF2EPnVus7Wkqj5duNByU", oauth_callback="http%3A%2F%2Flocalhost%2Foauth_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1259178158", oauth_consumer_key="ABCDEFGHIJKLMNOPQRSTUVWXYZ", oauth_signature="TLQXuUzM7omwDbtXimn6bLDvfF8=", oauth_version="1.0";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   255
    if (aMethod == QNetworkAccessManager::PostOperation)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   256
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   257
		qDebug()<<"inside : if loop";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   258
        const QString contentType = "multipart/form-data; boundary=" + kStringBoundary;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   259
        request.setRawHeader("Authorization",auth);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   260
        request.setHeader (QNetworkRequest::ContentTypeHeader, contentType);     
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   261
        body = generatePostBody (aPostParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   262
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   263
    bool val = request.hasRawHeader("Authorization");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   264
    qDebug()<<"Value:"<<val;*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   265
    proxysettings();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   266
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   267
    qDebug()<< "Check URL : " << iLoadingUrl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   268
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   269
    //iWebView->load( request, aMethod, body);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   270
    iWebView->load(iLoadingUrl);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   271
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   272
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   273
void FBDialog::proxysettings()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   274
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   275
#ifdef EMULATORTESTING
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   276
	qDebug()<<"proxysettings";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   277
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   278
	// Reading the keys, CSM Stubbed - START
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   279
	QFile file("c:\\data\\DoNotShare.txt");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   280
	if (!file.open(QIODevice::ReadOnly))
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   281
		{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   282
		qDebug()<<"File to read the windows username and password could not be opened, returning!!!";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   283
		return;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   284
		}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   285
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   286
	QByteArray arr = file.readAll();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   287
	QList<QByteArray> list = arr.split(' ');
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   288
	file.close();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   289
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   290
	QString username(list[0]);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   291
	QString password(list[1]);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   292
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   293
    QString httpProxy = "10.1.0.214";//ipwproxy.sasken.com
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   294
    QString httpPort = "3128";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   295
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   296
    QString httpUser =username;/* This could be taken thru an QDialog implmentation to remove the Hard coding */
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   297
    QString httpPass =password;/* This could be taken thru an QDialog implmentation to remove the Hard coding */
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   298
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   299
    /*==Classes used from Network Module==*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   300
    QNetworkProxy proxy;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   301
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   302
    proxy.setType(QNetworkProxy::HttpProxy);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   303
    proxy.setHostName(httpProxy);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   304
    proxy.setPort(httpPort.toInt());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   305
    proxy.setUser(httpUser);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   306
    proxy.setPassword(httpPass);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   307
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   308
    QNetworkProxy::setApplicationProxy(proxy);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   309
#endif
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   310
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   311
void FBDialog::dialogWillAppear() {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   312
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   313
void FBDialog::dialogWillDisappear() {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   314
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   315
void FBDialog::dialogDidSucceed (const QUrl& /*aUrl*/) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   316
  dismissWithSuccess(true,true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   317
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   318
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   319
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   320
void FBDialog::linkClicked ( const QUrl & url )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   321
 {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   322
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   323
        qDebug() << "Loading the url: " <<  url;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   324
        
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   325
        proxysettings();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   326
			
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   327
        iWebView->load(url);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   328
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   329
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   330
void FBDialog::loadStarted()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   331
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   332
    qDebug() << "Load started: " << iWebView->url();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   333
    iWebView->repaint();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   334
    QNetworkCookie cookie;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   335
    cookie.setSecure(true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   336
    layout->addWidget(progressbar);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   337
    progressbar->setVisible(true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   338
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   339
void FBDialog::loadProgress(int progress)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   340
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   341
	progressbar->setValue(progress);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   342
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   343
void FBDialog::GetSessionKey(const QUrl& aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   344
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   345
	Q_UNUSED(aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   346
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   347
void FBDialog::FetchKeyFromUrl(const QUrl& aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   348
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   349
	Q_UNUSED(aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   350
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   351
void FBDialog::loadFinished ( bool ok )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   352
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   353
    qDebug() << "Load " << (ok ? "" : "un") << "successfull for: " << iWebView->url();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   354
    progressbar->setVisible(false);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   355
    layout->removeWidget(progressbar);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   356
	QNetworkCookieJar kl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   357
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   358
    if (ok)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   359
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   360
		QString myhtml  = iWebView->page()->currentFrame()->toHtml();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   361
		qDebug()<<"MyHtml:"<<myhtml.trimmed();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   362
		QString PAth = iWebView->url().toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   363
		PAth = PAth.mid(0,PAth.indexOf("?"));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   364
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   365
		qDebug() << "Path is : " << PAth;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   366
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   367
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   368
    else
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   369
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   370
        if (iIgnorePageLoadCompleteEvent)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   371
            return;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   372
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   373
        FBError err;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   374
        dismissWithError(err, true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   375
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   376
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   377
void FBDialog::GetAccessToken()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   378
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   379
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   380
}