example/FlickrAuthApp/src/loginDialog.cpp
changeset 17 106a4bfcb866
child 26 83d6a149c755
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/FlickrAuthApp/src/loginDialog.cpp	Thu Aug 05 16:46:37 2010 +0530
@@ -0,0 +1,131 @@
+/**
+* Copyright (c) 2010 Sasken Communication Technologies Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "{License}"
+* which accompanies  this distribution, and is available
+* at the URL "{LicenseUrl}".
+*
+* Initial Contributors:
+* Narasimhulu Kavadapu, Sasken Communication Technologies Ltd - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Login Dialog class of Authentication Application
+*/
+
+#include "authAppConstants.h"
+#include "sessionSP.h"
+#include "errorCodes.h"
+#include "loginDialog.h"
+#include <qdebug.h>
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// global
+
+static const QString kLoginURL = "http://www.flickr.com/services/auth/"; 
+//static const QString kLoginURL = "http://www.flickr.com/auth-72157623913597531";
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+void FBLoginDialog::connectToGetFullToken()
+{
+	if(iGetSessionRequest == NULL ){
+		
+		iGetSessionRequest = FBRequest::requestWithSession(iSession);
+	
+		connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
+		connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
+		connect(iGetSessionRequest, SIGNAL(requestFailedWithFlickrError(FBError)), this, SLOT(requestFailedWithFlickrError(FBError)));
+		
+	}
+	
+	 iGetSessionRequest->callforToken();
+}
+void FBLoginDialog::connecttoGetFrob()
+{
+	qDebug()<<"Inside FBLoginDialog::connecttoGetFrob";
+    iGetSessionRequest = FBRequest::requestWithSession(iSession);
+
+    connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
+    connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
+    connect(iGetSessionRequest, SIGNAL(requestFailedWithFlickrError(FBError)), this, SLOT(requestFailedWithFacebookError(FBError)));
+
+    Dictionary params;
+
+    iGetSessionRequest->call("flickr.auth.getFrob", params);
+    
+}
+void FBLoginDialog::loadLoginPage()
+{
+    Dictionary getParams, postParams;
+    
+    getParams["api_key"] = iSession->apiKey();
+    getParams["perms"] = "delete";
+    getParams["frob"] = iSession->frobKey();
+    
+    FBRequest* req = FBRequest::requestWithSession(iSession);
+    QString sig = req->generateSig(getParams);
+    
+    getParams["api_sig"] = sig;
+    
+    QString fullURL;
+    fullURL = kLoginURL /*+ "?" + "api_key=" + iSession->apiKey() + "&perms=delete&frob=" + iSession->frobKey() + "&api_sig=" + sig*/;
+    
+    loadURL(fullURL,QNetworkAccessManager::GetOperation, getParams, postParams);
+
+}
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+FBLoginDialog::FBLoginDialog() : FBDialog () {}
+
+FBLoginDialog::FBLoginDialog(FBSession* aSession) : FBDialog(aSession) {}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// FBDialog
+
+void FBLoginDialog::load()
+{
+    loadLoginPage();
+}
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// slots for signals from FBRequest
+
+void FBLoginDialog::requestDidLoad(const QVariant& aResult)
+{
+	qDebug()<<"Inside FBLoginDialog::requestDidLoad";
+    bool conversionError = false;
+    QVariantHash object = aResult.toHash();
+    
+    QString frob = object.value("frob").toString();
+    if(frob.length()){
+    	iSession->SaveFrobKey(frob);
+    	show();
+    }
+    qDebug()<<"frob = "<<frob;
+    qDebug() << "Root Object key : " << object.keys().takeFirst() << endl;
+    
+    if(object.keys().takeFirst().compare("auth") == 0)
+    {
+    	
+		QVariantHash childobject = object.value("auth").toHash();
+		qDebug() << "Child Object data : " << childobject << endl;
+		QString token = childobject.value("token").toString();
+		qDebug() << "Read Token value : " << token << endl;
+		if(token.length()){
+			iSession->Savetoken(token);
+		}
+  	
+    }
+}
+
+void FBLoginDialog::requestFailedWithFlickrError (const FBError& aCode )
+{
+    dismissWithError(aCode);
+}
+
+void FBLoginDialog::requestFailedWithNetworkError( QNetworkReply::NetworkError aCode )
+{
+    dismissWithError(aCode);
+}