example/TwitterAuthApp/src/sessionSP.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
* class to maintian session & all credential keys.
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 "sessionSP.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    19
#include "requestSP.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    20
#include <qfile.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    21
#include <QTimer>
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
#include "keys.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    25
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    26
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    27
// global
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    28
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    29
static const QString kAPIRestURL = "http://api.facebook.com/restserver.php";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    30
static const QString kAPIRestSecureURL = "https://api.facebook.com/restserver.php";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    31
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    32
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    33
static const int kMaxBurstRequests = 3;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    34
static const int kBurstDuration = 2;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    35
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    36
static FBSession* sharedSession = NULL;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    37
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    38
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    39
// Static class functions
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    40
FBSession* FBSession::session()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    41
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    42
    return sharedSession;
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
void FBSession::setSession(FBSession* aSession)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    46
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    47
    sharedSession = aSession;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    48
}
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
FBSession* FBSession::sessionForApplication ( const QString& aAppKey, const QString& aAppSecret, const QString& aSessionProxy)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    52
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    53
    FBSession* session = new FBSession ( aAppKey, aAppSecret, aSessionProxy );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    54
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    55
    return session;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    56
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    57
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    58
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    59
// instance public functions
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    60
FBSession::FBSession( const QString& aAppKey, const QString& aAppSecret, const QString& aGetSessionProxy ) :
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    61
        iApiKey (aAppKey),
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    62
        iApiSecret ( aAppSecret ),
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    63
        iGetSessionProxy ( aGetSessionProxy ),
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    64
        iRequestBurstCount(0),
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    65
        m_Client(new SmfCredMgrClient(this))	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    66
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    67
    if (!sharedSession)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    68
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    69
        sharedSession = this;
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
FBSession::~FBSession()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    75
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    76
	if(m_Client){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    77
		delete m_Client;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    78
		m_Client = NULL;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    79
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    80
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    81
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    82
const QString& FBSession::apiURL() const
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    83
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    84
    return kBase;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    85
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    86
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    87
const QString& FBSession::apiSecureURL() const
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    88
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    89
    return kAPIRestSecureURL;
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
bool FBSession::isConnected() const
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    93
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    94
    return iSessionKey.length() > 0 ;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    95
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    96
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    97
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    98
void FBSession::beginSession (const QString& aSessionKey, const QString& aSessionSecret, const QDateTime& aExpires )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    99
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   100
	qDebug()<<"Inside FBSession::beginSession()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   101
    iSessionKey = aSessionKey;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   102
    iSessionSecret = aSessionSecret;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   103
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   104
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   105
    iExpirationDate = aExpires;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   106
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   107
    save();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   108
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   109
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   110
bool FBSession::resume()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   111
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   112
	qDebug()<<"Inside FBSession::resume()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   113
	QString fbCMRegToken = iSettings.value("FBCMRegToken").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   114
	QDateTime fbExpiryTime = iSettings.value("FBExpiryTime").toDateTime();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   115
	SmfAuthParams Params;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   116
	if(m_Client->AuthDataSet(fbCMRegToken,fbExpiryTime,Params))
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   117
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   118
		QByteArray accessToken = Params.value("accessToken");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   119
		emit sessionDidLogin( accessToken );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   120
        return true;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   121
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   122
    return false;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   123
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   124
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   125
void FBSession::cancelLogin() {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   126
	qDebug()<<"Inside FBSession::cancelLogin()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   127
    if (!isConnected()) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   128
        emit sessionDidNotLogin();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   129
    }
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
void FBSession::logout() {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   133
	qDebug()<<"Inside FBSession::logout()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   134
	iExpirationDate = QDateTime();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   135
	iSessionKey.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   136
	iSessionSecret.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   137
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   138
	unsave();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   139
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   140
	emit sessionDidLogout();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   141
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   142
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   143
void FBSession::send (FBRequest* aRequest) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   144
	qDebug()<<"Inside FBSession::send()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   145
    performRequest (aRequest, true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   146
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   147
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   148
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   149
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   150
// instance private functions
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   151
void FBSession::save()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   152
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   153
	qDebug()<<"Inside FBSession::save()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   154
    SmfAuthParams Params;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   155
    Params.insert("ApiKey",kApiKey.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   156
    Params.insert("ConsumerKey",kConsumerKey.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   157
    Params.insert("ConsumerSecret",kConsumerSecret.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   158
    Params.insert("oauth_Token",stroauth_Token.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   159
    Params.insert("oauth_TokenSecret",stroauth_TokenSecret.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   160
    Params.insert("oauth_verifier",stroauth_verifier.toAscii());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   161
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   162
    QList<QUrl> UrlList;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   163
    UrlList.append(QUrl("https://api.twitter.com/oauth/"));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   164
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   165
    QStringList PluginList;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   166
    PluginList.append(QString("twitter.qtplugin"));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   167
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   168
    QString UID("0xEFE2EF23");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   169
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   170
    //Currently Hardcoded with current time bcoz CM is not handling expiry time as '0' value
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   171
    iExpirationDate = QDateTime::currentDateTime();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   172
    iExpirationDate.addYears(1);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   173
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   174
    QString twCMRegToken = m_Client->StoreAuthData(Params,iExpirationDate,UrlList,PluginList,UID,true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   175
    qDebug()<<"Reg token returned by auth app = "<<twCMRegToken;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   176
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   177
    iSettings.remove("twCMRegToken");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   178
    iSettings.remove("twExpiryTime");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   179
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   180
    if(twCMRegToken.size()){
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   181
    	iSettings.setValue("twCMRegToken", twCMRegToken);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   182
    	iSettings.setValue("twExpiryTime", iExpirationDate);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   183
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   184
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   185
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   186
void FBSession::unsave()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   187
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   188
	qDebug()<<"Inside FBSession::unsave()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   189
	//Delete saved keys from Credential Manager.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   190
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   191
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   192
void FBSession::startFlushTimer()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   193
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   194
	int t = kBurstDuration;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   195
    QTimer::singleShot( t, this, SLOT(requestTimerReady()));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   196
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   197
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   198
void FBSession::enqueueRequest(FBRequest* aRequest)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   199
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   200
    iRequestQueue.append(aRequest);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   201
    startFlushTimer();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   202
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   203
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   204
bool FBSession::performRequest(FBRequest* aRequest, bool aEnqueue) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   205
    // Stagger requests that happen in short bursts to prevent the server from rejecting
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   206
    // them for making too many requests in a short time
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   207
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   208
    int seconds = iLastRequestTime.secsTo( QDateTime::currentDateTime() );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   209
	bool burst = seconds && (seconds < kBurstDuration);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   210
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   211
	if (burst && (iRequestBurstCount > kMaxBurstRequests))
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   212
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   213
        if (aEnqueue)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   214
        {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   215
            enqueueRequest(aRequest);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   216
        }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   217
        return false;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   218
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   219
    else
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   220
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   221
        aRequest->connect();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   222
		if (burst) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   223
			iRequestBurstCount++;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   224
		} else {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   225
            iRequestBurstCount = 1;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   226
            iLastRequestTime = aRequest->timeStamp();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   227
        }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   228
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   229
    return true;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   230
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   231
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   232
void FBSession::flushRequestQueue()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   233
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   234
    while ( iRequestQueue.count() ) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   235
      FBRequest* request = iRequestQueue.at(0);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   236
      if (performRequest(request, false)) {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   237
          iRequestQueue.removeAt(0);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   238
      } else {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   239
        startFlushTimer();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   240
        break;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   241
      }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   242
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   243
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   244
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   245
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   246
// instance provate slots
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   247
void FBSession::requestTimerReady()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   248
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   249
    flushRequestQueue();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   250
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   251
void FBSession::send_req (QString uri,FBRequest* aRequest)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   252
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   253
		aRequest->connect_req(uri);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   254
	}