QtFlickr Class Reference

#include <qtflickr.h>

List of all members.

Signals

void requestFinished (int reqId, QtfResponse response, QtfError err, void *userData)
void uploadProgress (int percent)

Public Member Functions

 QtFlickr (const QString &apiKey, const QString &apiSecret, QObject *parent=0)
void setToken (const QString &token)
QUrl authorizationUrl (const QString &frob, const QString &perms="write")
int get (const QtfMethod &method, const QtfRequest &request=QtfRequest(), void *userData=0)
int post (const QtfMethod &method, const QtfRequest &request=QtfRequest(), void *userData=0)
int upload (const QtfPhoto &photo, const QtfRequest &request=QtfRequest(), void *userData=0)

Friends

class QtFlickrPrivate

Detailed Description

Main class of QtFlickr APi
Authorization example:

 UIClass::UIClass
 {
        qtFlickr = new QtFlickr("xxxxxxxxx", "xxxxxxxxxxxxx", this);
        connect(qtFlickr,SIGNAL(requestFinished ( int, QtfResponse, QtfError, void* )),
                this,SLOT(requestFinished ( int, QtfResponse, QtfError, void* )));

        QtfMethod method;
      method.method = "flickr.auth.getFrob";

        QtfRequest request;
      request.requests.insert("frob","");
        frobRequest = qtFlickr->get(method,request);
 }

 void UIClass::requestFinished ( int reqId, QtfResponse data, QtfError err, void* userData )
 {
        if(err.code != 0){
                if(reqId == frobRequest){
                        QString frob = data.tags.value("frob").value;
                        QUrl authUrl = qtFlickr->authorizationUrl(frob);
                        QDesktopServices::openUrl ( authUrl );

                        QMessageBox msgBox;
                        msgBox.setText("Press Ok button when you have completed authorization through web browser")
                        int result = msgBox.exec();
                        if( result == QDialog::Accepted){
                                QtfMethod method;
                              method.method = "flickr.auth.getToken";
                                method.args.insert( "frob", frob );
                                QtfRequest request;
                              request.requests.insert("token","");
                                request.requests.insert("user","username,fullname");
                                tokenRequest = qtFlickr->get(method, request);
                        }
                }else if(reqId == tokenRequest){
                        QString token = data.tags.value("token").value;
                        QString username = data.tags.value("user").attrs.value("username");
                        QString fullname = data.tags.value("user").attrs.value("fullname");

                        qDebug()<<"Your username: "<<username;
                        qDebug()<<"Your fullname: "<<fullname;

                        qtFlickr->setToken(token);
                        //Now you can call authorized calls with "write" permission
                }
        }else{
                qDebug()<<"Error: "<<err.message;
        }
 }

Constructor & Destructor Documentation

QtFlickr::QtFlickr ( const QString &  apiKey,
const QString &  apiSecret,
QObject *  parent = 0 
)

Constructor

Parameters:
apiKey Flickr api key
apiSecret Flickr api secret
parent object

Member Function Documentation

QUrl QtFlickr::authorizationUrl ( const QString &  frob,
const QString &  perms = "write" 
)

Returns authorization url for give frob

Parameters:
frob 
perms "write", "read" or "delete"
int QtFlickr::get ( const QtfMethod method,
const QtfRequest request = QtfRequest(),
void *  userData = 0 
)

Fetches data from Flickr API with GET method

Parameters:
method Flickr API method
request XML request data
userData user data to be transfered through signal/slots mechanism, this parametr has no effect on this function
Returns:
request id
int QtFlickr::post ( const QtfMethod method,
const QtfRequest request = QtfRequest(),
void *  userData = 0 
)

Fetches data from Flickr API with POST method

Parameters:
method Flickr API method
request XML request data
userData user data to be transfered through signal/slots mechanism, this parametr has no effect on this function
Returns:
request id
void QtFlickr::requestFinished ( int  reqId,
QtfResponse  response,
QtfError  err,
void *  userData 
) [signal]

Emitted after get(), post() and upload() functions

Parameters:
reqId The request id
data Response XML data
err possible error
userData user data transfered through signal/slots mechanism
void QtFlickr::setToken ( const QString &  token  ) 

Sets token for the QtFlickr API

Parameters:
token 
int QtFlickr::upload ( const QtfPhoto photo,
const QtfRequest request = QtfRequest(),
void *  userData = 0 
)

Uploads or replaces photo

Parameters:
photo to be uploaded
request XML request data
userData user data to be transfered through signal/slots mechanism, this parametr has no effect on this function
Returns:
request id
void QtFlickr::uploadProgress ( int  percent  )  [signal]

Emitted while photo uploading is in progress

Parameters:
percent 0-100, returns -1 when cannot determine uploading progress.

The documentation for this class was generated from the following files:

Generated on Tue Mar 2 16:37:30 2010 for QtFlickrAPI by Doxygen 1.6.1