example/LastFmAuthApp/src/loginDialog.cpp
author cgandhi
Tue, 12 Oct 2010 15:23:52 +0530
changeset 27 b3e1347ac96a
parent 26 83d6a149c755
permissions -rw-r--r--
Updating the information for test applications and results.
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, Sasken Communication Technologies Ltd
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    14
* Description:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    15
* Login Dialog class of Authentication Application
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 "authAppConstants.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    19
#include "sessionSP.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    20
#include "errorCodes.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    21
#include "loginDialog.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    22
#include <qdebug.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    23
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    24
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    25
// global
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    26
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    27
static const QString kLoginURL = "http://www.last.fm/api/auth/";//http://www.flickr.com/services/auth/"; 
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    28
//static const QString kLoginURL = "http://www.flickr.com/auth-72157623913597531";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    29
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    30
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    31
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    32
void FBLoginDialog::connectToGetSession()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    33
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    34
	if(iGetSessionRequest == NULL ){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    35
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    36
		iGetSessionRequest = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    37
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    38
		//connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    39
		//connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    40
		//connect(iGetSessionRequest, SIGNAL(requestFailedWithFlickrError(FBError)), this, SLOT(requestFailedWithFlickrError(FBError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    41
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    42
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    43
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    44
	 iGetSessionRequest->callforToken();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    45
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    46
void FBLoginDialog::connecttoGetFrob()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    47
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    48
	qDebug()<<"Inside FBLoginDialog::connecttoGetFrob";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    49
    iGetSessionRequest = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    50
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    51
    connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    52
    connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    53
    connect(iGetSessionRequest, SIGNAL(requestFailedWithFlickrError(FBError)), this, SLOT(requestFailedWithFacebookError(FBError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    54
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    55
    Dictionary params;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    56
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    57
    iGetSessionRequest->call("auth.getToken", params);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    58
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    59
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    60
void FBLoginDialog::loadLoginPage()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    61
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    62
    Dictionary getParams, postParams;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    63
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    64
    getParams["api_key"] = iSession->apiKey();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    65
    getParams["token"] = iSession->apiToken();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    66
    QString fullURL;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    67
    fullURL = kLoginURL;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    68
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    69
    loadURL(fullURL,QNetworkAccessManager::GetOperation, getParams, postParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    70
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    71
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    72
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    73
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    74
FBLoginDialog::FBLoginDialog() : FBDialog () {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    75
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    76
FBLoginDialog::FBLoginDialog(FBSession* aSession) : FBDialog(aSession) {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    77
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    78
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    79
// FBDialog
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    80
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    81
void FBLoginDialog::load()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    82
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    83
    loadLoginPage();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    84
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    85
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    86
// slots for signals from FBRequest
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    87
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    88
void FBLoginDialog::requestDidLoad(const QVariant& aResult)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    89
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    90
	qDebug()<<"Inside FBLoginDialog::requestDidLoad";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    91
    QVariantHash object = aResult.toHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    92
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    93
    QString mytoken = object.value("token").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    94
    if(mytoken.length()){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    95
    	iSession->SaveToken(mytoken);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    96
    	show();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    97
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    98
    qDebug()<<"Token = "<<mytoken;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    99
    qDebug() << "Root Object key : " << object.keys().takeFirst() << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   100
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   101
    if(object.keys().takeFirst().compare("session") == 0);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   102
        {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   103
        	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   104
    		QVariantHash childobject = object.value("session").toHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   105
    		qDebug() << "Child Object data : " << childobject << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   106
    		QString userName = childobject.value("name").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   107
    		QString sessionKey = childobject.value("key").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   108
    		qDebug() << "Session Key value : " << sessionKey << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   109
    		if(sessionKey.length()){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   110
    			iSession->SaveSession(sessionKey,userName);
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
        }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   114
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   115
/*void FBLoginDialog::requestDidLoadSession(const QVariant& aResult)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   116
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   117
	qDebug()<<"Inside FBLoginDialog::requestDidLoadSession";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   118
    bool conversionError = false;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   119
    QVariantHash object = aResult.toHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   120
    QVariantHash tagName = object.value("session").toHash();  
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   121
    QString mySession = tagName.value("key").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   122
    if(mySession.length()){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   123
    	iSession->SaveFrobKey(mySession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   124
    	show();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   125
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   126
    qDebug()<<"Session Key = "<<mySession;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   127
    qDebug() << "Root Object key : " << object.keys().takeFirst() << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   128
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   129
    if(object.keys().takeFirst().compare("Session") == 0);
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
		QVariantHash childobject = object.value("Session").toHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   133
		qDebug() << "Child Object data : " << childobject << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   134
		QString ses = childobject.value("key").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   135
		qDebug() << "Read Token value : " << ses << endl;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   136
		if(ses.length()){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   137
			iSession->Savetoken(ses);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   138
		}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   139
  	
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
void FBLoginDialog::requestFailedWithFlickrError (const FBError& aCode )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   143
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   144
    dismissWithError(aCode);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   145
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   146
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   147
void FBLoginDialog::requestFailedWithNetworkError( QNetworkReply::NetworkError aCode )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   148
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   149
    dismissWithError(aCode);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   150
}