Tests/TestApp/Mainwindow.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.

#include "Mainwindow.h"
#include <QUrl>
#include <QDebug>
#include <QImage>
#include <QVariant>
#include <QtGui>
#include <QDataStream>
#include <smfprovider.h>
#include <qcontactguid.h>


/*#ifndef TEST_FLICKR
#define TEST_FLICKR
#define PROVIDER_NAME  "Flickr"
*/
//Test Cases
/*
#define TEST_CASE_FLCRAlbums
#define TEST_CASE_FLCRUpload*/
//#define TEST_CASE_FLCRPictures

//#define TEST_CASE_FLCRMultiUpload
//#define TEST_CASE_FLCRDescription
//#define TEST_CASE_FLCRPostComment
//#endif
/*
 */
#ifndef  TEST_FACEBOOK
#define TEST_FACEBOOK
#define PROVIDER_NAME  "Facebook"

#define TEST_CASE_FBFrndActvities
#endif
/*
#ifndef  TEST_LastFm
#define TEST_LastFm
#define PROVIDER_NAME  "last.fm"
#endif


#ifndef  TEST_LyricsFly
#define TEST_LyricsFly
#define PROVIDER_NAME  "Last.fm"
#endif
*/





MainWindow::MainWindow(QWidget *parent):QWidget(parent)
{
	pB = new QPushButton("Start Test Application",this);
	QObject::connect(pB,SIGNAL(clicked()),this,SLOT(StartTesting()));

}
MainWindow::~MainWindow()
{
}
void MainWindow::StartTesting()
{
/*#ifdef TEST_FLICKR
TestFlickrAPIS();
#endif
*/

#ifdef TEST_FACEBOOK
TestFaceBookAPIS();
#endif

}

void MainWindow::TestFlickrAPIS()
{
		SmfClient m_smf;
		QList<SmfProvider> *providerList = m_smf.GetServices("org.symbian.smf.client.gallery");
		qDebug() <<"SmfGallery::get services  "<<providerList->length() ;
		qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
		
		SmfError error =(SmfError) 100;
		QString str = m_smf.errorString(error);
		
		qDebug() << "SmfClient::error string returned " << str;	
		foreach(SmfProvider provider, *providerList)
					{
						if(PROVIDER_NAME == provider.serviceName())
						{
						qDebug()<<"Plugin for flickr found";
													
						pSmfGallery = new SmfGallery(&provider);
#ifdef TEST_CASE_FLCRUpload
						
						TEST_CASE_FLCRUpload_func(pSmfGallery);

#endif	
		
#ifdef TEST_CASE_FLCRMultiUpload	
						TEST_CASE_FLCRMultiUpload_func(pSmfGallery);
#endif
						
#ifdef TEST_CASE_FLCRDescription
						TEST_CASE_FLCRGetDescription_func(pSmfGallery);
						
#endif	
						
#ifdef TEST_CASE_FLCRPostComment
						TEST_CASE_FLCRPostComment_func(pSmfGallery);
						
#endif
#ifdef TEST_CASE_FLCRPictures
						TEST_CASE_FLCRGetPictures_func(pSmfGallery);
						
#endif
#ifdef TEST_CASE_FLCRAlbums
						TEST_CASE_FLCRGetAlbums_func(pSmfGallery);
						
#endif						
						}
					}
}
void MainWindow::TestFaceBookAPIS()
{
	SmfClient m_smf;
	QList <SmfProvider> *services = m_smf.GetServices("org.symbian.smf.plugin.activity.fetcher");
	qDebug() << "SmfClient::GetServices returned " << services->length() << " services.";
	
	foreach(SmfProvider provider, *services)
	    {
	    if(PROVIDER_NAME  == provider.serviceName())
	        {
	        qDebug()<<"Plugin for Facebook found";
	        activityFetcher = new SmfActivityFetcher(&provider);
	        
#ifdef TEST_CASE_FBFrndActvities
	        
	        TEST_CASE_FBFriendsActivities_func(activityFetcher);
	        
#endif
	        }
	    }
}
void MainWindow::TEST_CASE_FLCRUpload_func(SmfGallery *pSmfGallery)
	{
	SmfPictureAlbum smfPictureAlbum;
	SmfPicture smfImage;
	smfImage.setPicture(QImage("C:\\data\\4.jpg","JPG"));
	bool ret = connect(pSmfGallery,SIGNAL(uploadFinished(QList<SmfError> )),
								this,SLOT(uploadFinishedSlot(QList<SmfError> ))); 
	pSmfGallery->upload(&smfImage,&smfPictureAlbum);
	qDebug()<<"SmfGallery::upload picture ";
	}

void MainWindow::TEST_CASE_FLCRMultiUpload_func(SmfGallery *pSmfGallery)
	{

	SmfPictureAlbum smfPictureAlbum;
	smfPictureAlbum.setId("72157624246208730");
	SmfPicture smfPicture1,smfPicture2;
	smfPicture1.setPicture(QImage("C:\\data\\Cyber_towers.jpg","jpg"));
	smfPicture2.setPicture(QImage("C:\\data\\test.jpg","jpg"));          
	QList<SmfPicture> smfPicList;
	smfPicList.append(smfPicture1);
	smfPicList.append(smfPicture2);
	bool ret = connect(pSmfGallery,SIGNAL(uploadFinished(QList<SmfError> )),
										        this,SLOT(uploadFinishedSlot(QList<SmfError> ))); 
	pSmfGallery->upload(&smfPicList,&smfPictureAlbum);
	qDebug()<<"SmfGallery::upload picture List ";
	}
void MainWindow::TEST_CASE_FLCRGetDescription_func(SmfGallery *pSmfGallery)
	{
	SmfPicture smfImage;
	smfImage.setId("5058988107");
	SmfError err = pSmfGallery->description(smfImage);
	bool ret = QObject::connect(pSmfGallery,SIGNAL(descriptionAvailable(QString,SmfError)),
								this,SLOT(descSlot(QString,SmfError ))); 					    	
	qDebug()<<"SmfGallery::get description ";
	}
void MainWindow::TEST_CASE_FLCRPostComment_func(SmfGallery *pSmfGallery)
	{
	SmfPicture smfImage;
	smfImage.setId("5058988107");
	SmfComment smfComment;
	smfComment.setText("Hello Symbian");
	SmfError err = pSmfGallery->postComment(smfImage,smfComment);
	
	bool ret = QObject::connect(pSmfGallery,SIGNAL(uploadFinished(QList<SmfError> )),
			this,SLOT(uploadFinishedSlot(QList<SmfError> ))); 					    	
	qDebug()<<"SmfGallery::Post a Comment ";
	}
void MainWindow::TEST_CASE_FLCRGetPictures_func(SmfGallery *pSmfGallery)
	{
	QList<SmfPictureAlbum> smfAlbumList;
	SmfPictureAlbum smfPictureAlbum;
	smfPictureAlbum.setId("72157624966587095");
	smfAlbumList.append(smfPictureAlbum);
	int pageNum = 0, perPage = 0;
	SmfError err = pSmfGallery->pictures(smfAlbumList,pageNum , perPage);
	bool ret = connect(pSmfGallery,SIGNAL(picturesAvailable(SmfPictureList*, SmfError , SmfResultPage)),
			this, SLOT(picturesAvailableSlot(SmfPictureList*, SmfError , SmfResultPage))); 
	qDebug()<<"SmfGallery::Get picture ";
	}
void MainWindow::TEST_CASE_FLCRGetAlbums_func(SmfGallery *pSmfGallery)
	{
	SmfPictureAlbum smfPictureAlbum;
	SmfPicture smfImage;
	smfImage.setPicture(QImage("C:\\data\\4.jpg","JPG"));
	bool ret = connect(pSmfGallery,SIGNAL(albumsAvailable(SmfPictureAlbumList*, SmfError , SmfResultPage)),
			this, SLOT(albumsAvailableSlot(SmfPictureAlbumList*, SmfError , SmfResultPage)));
	QStringList names;
	SmfContact user; 
	pSmfGallery->albums(names, &user,1,2);
	qDebug()<<"SmfGallery::upload picture ";
	}
void MainWindow::TEST_CASE_FBFriendsActivities_func(SmfActivityFetcher *actvityFetcher)
	{
	
	 SmfContact m_contact;
	 QContactGuid guid;
	 guid.setGuid("100001376714970");
	 QVariant contactId = QVariant::fromValue<QContactGuid>(guid);
	 m_contact.setValue("Guid",contactId);
	 actvityFetcher->friendsActivities(m_contact,1,1);
	 bool ret = connect(actvityFetcher, SIGNAL(resultsAvailable(SmfActivityEntryList*, SmfError , SmfResultPage)),
	 					this, SLOT(activitiesAvailableSlot(SmfActivityEntryList*, SmfError , SmfResultPage)));
	 qDebug()<<"connected"<<ret;
         			
         			}
void MainWindow::albumsAvailableSlot(SmfPictureAlbumList* albums, SmfError error, SmfResultPage resultPage)
	{
	Q_UNUSED(resultPage);
			
	qDebug()<<"Inside HomeView::albumsAvailable()";
	
	m_albumsList = albums;
	if(error)
		{
		SmfClient client;
		QString errStr = client.errorString(error);
		qDebug()<<"Error found, code = "<<error;
		qDebug()<<"Error string is = "<<errStr;
		return;
		}
	
	//display album details
	qDebug()<<"Number of albums retrieved = "<<albums->count();
	if(albums->count() == 0)
		{
		QString smferrString("No Albums");
		return;
		}
	
	QStringList albumPicList;
	QStringList albumNameList;
	foreach(SmfPictureAlbum album, *m_albumsList)
		{
		
		qDebug()<<"Album name = "<<album.title();
		qDebug()<<"Album description = "<<album.description();
		qDebug()<<"Album pictureCount = "<<album.pictureCount();
		qDebug()<<"Album id = "<<album.id();
		}
	

	}

void MainWindow::picturesAvailableSlot(SmfPictureList* picList, SmfError error, SmfResultPage resultPage)
	{
	Q_UNUSED(resultPage)
	qDebug()<<"Inside HomeView::picturesAvailable()";
	
	m_picList = picList;
	if(error)
		{
		SmfClient client;
		QString errStr = client.errorString(error);
		qDebug()<<"Error found, code = "<<error;
		qDebug()<<"Error string is = "<<errStr;
		return;
		}
	
	//display pic description
	qDebug()<<"Number of pic retrieved = "<<picList->count();
	
	QMap<QString, QUrl> urlMap;
	foreach(SmfPicture pic, *picList)
		{
		qDebug()<<"Photo title = "<<pic.title();
		qDebug()<<"Photo posted date = "<<pic.postedDate();
		qDebug()<<"Photo url = "<<pic.url();
		qDebug()<<"Photo id = "<<pic.id();
		}

	
	}

void MainWindow::uploadFinishedSlot( QList<SmfError> error )
{
	SmfClient m_smf;
	QString str = m_smf.errorString(error.at(0));
	qDebug()<<"upload finished";
	qDebug()<<" SMF Error Code"<<str;
 }

void MainWindow::descSlot(QString str,SmfError err )
{
	SmfClient m_smf;
	QString errstr = m_smf.errorString(err);
	qDebug()<<"description string"<<str;
	qDebug()<<" SMF Error Code"<<errstr;
 }
void MainWindow::activitiesAvailableSlot(SmfActivityEntryList* activitiesList, SmfError error, SmfResultPage resultPage)
		{
		Q_UNUSED(resultPage)
		qDebug()<<"Inside HomeView::activitiesAvailable()";
		
		
		qDebug()<<"Number of activities retrieved = "<<activitiesList->count();
		
			SmfClient client;
			QString errStr = client.errorString(error);
			qDebug()<<"Error found, code = "<<error;
			qDebug()<<"Error string is = "<<errStr;
			
			
			
		//display activity description
		qDebug()<<"Number of activities retrieved = "<<activitiesList->count();
		
		
		
		foreach(SmfActivityEntry activity, *activitiesList)
			{
			qDebug()<<"Activity author name = "<<activity.author().value("Name").value<QContactName>().firstName();
			qDebug()<<"Activity title = "<<activity.title().title();
			qDebug()<<"Activity details = "<<activity.details().description();
			}

		
}