Adding support for easy fetching of social happenings (activity streams)
authorcgandhi <chandradeep.gandhi@sasken.com>
Thu, 22 Apr 2010 15:18:37 +0530
changeset 5 edb9dc8273d9
parent 4 969092730d34
child 6 c39a6cfd1fb9
Adding support for easy fetching of social happenings (activity streams)
example/clientapi/example_usage.cpp
example/sampleplugin/sampleplugin.cpp
example/sampleplugin/sampleplugin.h
smf/inc/common/smfactivity/smfactions.h
smf/inc/common/smfactivity/smfactions_p.h
smf/inc/common/smfcomment/smfcomment.h
smf/inc/common/smfcomment/smfcomment_p.h
smf/inc/common/smfcontacts/smfcontact.h
smf/inc/common/smfcontacts/smfcontact_p.h
smf/inc/common/smfcontacts/smfgroup.h
smf/inc/common/smfcontacts/smfpost.h
smf/inc/common/smfcontacts/smfpost_p.h
smf/inc/common/smfdes.h
smf/inc/common/smfevent/smfevent.h
smf/inc/common/smfevent/smfevent_p.h
smf/inc/common/smfmusic/smfalbum.h
smf/inc/common/smfmusic/smfalbum_p.h
smf/inc/common/smfmusic/smfartists.h
smf/inc/common/smfmusic/smfartists_p.h
smf/inc/common/smfmusic/smflyrics.h
smf/inc/common/smfmusic/smflyrics_p.h
smf/inc/common/smfmusic/smfmusicfingerprint.h
smf/inc/common/smfmusic/smfmusicfingerprint_p.h
smf/inc/common/smfmusic/smfmusicprofile.h
smf/inc/common/smfmusic/smfmusicprofile_p.h
smf/inc/common/smfmusic/smfmusicrating.h
smf/inc/common/smfmusic/smfmusicrating_p.h
smf/inc/common/smfmusic/smfplaylist.h
smf/inc/common/smfmusic/smfplaylist_p.h
smf/inc/common/smfmusic/smfsubtitle.h
smf/inc/common/smfmusic/smfsubtitle_p.h
smf/inc/common/smfmusic/smftrackinfo.h
smf/inc/common/smfmusic/smftrackinfo_p.h
smf/inc/common/smfpictures/smfpicture.h
smf/inc/common/smfpictures/smfpicture_p.h
smf/inc/common/smfplace/smfplace.h
smf/inc/common/smfplace/smfplace_p.h
smf/inc/smfclient/smfactivityfetcher.h
smf/inc/smfplugins/base/smfpluginutil.h
smf/inc/smfplugins/base/smfproviderbase.h
smf/inc/smfplugins/smfactivity/smfactivityfetcherplugin.h
smf/inc/smfplugins/smfcontacts/smfcontactfetcherplugin.h
smf/inc/smfplugins/smfcontacts/smfpostproviderplugin.h
smf/inc/smfplugins/smfmusic/smflyricsserviceplugin.h
smf/inc/smfplugins/smfmusic/smfmusiceventsplugin.h
smf/inc/smfplugins/smfmusic/smfmusicsearchplugin.h
smf/inc/smfplugins/smfmusic/smfmusicserviceplugin.h
smf/inc/smfplugins/smfmusic/smfplaylistserviceplugin.h
smf/inc/smfplugins/smfpictures/smfgalleryplugin.h
--- a/example/clientapi/example_usage.cpp	Thu Apr 15 15:40:08 2010 +0530
+++ b/example/clientapi/example_usage.cpp	Thu Apr 22 15:18:37 2010 +0530
@@ -10,6 +10,8 @@
 #include "smftrackinfo.h"
 #include "smfmusicprofile.h"
 #include "smflyrics.h"
+#include "smfactions.h"
+#include "smfactivityfetcher.h"
 #include <qalgorithms.h>
 #include "qtcontacts.h"
 #include <qdatastream.h>
@@ -55,6 +57,8 @@
 	void displayLyrics(SmfTrackInfo currTrack);
 	void showLyrics(SmfLyricsList* list);
 
+	void getActivities();
+	void showActivities(SmfActivityEntryList* entries);
 private:
 	MyAppView* m_view;
 	SmfClient client;
@@ -68,7 +72,7 @@
 void MyApplication::displayGallery()
 	{
 	// Some common interface for finding implementations.
-	QList<SmfProvider>* galleries = client.GetServices("org.symbian.smf.gallery\0.2");
+	QList<SmfProvider>* galleries = client.GetServices("org.symbian.smf.client.gallery\0.2");
 
 	// We will use the first one now
 	SmfProvider smfp = galleries->value(0);
@@ -139,7 +143,7 @@
 void MyApplication::displayFriends()
 	{
 	// Some common interface for finding implementations.
-	QList<SmfProvider>* contactFetcherList = client.GetServices("org.symbian.smf.contact.fetcher\0.2");
+	QList<SmfProvider>* contactFetcherList = client.GetServices("org.symbian.smf.cleint.contact.fetcher\0.2");
 	SmfProvider smfp = contactFetcherList->value(0);
 	SmfContactFetcher* smfcf = new SmfContactFetcher(&smfp);
 	
@@ -176,7 +180,7 @@
 void MyApplication::postUpdate()
 	{
 	// Some common interface for finding implementations.
-	QList<SmfProvider>* postServices = client.GetServices("org.symbian.smf.contact.posts\0.2");
+	QList<SmfProvider>* postServices = client.GetServices("org.symbian.smf.client.contact.posts\0.2");
 
 	//let us use the first one
 	QString servName = postServices->value(0).serviceName();
@@ -216,7 +220,7 @@
 void MyApplication::getMusic(SmfTrackInfo currTrack)
 	{
 	// Some common interface for finding implementations.
-	QList<SmfProvider>* smfProList = client.GetServices("org.symbian.smf.music\0.2");
+	QList<SmfProvider>* smfProList = client.GetServices("org.symbian.smf.client.music\0.2");
 	SmfProvider smfp = smfProList->value(0);
 	SmfMusicSearch* mServer = new SmfMusicSearch(&smfp);
 
@@ -264,7 +268,7 @@
 	{
 
 	// Some common interface for finding implementations.
-	QList<SmfProvider>* smfProList = client.GetServices("org.symbian.smf.music.lyrics\0.2","lyricsfly.com");
+	QList<SmfProvider>* smfProList = client.GetServices("org.symbian.smf.client.music.lyrics\0.2","lyricsfly.com");
 	SmfProvider smfp = smfProList->value(0);
 	SmfLyricsService* lyricsService = new SmfLyricsService(&smfp);
 	QObject::connect(lyricsService,SIGNAL(lyricsAvailable(SmfLyricsList*, QString, SmfResultPage )),this,SLOT(showLyrics(SmfLyricsList*)));
@@ -280,3 +284,53 @@
 	//qSort(list->begin(),list->end(),caseInsensitiveLessThan);
 	m_view->setLyricsData(list->at(0));
 	}
+
+void MyApplication::getActivities()
+	{
+	// Some common interface for finding implementations.
+	QList<SmfProvider>* activityServices = client.GetServices("org.symbian.smf.client.activity.fetcher\0.2");
+
+	//let us use the Facebook one
+	QString servName = activityServices->value(0).serviceName();
+	if(!servName.compare("Facebook.com")) return;
+	SmfProvider smfp = activityServices->value(0);
+	SmfActivityFetcher* myActivityServer = new SmfActivityFetcher(&smfp);
+
+	//Adjust our view to show where these posts came from (e.g. streams from Facebook)
+	//display service name description and the logo
+	m_view->setIcon((myActivityServer->getProvider())->serviceIcon() );
+	m_view->setProvider(myActivityServer->getProvider());
+	m_view->setDescription((myActivityServer->getProvider())->description() );
+	
+	QObject::connect(myActivityServer,
+			SIGNAL(resultsAvailable(SmfActivityEntryList*,QString,SmfResultPage)),
+			this,SLOT(showActivities(SmfActivityEntryList*)));	
+
+	//get a list of updates to my wall
+	myActivityServer->selfActivities();
+	}
+
+void MyApplication::showActivities(SmfActivityEntryList* entries)
+	{
+	foreach(SmfActivityEntry entry, *entries) {
+		SmfContact sc = entry.author();
+		QString desc = (sc.value("Name")).toString();
+		SmfPost details = entry.details();
+		QList<SmfActivityObject> aol = entry.activities();
+		SmfActivityObject sao = aol.value(0);
+		if(SmfActivityMarkAsFavorite == entry.actionName() )
+			{
+			desc.append("  has marked  ");
+			QVariant qv = sao.objData();
+			SmfActivityObjectType otype = sao.type();
+			if((SmfActivityObjTypePhoto == otype ) && (qv.canConvert<SmfPicture>()))
+				{
+				SmfPicture pic = qv.value<SmfPicture>();
+				desc.append( pic.description() );
+				}
+			desc.append("  as Favorite at");
+			QDateTime qdt = sao.time();
+			desc.append(qdt.toString("h:m:s ap"));
+			}
+	}
+	}
--- a/example/sampleplugin/sampleplugin.cpp	Thu Apr 15 15:40:08 2010 +0530
+++ b/example/sampleplugin/sampleplugin.cpp	Thu Apr 22 15:18:37 2010 +0530
@@ -3,6 +3,8 @@
 #include "sampleplugin.h"
 #include <QNetworkRequest>
 #include <QNetworkAccessManager>
+#include <qfile.h>
+#include <stdio.h>
 
 /**
  * Constructor with default argument
@@ -86,7 +88,8 @@
 
 	// Get the oAuth keys from The Smf Server
 	QMap<QString, QString> keys;
-	m_util->getAuthKeys(keys, m_provider->pluginId());
+	QString registrationToken = retrievePrivateRegToken();
+	m_util->getAuthKeys(keys, registrationToken, m_provider->pluginId());
 
 	// Unable to get the tokens
 	if(keys.isEmpty())
@@ -242,7 +245,7 @@
 	QMultiMap<QByteArray, QByteArray> params;
 	params.insert("method", "postComment");
 	params.insert("photoId", aImage.id().toAscii());
-	params.insert("comment", aImage.comments().join(" ").toAscii());
+	params.insert("comment", "excellent Himalaya");
 
 	QNetworkAccessManager::Operation type = QNetworkAccessManager::GetOperation;
 	SmfSignatureMethod signMethod = HMAC_SHA1;
@@ -253,6 +256,29 @@
 	}
 
 /**
+ * This function retrieves the registration token that was provided to Authentication App
+ * while authenticatiing user with the service
+ * 
+ * Plugin source codes are not open source - so free to use anything they like
+ */
+QString SamplePlugin::retrievePrivateRegToken()
+	{
+
+	/**
+	 * This is a private implementation - 
+	 * implementer might choose to use registry to store/retrieve this token
+	 * or to write encrypted (symmetric) token to a file kept at known dir
+	 */
+	QFile qf("/resource/data/sampleplugindata.dat"); 
+	qf.open(QIODevice::ReadOnly);
+	QByteArray qba = qf.read(20); 
+	qba.chop(5);
+	QString rs(qba.toBase64());
+	return rs;
+	}
+
+
+/**
  * Method to get the provider information
  * @return Instance of SmfProviderBase
  */
@@ -477,7 +503,6 @@
 	return ret;
 	}
 
-
 /*
  * Export Macro
  * plugin name : sampleplugin
--- a/example/sampleplugin/sampleplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/example/sampleplugin/sampleplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -136,7 +136,10 @@
 			QMultiMap<QByteArray, QByteArray> &aParams, 
 			const SmfParsingMode aMode,
 			QBuffer *aPostData );
-	
+	/**
+	 * Function to retrieve registration token supplied by SMF to authentication app.
+	 */
+	QString retrievePrivateRegToken();
 private:
 	SampleProviderBase *m_provider;
 	SmfPluginUtil *m_util;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/inc/common/smfactivity/smfactions.h	Thu Apr 22 15:18:37 2010 +0530
@@ -0,0 +1,300 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "Eclipse Public License v1.0"
+ * which accompanies  this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html"
+ *
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Description:
+ * Represents activities in terms similar to standard activity stream http://activitystrea.ms/
+ */
+
+#ifndef SMFACTIONS_H_
+#define SMFACTIONS_H_
+
+#include <QList>
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+
+#include "smfclientglobal.h"
+
+
+/**
+ * The actions in the activity based on Atom Activity Base Schema
+ * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
+ */
+enum SmfActivityVerb
+	{
+	SmfActivityMarkAsFavorite,
+	SmfActivityStartFollowing,
+	SmfActivityMarkLiked,
+	SmfActivityMakeFriend,
+	SmfActivityJoin,
+	SmfActivityPlay,
+	SmfActivityPost,
+	SmfActivitySave,
+	SmfActivityShare,
+	SmfActivityTag,
+	SmfActivityUpdate,
+	};
+
+/**
+ * The type of the object on which the activity is performed - as per Atom Activity Base Schema
+ * see http://activitystrea.ms/schema/1.0/activity-schema-01.html
+ */
+enum SmfActivityObjectType
+	{
+	SmfActivityObjTypeArticle,
+	SmfActivityObjTypeAudio,
+	SmfActivityObjTypeBookmark,
+	SmfActivityObjTypeComment,
+	SmfActivityObjTypeFile,
+	SmfActivityObjTypeFolder,
+	SmfActivityObjTypeGroup,
+	SmfActivityObjTypeList,
+	SmfActivityObjTypeNote,
+	SmfActivityObjTypePerson,
+	SmfActivityObjTypePhoto,
+	SmfActivityObjTypePhotoAlbum,
+	SmfActivityObjTypePlace,
+	SmfActivityObjTypePlaylist,
+	SmfActivityObjTypeProduct,
+	SmfActivityObjTypeReview,
+	SmfActivityObjTypeService,
+	SmfActivityObjTypeStatus,
+	SmfActivityObjTypeVideo,
+	SmfActivityObjTypeMusic,
+	SmfActivityObjTypeEvent,
+	SmfActivityObjTypeAdvanced
+	};
+
+enum SmfActivityFor
+	{
+		SmfActivitySelf,
+		SmfActivityFriend,
+		SmfActivityOthers
+	};
+
+class SmfActivityObjectPrivate;
+/**
+ * @ingroup smf_common_group
+ * The object class represents an object in an activity (e.g.a picture or a music track on which somebody commented)
+ */
+class SMFCLIENT_EXPORT SmfActivityObject 
+	{
+public:
+	/**
+	 * Constructor with default argument
+	 */
+	SmfActivityObject();
+
+	/**
+	 * Copy Constructor
+	 */
+	SmfActivityObject(const SmfActivityObject& aOther);
+	
+	/**
+	 * Destructor
+	 */
+	~SmfActivityObject();
+
+	/**
+	 * retruns service specific Id of this object in the entry 
+	 */
+	QString id() const;
+	
+	/**
+	 * returns thumbnail if availabel for this object in the entry
+	 */
+	QImage thumbnail() const;
+	
+	/**
+	 * Captions for this object
+	 */
+	QString caption() const;
+	
+	/**
+	 * retruns the type of this object
+	 */
+	SmfActivityObjectType type() const;
+	
+	/**
+	 * returns data of the object - see type() for casting
+	 */
+	QVariant objData() const;
+	
+	/**
+	 * url of this object, e.g. url of the image on which somebody commented
+	 */
+	QString link() const;
+	
+	/**
+	 * Time of creation of this object
+	 */
+	QDateTime time() const;
+	
+	/**
+	 * Description of the content of this object
+	 */
+	QString content() const;
+
+	/**
+	 * sets service specific id for this object
+	 */
+	void setId(const QString& aId);
+	
+	/**
+	 * sets thumbnail for this object , not mandatory
+	 */
+	void setThumbnail(const QImage& aIcon);
+	
+	/**
+	 * sets caption for this object
+	 */
+	void setCaption(const QString& aCap);
+	
+	/**
+	 * sets type of this object - ObjData should be set next accordingly
+	 */
+	void setType(const SmfActivityObjectType& aObjType);
+	
+	/**
+	 * sets object data e,g, SmfImage, SmfComment, SmfMusic, SmfEvent etc
+	 * setType() with suitable type should have been called before  
+	 */
+	void setObjData( const QVariant& aData);
+	/**
+	 * sets the url for the object
+	 */
+	void setLink( const QString& aLink);
+	/**
+	 * sets the time of creation/last modification of the object
+	 */
+	void setTime( const QDateTime& aTime);
+	
+	/**
+	 * sets the description of the content of this object
+	 */
+	void setContent( const QString& aText) ;
+	
+private:
+	QSharedDataPointer<SmfActivityObjectPrivate> d;
+	
+	friend QDataStream& operator >> ( QDataStream &aOut, const SmfActivityObject& aData);
+	friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityObject& aData);	
+	};
+// Make the class SmfActivityObject known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfActivityObject)
+
+
+
+
+
+class SmfActivityEntryPrivate;
+/**
+ * @ingroup smf_common_group
+ * The object class represents an entry in the list of activities 
+ */
+class SMFCLIENT_EXPORT SmfActivityEntry
+	{
+
+public:
+	
+	SmfActivityEntry();
+	SmfActivityEntry(const SmfActivityEntry& aOther);
+	~SmfActivityEntry();
+	
+	/**
+	 * Returns service specific id of the of entry 
+	 */
+	QString id() const;
+	/**
+	 * returns the title of the entry - mostly be a string 
+	 */
+	SmfPost title() const;
+
+	/**
+	 * returns detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
+	 */
+	SmfPost details() const;
+	
+	/**
+	 * returns the author of the activity - the name and the uri field are most commonly used
+	 * Other information fields might be empty
+	 */
+	SmfContact author() const;
+	
+	/**
+	 * returns the verb of the activity ,e.g. Robin "marked" Joseph as a friend   
+	 */
+	SmfActivityVerb actionName() const;
+
+	/**
+	 * There can be multiple objects in a single activity entry, though this may be rare - only for few verbs.
+	 * @return list of activity objects (mostly one object)
+	 */
+	QList<SmfActivityObject> activities() const;
+	
+	/**
+	 * returns information about the target of the activity, for verbs that support a target.
+	 * For example, a target is a photo album to which photos were added
+	 */
+	SmfActivityObject targetObj() const;
+
+	/**
+	 * sets service specific id of the of entry 
+	 */
+	bool setId( const QString& aId);
+	
+	/**
+	 * sets the title of the entry - mostly be a string 
+	 */
+	bool setTitle(const SmfPost& aTitle);
+
+	/**
+	 * sets detail descriptiopn of this entry in the activity list. might be absent if title is sufficient
+	 */
+	bool setDetails(const SmfPost& aDetails);
+	
+	/**
+	 * sets the author of the activity - the name and the uri field are most commonly used
+	 * Other information fields might be empty
+	 */
+	bool setAuthor(const SmfContact& aContact);
+	
+	/**
+	 * sets the verb of the activity ,e.g. Robin "marked" Joseph as a friend   
+	 */
+	void setActionName(SmfActivityVerb  aVerb);
+
+	/**
+	 * sets single or multiple objects in a single activity entry, though multiple may be rare - only for few verbs.
+	 * @param list of activity objects (mostly one object)
+	 */
+	bool setActivities(QList<SmfActivityObject>& aList);
+	
+	/**
+	 * returns information about the target of the activity, for verbs that support a target.
+	 * For example, a target is a photo album to which photos were added
+	 */
+	bool setTargetObj(const SmfActivityObject& aTarget);
+	
+private:
+	QSharedDataPointer<SmfActivityEntryPrivate> d;
+	
+	friend QDataStream& operator >> ( QDataStream &aOut, const SmfActivityEntry& aData);
+	friend QDataStream& operator << ( QDataStream &aIn, const SmfActivityEntry& aData);	
+	};
+// Make the class SmfActivityEntry known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfActivityEntry)
+
+#endif /* SMFACTIONS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/inc/common/smfactivity/smfactions_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "Eclipse Public License v1.0"
+ * which accompanies  this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html"
+ *
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Description:
+ * Contains private implementation of the smfactions
+ */
+
+#ifndef SMFACTIONS_P_H_
+#define SMFACTIONS_P_H_
+
+#include <QDateTime>
+#include <QSharedData>
+#include <QList>
+#include <QImage>
+#include <QDateTime>
+#include <QStringList>
+#include <QUrl>
+#include <qdatastream.h>
+#include <QSharedData>
+#include <QMetaType>
+
+#include "smfactions.h"
+
+class SmfActivityObjectPrivate: public QSharedData
+	{
+public:	
+	SmfActivityObjectPrivate();
+	SmfActivityObjectPrivate(const SmfActivityObjectPrivate& aOther);
+	~SmfActivityObjectPrivate();
+	
+	/**
+	 * Data members
+	 */
+	QString m_id;
+	QImage m_thumbnail;
+	QString m_caption;
+	SmfActivityObjectType m_type;
+	QVariant m_objData;
+	QString m_link;
+	QDateTime m_time;
+	QString m_content;
+	};
+
+class SmfActivityEntryPrivate: public QSharedData
+	{
+public:
+	SmfActivityEntryPrivate();
+	SmfActivityEntryPrivate(const SmfActivityEntryPrivate& aOther);
+	~SmfActivityEntryPrivate();
+	
+	QString m_id;
+	SmfPost m_title;
+	SmfPost m_details;
+	SmfContact m_author;
+	SmfActivityVerb m_actionName;
+	QList<SmfActivityObject> m_activities;
+	SmfActivityObject m_targetObj;
+	};
+
+#endif /* SMFACTIONS_P_H_ */
--- a/smf/inc/common/smfcomment/smfcomment.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcomment/smfcomment.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,15 +31,13 @@
  * @ingroup smf_common_group
  * The comment class represents a comment (on a picture or a music track etc)
  */
-class SMFCLIENT_EXPORT SmfComment : public QObject
+class SMFCLIENT_EXPORT SmfComment
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object 
 	 */
-	SmfComment( QObject *aParent = 0 );
+	SmfComment();
 	
 	/**
 	 * Copy Constructor
@@ -48,6 +46,13 @@
 	SmfComment( const SmfComment &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 * @return The current object reference
+	 */
+	SmfComment& operator=(const SmfComment &aOther);
+	
+	/**
 	 * Destructor
 	 */
 	~SmfComment( );
@@ -71,11 +76,35 @@
 	QString id( ) const;
 	
 	/**
+	 * Method to get the canonical link for the comment
+	 * @return The base url 
+	 */
+	QString link( ) const;
+
+	/**
 	 * Method to set the comment text
 	 * @param aText The comment text to be set
 	 */
 	void setText( const QString &aText );
 	
+	/**
+	 * Method to set the time stamp
+	 * @param aDateTime The comment time stamp value to be set
+	 */
+	void setTimeStamp( const QDateTime &aDateTime );
+	
+	/**
+	 * Method to set the id of the comment
+	 * @param aId The ID value to be set
+	 */
+	void setId( const QString &aId );
+	
+	/**
+	 * Method to set the link of the comment
+	 * @param aLink The url to be set
+	 */
+	void setLink( const QString &aLink );
+
 private:
 	QSharedDataPointer<SmfCommentPrivate> d;
 	
@@ -108,7 +137,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfComment &aComment);
 
+
 // Make the class SmfComment known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfComment)
 
+
 #endif /* SMFCOMMENT_H_ */
--- a/smf/inc/common/smfcomment/smfcomment_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcomment/smfcomment_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -29,17 +29,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfCommentPrivate( ) { m_text.clear(); m_commentId.clear(); }
+	SmfCommentPrivate( );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfCommentPrivate( const SmfCommentPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_text ( aOther.m_text ), 
-		m_timeStamp ( aOther.m_timeStamp ),
-		m_commentId ( aOther.m_commentId ) 	{ }
+	SmfCommentPrivate( const SmfCommentPrivate &aOther );
 	
 	/**
 	 * Destructor
@@ -48,7 +44,8 @@
   
 	QString m_text;			// comment text
 	QDateTime m_timeStamp;	// comment time stamp
-	QString m_commentId;
+	QString m_commentId; //id of the comment
+	QString m_link; //url\permalink of the comment 
 	
 };
 
--- a/smf/inc/common/smfcontacts/smfcontact.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcontacts/smfcontact.h	Thu Apr 22 15:18:37 2010 +0530
@@ -36,16 +36,15 @@
  * 
  * Note: This class has dependencies on QtMobility project
  */
-class SMFCLIENT_EXPORT SmfContact : public QObject
+class SMFCLIENT_EXPORT SmfContact
 	{
-	Q_OBJECT
 
 public:
 	/**
 	 * Constructor with default argument
 	 * @param aParent The parent object
 	 */
-	SmfContact( QObject *aParent = 0 );
+	SmfContact();
 	
 	/**
 	 * Copy Constructor
@@ -58,7 +57,6 @@
 	 */
 	~SmfContact( );
 	
-public slots:
 	/**
 	 * Method to get the available sub fields for contacts.
 	 * The following are the available sub types of a contact
--- a/smf/inc/common/smfcontacts/smfcontact_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcontacts/smfcontact_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -30,16 +30,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfContactPrivate( ) { m_details.clear(); }
+	SmfContactPrivate( );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfContactPrivate( const SmfContactPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_details ( aOther.m_details )	{ }
-	
+	SmfContactPrivate( const SmfContactPrivate &aOther );
 	/**
 	 * Destructor
 	 */
--- a/smf/inc/common/smfcontacts/smfgroup.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcontacts/smfgroup.h	Thu Apr 22 15:18:37 2010 +0530
@@ -2,7 +2,7 @@
  * Copyright (c) 2010 Sasken Communication Technologies Ltd.
  * All rights reserved.
  * This component and the accompanying materials are made available
- * under the terms of the "Eclipse Public License v1.0" 
+ * under the terms of the "Eclipse Public License v1.0"
  * which accompanies  this distribution, and is available
  * at the URL "http://www.eclipse.org/legal/epl-v10.html"
  *
@@ -11,7 +11,7 @@
  *
  * Contributors:
  * Manasij Roy, Nalina Hariharan
- * 
+ *
  * Description:
  * The group class represents an instance of a group as per SN site terminolgy
  *
@@ -32,76 +32,76 @@
  * @ingroup smf_common_group
  * The group class represents an instance of a group as per SN site terminolgy
  */
-class SMFCLIENT_EXPORT SmfGroup : public QObject
+class SMFCLIENT_EXPORT SmfGroup
 	{
-	Q_OBJECT
+
 public:
 	/**
 	 * Constructor with default argument
 	 * @param list The list of members in the group
 	 */
 	SmfGroup( QList<SmfContact>* list = 0 );
-	
+
 	/**
 	 * Copy Constructor
 	 * @param aOther The reference object
 	 */
 	SmfGroup( const SmfGroup &aOther );
-	
+
 	/**
 	 * Destructor
 	 */
 	~SmfGroup( );
-	
-public slots:
+
+public:
 	/**
 	 * Method to get the list of members in the group
 	 * @return The list of members in the group
 	 */
 	QList<SmfContact> members( ) const;
-	
+
 	/**
 	 * Method to get the name of the group
 	 * @return The name of the group
 	 */
 	QString name( ) const;
-	
+
 	/**
 	 * Method to get the id of the group
-	 * @return The ID value 
+	 * @return The ID value
 	 */
 	QString id( ) const;
-	
+
 private:
 	QSharedDataPointer<SmfGroupPrivate> d;
-	
-	friend QDataStream &operator<<( QDataStream &aDataStream, 
+
+	friend QDataStream &operator<<( QDataStream &aDataStream,
 			const SmfGroup &aGroup );
 
-	friend QDataStream &operator>>( QDataStream &aDataStream, 
+	friend QDataStream &operator>>( QDataStream &aDataStream,
 			SmfGroup &aGroup );
-	
+
 	};
 
 
 /**
- * Method for Externalization. Writes the SmfGroup object to 
+ * Method for Externalization. Writes the SmfGroup object to
  * the stream and returns a reference to the stream.
  * @param aDataStream Stream to be written
  * @param aGroup The SmfGroup object to be externalized
  * @return reference to the written stream
  */
-QDataStream &operator<<( QDataStream &aDataStream, 
+QDataStream &operator<<( QDataStream &aDataStream,
 		const SmfGroup &aGroup );
 
 /**
- * Method for Internalization. Reads a SmfGroup object from 
+ * Method for Internalization. Reads a SmfGroup object from
  * the stream and returns a reference to the stream.
  * @param aDataStream Stream to be read
  * @param aGroup The SmfGroup object to be internalized
  * @return reference to the stream
  */
-QDataStream &operator>>( QDataStream &aDataStream, 
+QDataStream &operator>>( QDataStream &aDataStream,
 		SmfGroup &aGroup);
 
 // Make the class SmfGroup known to QMetaType, so that as to register it.
--- a/smf/inc/common/smfcontacts/smfpost.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcontacts/smfpost.h	Thu Apr 22 15:18:37 2010 +0530
@@ -36,7 +36,7 @@
  */
 class SMFCLIENT_EXPORT SmfPost : public QTextDocument
 	{
-	Q_OBJECT
+
 public:
 	/**
 	 * Constructor with default argument
--- a/smf/inc/common/smfcontacts/smfpost_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfcontacts/smfpost_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -28,31 +28,18 @@
 	/**
 	 * Constructor
 	 */
-	SmfPostPrivate( ) { m_title.clear(); m_desc.clear(); m_url.clear(); m_postId.clear(); }
+	SmfPostPrivate( ) ;
 	
 	/**
 	 * Constructor
 	 */
-	SmfPostPrivate( QString aTitle, QString aDesc, QImage aImage, QUrl aUrl ) 
-		{
-		m_title = aTitle; 
-		m_desc = aDesc;
-		m_image = aImage;
-		m_url = aUrl;
-		m_postId.clear();
-		}
-	
+	SmfPostPrivate( QString aTitle, QString aDesc, QImage aImage, QUrl aUrl );
+
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfPostPrivate( const SmfPostPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_title ( aOther.m_title ), 
-		m_desc ( aOther.m_desc ),
-		m_image ( aOther.m_image ),
-		m_url ( aOther.m_url ),
-		m_postId ( aOther.m_postId )	{ }
+	SmfPostPrivate( const SmfPostPrivate &aOther );
 	
 	/**
 	 * Destructor
--- a/smf/inc/common/smfdes.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfdes.h	Thu Apr 22 15:18:37 2010 +0530
@@ -50,6 +50,7 @@
  *				- how to get a list of images from a remote gallery e.g. Flickr.com, see @ref MyApplication::displayGallery()
  *				- how to post privately to a contact see @ref MyApplication::postUpdate()
  *				- how to tell others about the music you are currently listen to, see @ref MyApplication::updateCurrentPlaying()
+ *				- how to list all the activities that has happened recently, see @ref MyApplication::getActivities() and @ref MyApplication::showActivities() 
  *
  *		@section smf_sample_plugin Sample Plugin From Service provider
  *		- This shows how to write a plugin for extending SMF service. Authentication Application also needs to be provided for these plugins.
--- a/smf/inc/common/smfevent/smfevent.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfevent/smfevent.h	Thu Apr 22 15:18:37 2010 +0530
@@ -33,15 +33,13 @@
  * @ingroup smf_common_group
  * The event class represents an event
  */
-class SMFCLIENT_EXPORT SmfEvent : public QObject
+class SMFCLIENT_EXPORT SmfEvent
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfEvent( QObject *aParent = 0 );
+	SmfEvent( );
 	
 	/**
 	 * Copy Constructor
@@ -50,6 +48,13 @@
 	SmfEvent( const SmfEvent &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 * @return The current object reference
+	 */
+	SmfEvent& operator=( const SmfEvent &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfEvent( );
@@ -134,6 +139,12 @@
 	 */
 	void setTicketUrl( const QUrl &aUrl );
 	
+	/**
+	 * Method to set the id of the event
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfEventPrivate> d;
 	
@@ -166,4 +177,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfEvent &aEvent);
 
+
+// Make the class SmfEvent known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfEvent)
+
+
 #endif /* SMFEVENT_H_ */
--- a/smf/inc/common/smfevent/smfevent_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfevent/smfevent_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -32,27 +32,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfEventPrivate( ) { 
-		m_name.clear(); 
-		m_url.clear();
-		m_eventId.clear();
-		
-	}
+	SmfEventPrivate( );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfEventPrivate( const SmfEventPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_name ( aOther.m_name ), 
-		m_dateTime ( aOther.m_dateTime ),
-		m_duration ( aOther.m_duration ),
-		m_artists ( aOther.m_artists ),
-		m_venue ( aOther.m_venue ),
-		m_url ( aOther.m_url ),
-		m_eventId ( aOther.m_eventId ) 	{ }
-	
+	SmfEventPrivate( const SmfEventPrivate &aOther );
 	/**
 	 * Destructor
 	 */
@@ -64,7 +50,7 @@
 	SmfArtists m_artists;		// event artist names
 	SmfPlace 	m_venue;		// venue of the event
 	QUrl 		m_url;			// ticket url
-	QString 	m_eventId;
+	QString 	m_eventId;	// event Id
 	
 };
 
--- a/smf/inc/common/smfmusic/smfalbum.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfalbum.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,15 +31,13 @@
  * @ingroup smf_common_group
  * The SmfAlbum class represents a music album
  */
-class SMFCLIENT_EXPORT SmfAlbum : public QObject
+class SMFCLIENT_EXPORT SmfAlbum
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfAlbum( QObject *aParent = 0 );
+	SmfAlbum( );
 	
 	/**
 	 * Copy Constructor
@@ -83,6 +81,30 @@
 	 */
 	QString id( ) const;
 	
+	/**
+	 * Method to set the album name
+	 * @param aName The album name
+	 */
+	void setName( const QString &aName );
+	
+	/**
+	 * Method to set the album's image
+	 * @param aImage The album's image
+	 */
+	void setImage( const QImage &aImage );
+	
+	/**
+	 * Method to set the artist names
+	 * @param aArtists The list of artists in the album
+	 */
+	void setArtists( const SmfArtists &aArtists );
+	
+	/**
+	 * Method to set the id of the album
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfAlbumPrivate> d;
 	
@@ -115,5 +137,7 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfAlbum &aAlbum);
 
+// Make the class SmfAlbum known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfAlbum)
 
 #endif /* SMFALBUM_H_ */
--- a/smf/inc/common/smfmusic/smfalbum_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfalbum_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -30,23 +30,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfAlbumPrivate( ) { 
-		m_name.clear(); 
-		m_albumId.clear();
-		
-	}
+	SmfAlbumPrivate( ) ;
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfAlbumPrivate( const SmfAlbumPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_name ( aOther.m_name ), 
-		m_image ( aOther.m_image ),
-		m_artists ( aOther.m_artists ),
-		m_albumId ( aOther.m_albumId ) 	{ }
-	
+	SmfAlbumPrivate( const SmfAlbumPrivate &aOther ) ;
 	/**
 	 * Destructor
 	 */
@@ -55,7 +45,7 @@
 	QString		m_name;		// album name
 	QImage 		m_image;	// album image
 	SmfArtists m_artists;	// album's artists
-	QString 	m_albumId;
+	QString 	m_albumId;	// album Id
 	
 };
 
--- a/smf/inc/common/smfmusic/smfartists.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfartists.h	Thu Apr 22 15:18:37 2010 +0530
@@ -32,15 +32,13 @@
  * @ingroup smf_common_group
  * The SmfArtists class represents the artists in a track or an album
  */
-class SMFCLIENT_EXPORT SmfArtists : public QObject
+class SMFCLIENT_EXPORT SmfArtists
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfArtists( QObject *aParent = 0 );
+	SmfArtists();
 	
 	/**
 	 * Copy Constructor
@@ -77,6 +75,24 @@
 	 */
 	QUrl url( ) const;
 		
+	/**
+	 * Method to set the artists names
+	 * @param aList The list of artists names
+	 */
+	void setNames( const QStringList &aList );
+	
+	/**
+	 * Method to set the image of the artists
+	 * @param aImage The image of the artists
+	 */
+	void setImage( const QImage &aImage );
+	
+	/**
+	 * Method to set the url of the artists
+	 * @param aUrl The url of the artists
+	 */
+	void setUrl( const QUrl &aUrl );
+		
 private:
 	QSharedDataPointer<SmfArtistsPrivate> d;
 	
@@ -109,5 +125,7 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfArtists &aArtists);
 
+// Make the class SmfArtists known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfArtists)
 
 #endif /* SMFARTISTS_H_ */
--- a/smf/inc/common/smfmusic/smfartists_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfartists_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,21 +31,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfArtistsPrivate( ) { 
-		m_names.clear(); 
-		m_url.clear();
-	}
+	SmfArtistsPrivate( );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfArtistsPrivate( const SmfArtistsPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_names ( aOther.m_names ), 
-		m_image ( aOther.m_image ),
-		m_url ( aOther.m_url ) 	{ }
-	
+	SmfArtistsPrivate( const SmfArtistsPrivate &aOther );
 	/**
 	 * Destructor
 	 */
--- a/smf/inc/common/smfmusic/smflyrics.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smflyrics.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,15 +31,13 @@
  * @ingroup smf_common_group
  * The lyrics class represents an instance of a music track's lyrics
  */
-class SMFCLIENT_EXPORT SmfLyrics : public QObject
+class SMFCLIENT_EXPORT SmfLyrics
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfLyrics( QObject *aParent = 0 );
+	SmfLyrics( );
 	
 	/**
 	 * Copy Constructor
@@ -48,6 +46,13 @@
 	SmfLyrics( const SmfLyrics &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 * @return The current object reference
+	 */
+	SmfLyrics& operator=( const SmfLyrics &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfLyrics( );
@@ -76,6 +81,30 @@
 	 */
 	QString id( ) const;
 	
+	/**
+	 * Method to set the lyrics
+	 * @param aLyrics The lyrics data
+	 */
+	void setLyrics( const QByteArray &aLyrics );
+	
+	/**
+	 * Method to set the language
+	 * @param aLang The language
+	 */
+	void setLanguage( const QString &aLang );
+	
+	/**
+	 * Method to set the release year
+	 * @param aRelYear The release year
+	 */
+	void setReleaseYear( const QDateTime &aRelYear );
+	
+	/**
+	 * Method to set the id of the lyrics
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfLyricsPrivate> d;
 	
@@ -108,7 +137,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfLyrics &aLyrics);
 
+
 // Make the class SmfLyrics known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfLyrics)
 
+
 #endif /* SMFLYRICS_H_ */
--- a/smf/inc/common/smfmusic/smflyrics_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smflyrics_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -29,23 +29,12 @@
 	/**
 	 * Constructor
 	 */
-	SmfLyricsPrivate( ) { 
-		m_lyrics.clear();
-		m_language.clear();
-		m_lyricsId.clear(); 
-	}
-	
+	SmfLyricsPrivate( );
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfLyricsPrivate( const SmfLyricsPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_lyrics ( aOther.m_lyrics ),
-		m_language ( aOther.m_language ),
-		m_releaseYr ( aOther.m_releaseYr ),
-		m_lyricsId ( aOther.m_lyricsId ) 	{ }
-	
+	SmfLyricsPrivate( const SmfLyricsPrivate &aOther );
 	/**
 	 * Destructor
 	 */
--- a/smf/inc/common/smfmusic/smfmusicfingerprint.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicfingerprint.h	Thu Apr 22 15:18:37 2010 +0530
@@ -30,15 +30,13 @@
  * @ingroup smf_common_group
  * The musicfingerprint class represents a music finger print used in searches
  */
-class SMFCLIENT_EXPORT SmfMusicFingerPrint : public QObject
+class SMFCLIENT_EXPORT SmfMusicFingerPrint
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfMusicFingerPrint( QObject *aParent = 0 );
+	SmfMusicFingerPrint( );
 	
 	/**
 	 * Constructor with default argument
@@ -47,16 +45,28 @@
 	SmfMusicFingerPrint( const SmfMusicFingerPrint &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 */
+	SmfMusicFingerPrint& operator=( const SmfMusicFingerPrint &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfMusicFingerPrint( );
 	
 	/**
-	 * GEt the music finger print data
+	 * Method to get the music finger print data
 	 * @return The music finger print data
 	 */
 	QByteArray musicFingerPrint ( ) const;
 	
+	/**
+	 * Method to set the music finger print data
+	 * @param aFp The music finger print data
+	 */
+	void setMusicFingerPrint ( const QByteArray &aFp);
+	
 private:
 	QSharedDataPointer<SmfMusicFingerPrintPrivate> d;
 	
@@ -89,4 +99,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfMusicFingerPrint &aMFP);
 
+
+// Make the class SmfMusicFingerPrint known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfMusicFingerPrint)
+
+
 #endif /* SMFMUSICFINGERPRINT_H_ */
--- a/smf/inc/common/smfmusic/smfmusicfingerprint_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicfingerprint_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -34,10 +34,7 @@
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfMusicFingerPrintPrivate( const SmfMusicFingerPrintPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_fingerPrintData ( aOther.m_fingerPrintData )	{ }
-	
+	SmfMusicFingerPrintPrivate( const SmfMusicFingerPrintPrivate &aOther );
 	/**
 	 * Destructor
 	 */
--- a/smf/inc/common/smfmusic/smfmusicprofile.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicprofile.h	Thu Apr 22 15:18:37 2010 +0530
@@ -32,15 +32,13 @@
  * @ingroup smf_common_group
  * The music profile class represents a user's profile in music site
  */
-class SMFCLIENT_EXPORT SmfMusicProfile : public QObject
+class SMFCLIENT_EXPORT SmfMusicProfile
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfMusicProfile( QObject *aParent = 0 );
+	SmfMusicProfile( );
 	
 	/**
 	 * Copy Constructor
@@ -49,6 +47,12 @@
 	SmfMusicProfile( const SmfMusicProfile &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 */
+	SmfMusicProfile& operator=( const SmfMusicProfile &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfMusicProfile( );
@@ -89,6 +93,18 @@
 	 */
 	void setInterestInfo( const QList<SmfTrackInfo>& aInterest );
 
+	/**
+	 * Method to set the user events as list of SmfEvents
+	 * @param aList The list of events
+	 */
+	void setUserEvents( const QList<SmfEvent> &aList );
+	
+	/**
+	 * Method to set the id of the music profile
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+
 private:
 	QSharedDataPointer<SmfMusicProfilePrivate> d;
 
@@ -121,6 +137,7 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfMusicProfile &aProfile);
 
+
 // Make the class SmfMusicProfile known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfMusicProfile)
 
--- a/smf/inc/common/smfmusic/smfmusicprofile_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicprofile_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,24 +31,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfMusicProfilePrivate( ) { 
-		m_usage.clear(); 
-		m_interest.clear();
-		m_events.clear();
-		m_profileId.clear();
-	}
+	SmfMusicProfilePrivate( ) ;
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfMusicProfilePrivate( const SmfMusicProfilePrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_usage ( aOther.m_usage ), 
-		m_interest ( aOther.m_interest ),
-		m_events ( aOther.m_events ),
-		m_profileId ( aOther.m_profileId ) 	{ }
-	
+	SmfMusicProfilePrivate( const SmfMusicProfilePrivate &aOther );
 	/**
 	 * Destructor
 	 */
@@ -57,7 +46,7 @@
 	QList<SmfTrackInfo> m_usage;	// usage tracks
 	QList<SmfTrackInfo> m_interest;// interested tracks
 	QList<SmfEvent> m_events;		// events list
-	QString m_profileId;
+	QString m_profileId;			// profile Id
 	
 };
 
--- a/smf/inc/common/smfmusic/smfmusicrating.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicrating.h	Thu Apr 22 15:18:37 2010 +0530
@@ -21,7 +21,6 @@
 #ifndef SMFMUSICRATING_H_
 #define SMFMUSICRATING_H_
 
-#include <QObject>
 #include <QSharedData>
 #include <smfclientglobal.h>
 
@@ -40,14 +39,12 @@
  * The music rating class represents an instance of rating 
  * about a music track 
  */
-class SMFCLIENT_EXPORT SmfMusicRating : public QObject
+class SMFCLIENT_EXPORT SmfMusicRating
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
-	 * (parent should be of type SmfTrackInfo)
+	 * @param aParent The SmfTrackInfo instance
 	 */
 	SmfMusicRating(SmfTrackInfo *aParent = 0);
 	
@@ -86,6 +83,24 @@
 	 */
 	int minRating( ) const;
 	
+	/**
+	 * Method to set the rating
+	 * @param aRating The rating value
+	 */
+	void setRating( const int &aRating );
+
+	/**
+	 * Method to set the max rating
+	 * @param aMax The max rating value
+	 */
+	void setMaxRating( const int &aMax );
+	
+	/**
+	 * Method to set the min rating
+	 * @param aMin The min rating value
+	 */
+	void setMinRating( const int &aMin );
+	
 private:
 	QSharedDataPointer<SmfMusicRatingPrivate> d;
 	
@@ -118,7 +133,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfMusicRating &aMusicRating);
 
+
 // Make the class SmfMusicRating known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfMusicRating)
 
+
 #endif /* SMFMUSICRATING_H_ */
--- a/smf/inc/common/smfmusic/smfmusicrating_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfmusicrating_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -21,6 +21,7 @@
 #define SMFMUSICRATING_P_H_
 
 #include <QSharedData>
+#include <smfmusicrating.h>
 
 class SmfMusicRatingPrivate : public QSharedData
 {
@@ -28,28 +29,20 @@
 	/**
 	 * Constructor
 	 */
-	SmfMusicRatingPrivate( ) { 
-		m_rating = 0;
-	}
-	
+	SmfMusicRatingPrivate( ) ;
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfMusicRatingPrivate( const SmfMusicRatingPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_rating ( aOther.m_rating ),
-		m_max ( aOther.m_max ),
-		m_min ( aOther.m_min )  { }
-	
+	SmfMusicRatingPrivate( const SmfMusicRatingPrivate &aOther );
 	/**
 	 * Destructor
 	 */
 	~SmfMusicRatingPrivate( );
   
-	int m_rating;	// rating
-	int m_max;		// max rating
-	int m_min;		// min rating
+	qint32 m_rating;	// rating
+	qint32 m_max;		// max rating
+	qint32 m_min;		// min rating
 	
 };
 
--- a/smf/inc/common/smfmusic/smfplaylist.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfplaylist.h	Thu Apr 22 15:18:37 2010 +0530
@@ -31,15 +31,13 @@
  * @ingroup smf_common_group
  * The playlist class represents an instance of a playlist
  */
-class SMFCLIENT_EXPORT SmfPlaylist : public QObject
+class SMFCLIENT_EXPORT SmfPlaylist
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfPlaylist( QObject *aParent = 0 );
+	SmfPlaylist();
 	
 	/**
 	 * Copy Constructor
@@ -48,6 +46,12 @@
 	SmfPlaylist( const SmfPlaylist &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 */
+	SmfPlaylist& operator=( const SmfPlaylist &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfPlaylist( );
@@ -94,6 +98,12 @@
 	 */
 	void setCreationDate( const QDateTime &aDate );
 	
+	/**
+	 * Method to set the id of the playlist
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId);
+	
 private:
 	QSharedDataPointer<SmfPlaylistPrivate> d;
 	
@@ -126,6 +136,7 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfPlaylist &aPlaylist);
 
+
 // Make the class SmfPlaylist known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfPlaylist)
 
--- a/smf/inc/common/smfmusic/smfplaylist_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfplaylist_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -29,22 +29,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfPlaylistPrivate( ) { 
-		m_trackList.clear(); 
-		m_title.clear();
-		m_playlistId.clear();
-	}
+	SmfPlaylistPrivate( );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfPlaylistPrivate( const SmfPlaylistPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_trackList ( aOther.m_trackList ), 
-		m_title ( aOther.m_title ),
-		m_creationDate ( aOther.m_creationDate ),
-		m_playlistId ( aOther.m_playlistId ) 	{ }
+	SmfPlaylistPrivate( const SmfPlaylistPrivate &aOther ) ;
 	
 	/**
 	 * Destructor
--- a/smf/inc/common/smfmusic/smfsubtitle.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfsubtitle.h	Thu Apr 22 15:18:37 2010 +0530
@@ -20,7 +20,6 @@
 #ifndef SMFSUBTITLE_H_
 #define SMFSUBTITLE_H_
 
-#include <QObject>
 #include <qdatastream.h>
 #include <QDateTime>
 #include <QSharedData>
@@ -43,15 +42,13 @@
  * @ingroup smf_common_group
  * The subtitle class represents information about a track's subtitle
  */
-class SMFCLIENT_EXPORT SmfSubtitle : public QObject
+class SMFCLIENT_EXPORT SmfSubtitle
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfSubtitle( QObject *aParent = 0 );
+	SmfSubtitle( );
 	
 	/**
 	 * Copy Constructor
@@ -60,6 +57,12 @@
 	SmfSubtitle( const SmfSubtitle &aOther );
 	
 	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 */
+	SmfSubtitle& operator=( const SmfSubtitle &aOther );
+	
+	/**
 	 * Destructor
 	 */
 	~SmfSubtitle( );
@@ -100,6 +103,42 @@
 	 */
 	QString id( ) const;
 	
+	/**
+	 * Method to set the subtitle as a bytearray
+	 * @param aSubtitle The subtitle content
+	 */
+	void setSubtitle( const QByteArray &aSubtitle );
+	
+	/**
+	 * Method to set the language
+	 * @param aLang The language
+	 */
+	void setLanguage( const QString &aLang );
+	
+	/**
+	 * Method to set the frame rate
+	 * @param aFramerate the frame rate
+	 */
+	void setFrameRate( const double &aFramerate );
+	
+	/**
+	 * Method to set the duration
+	 * @param aDuration the duration
+	 */
+	void setDuration( const double &aDuration );
+	
+	/**
+	 * Method to set the release year
+	 * @param aRelYear The release year
+	 */
+	void setReleaseYear( const QDateTime &aRelYear );
+	
+	/**
+	 * Method to set the id of the subtitle
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfSubtitlePrivate> d;
 	
@@ -132,7 +171,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfSubtitle &aSubtitle);
 
+
 // Make the class SmfSubtitle known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfSubtitle)
 
+
 #endif /* SMFSUBTITLE_H_ */
--- a/smf/inc/common/smfmusic/smfsubtitle_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smfsubtitle_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -29,25 +29,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfSubtitlePrivate( ) { 
-		m_language.clear();
-		m_frameRate = 0;
-		m_duration = 0;
-		m_subtitleId.clear();
-	}
+	SmfSubtitlePrivate( ) ;
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfSubtitlePrivate( const SmfSubtitlePrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_subtitle ( aOther.m_subtitle ), 
-		m_language ( aOther.m_language ),
-		m_frameRate ( aOther.m_frameRate ),
-		m_duration ( aOther.m_duration ),
-		m_releaseYr ( aOther.m_releaseYr ),
-		m_subtitleId ( aOther.m_subtitleId ) 	{ }
+	SmfSubtitlePrivate( const SmfSubtitlePrivate &aOther );
 	
 	/**
 	 * Destructor
--- a/smf/inc/common/smfmusic/smftrackinfo.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smftrackinfo.h	Thu Apr 22 15:18:37 2010 +0530
@@ -25,6 +25,7 @@
 #include <smfmusicrating.h>
 #include <smfartists.h>
 #include <smfalbum.h>
+#include <smfcomment.h>
 #include <QStringList>
 #include <QSharedData>
 #include <smfclientglobal.h>
@@ -35,22 +36,25 @@
  * @ingroup smf_common_group
  * The track info class represents information about a music track
  */
-class SMFCLIENT_EXPORT SmfTrackInfo : public QObject
+class SMFCLIENT_EXPORT SmfTrackInfo
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
-	 * (parent should be of type SmfMusicServicePlugin)
 	 */
-	SmfTrackInfo(QObject *aParent = 0 );
+	SmfTrackInfo( );
 	
 	/**
 	 * Copy Constructor
 	 * @param aOther The reference object
 	 */
 	SmfTrackInfo( const SmfTrackInfo &aOther );
+
+	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 */
+	SmfTrackInfo& operator=( const SmfTrackInfo &aOther );
 	
 	/**
 	 * Destructor
@@ -58,12 +62,6 @@
 	~SmfTrackInfo( );
 	
 	/**
-	 * Method to get the id of the track
-	 * @return The ID value 
-	 */
-	QString id( ) const;
-	
-	/**
 	 * Method to get the track title
 	 * @return The title of the track
 	 */
@@ -109,7 +107,7 @@
 	 * Method to get the comments on the track
 	 * @return The comments on the track
 	 */
-	QStringList comments( ) const;
+	QList<SmfComment> comments( ) const;
 	
 	/**
 	 * Method to get the track's duration
@@ -118,6 +116,12 @@
 	QTime duration( ) const;
 	
 	/**
+	 * Method to get the id of the track
+	 * @return The ID value 
+	 */
+	QString id( ) const;
+	
+	/**
 	 * Method to set the track title
 	 * @param aTitle The new title of the track
 	 */
@@ -163,7 +167,7 @@
 	 * Method to set the comments on the track
 	 * @param aComment The new comment of the track
 	 */
-	void setComment( const QStringList &aComments );
+	void setComment( const QList<SmfComment> &aComments );
 	
 	/**
 	 * Method to set the duration of the track
@@ -171,6 +175,12 @@
 	 */
 	void setDuration( const QTime &aDuration );
 
+	/**
+	 * Method to set the id of the track
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+
 private:
 	QSharedDataPointer<SmfTrackInfoPrivate> d;
 	
@@ -203,7 +213,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfTrackInfo &aTrackInfo);
 
+
 // Make the class SmfTrackInfo known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfTrackInfo)
 
+
 #endif /* SMFTRACKINFO_H_ */
--- a/smf/inc/common/smfmusic/smftrackinfo_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfmusic/smftrackinfo_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -22,6 +22,7 @@
 
 #include <QTime>
 #include <smfmusicrating.h>
+#include <smfcomment.h>
 #include <QStringList>
 #include <QSharedData>
 
@@ -31,34 +32,13 @@
 	/**
 	 * Constructor
 	 */
-	SmfTrackInfoPrivate( int aMaxRating = 0, int aMinRating = 0 ) : m_rating(/*aMaxRating, aMinRating*/) 
-		{ 
-		m_trackId.clear();
-		m_title.clear();
-		m_album.clear();
-		m_artist.clear();
-		m_genre.clear();
-		m_tags.clear();
-		m_comments.clear();
-	}
+	SmfTrackInfoPrivate( int aMaxRating = 0, int aMinRating = 0 );
 	
 	/**
 	 * Copy Constructor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfTrackInfoPrivate( const SmfTrackInfoPrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_trackId ( aOther.m_trackId ),
-		m_title ( aOther.m_title ),
-		m_album ( aOther.m_album ),
-		m_artists ( aOther.m_artists ),
-		m_genre ( aOther.m_genre ),
-		m_tags ( aOther.m_tags ),
-		m_year ( aOther.m_year ),
-		m_rating ( aOther.m_rating ),
-		m_comments ( aOther.m_comments ),
-		m_duration ( aOther.m_duration ) 	{ }
-	
+	SmfTrackInfoPrivate( const SmfTrackInfoPrivate &aOther ) ;
 	/**
 	 * Destructor
 	 */
@@ -72,7 +52,7 @@
 	QStringList m_tags;		// tag information
 	QDateTime m_year;			// release year
 	SmfMusicRating m_rating;// rating
-	QStringList m_comments;	// comments
+	QList<SmfComment> m_comments;	// comments
 	QTime m_duration;		// duration
 	
 };
--- a/smf/inc/common/smfpictures/smfpicture.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfpictures/smfpicture.h	Thu Apr 22 15:18:37 2010 +0530
@@ -28,6 +28,7 @@
 #include <QSharedData>
 #include <smfclientglobal.h>
 #include <QMetaType>
+#include <smfcomment.h>
 
 class SmfPicturePrivate;
 
@@ -47,15 +48,13 @@
  * @ingroup smf_common_group
  * The picture class represents an instance of a picture
  */
-class SMFCLIENT_EXPORT SmfPicture : public QObject
+class SMFCLIENT_EXPORT SmfPicture
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfPicture( QObject *aParent = 0 );
+	SmfPicture( );
 	
 	/**
 	 * Copy Constructor
@@ -65,9 +64,16 @@
 	
 	/**
 	 * CConstructs SmfPicture from QImage
-	 * @param aOther The QImage
+	 * @param aImage The QImage
 	 */
-	SmfPicture( const QImage &image );
+	SmfPicture( const QImage &aImage );
+	
+	/**
+	 * Overloaded = operator
+	 * @param aOther The reference object
+	 * @return The current object reference
+	 */
+	SmfPicture& operator=(const SmfPicture &aOther);
 	
 	/**
 	 * Destructor
@@ -75,12 +81,6 @@
 	~SmfPicture( );
 	
 	/**
-	 * Method to get the id of the picture
-	 * @return The ID value 
-	 */
-	QString id( ) const;
-	
-	/**
 	 * Method to get a picture owner
 	 * @return The owner of the picture
 	 */
@@ -114,7 +114,7 @@
 	 * Method to get the comments for the picture
 	 * @return The comments for the picture
 	 */
-	QStringList comments( ) const;
+	QList<SmfComment> comments( ) const;
 	
 	/**
 	 * Method to get the tags for the picture
@@ -135,6 +135,12 @@
 	QImage picture( ) const;
 		
 	/**
+	 * Method to get the id of the picture
+	 * @return The ID value 
+	 */
+	QString id( ) const;
+		
+	/**
 	 * Method to set a picture owner
 	 * @param aOwner The owner of the picture
 	 */
@@ -160,10 +166,16 @@
 	void setVisibility( const SmfPictureVisibility &aVisibility );
 	
 	/**
+	 * Method to set the date of posting the picture
+	 * @param aDate The post date of the picture
+	 */
+	void setPostedDate( const QDateTime &aDate );
+	
+	/**
 	 * Method to add comment on the picture
 	 * @param aComment The comment for the picture
 	 */
-	void addComment( const QString &aComment );
+	void addComment( const SmfComment &aComment );
 	
 	/**
 	 * Method to add tags for the picture
@@ -172,11 +184,23 @@
 	void addTags( const QStringList &aTags );
 	
 	/**
+	 * Method to set the url of the picture
+	 * @param aUrl The url of the picture
+	 */
+	void setUrl( const QUrl &aUrl );
+	
+	/**
 	 * Method to set the picture data as QImage
 	 * @param aData The picture as QImage
 	 */
 	void setPicture( const QImage &aData );
 	
+	/**
+	 * Method to set the id of the picture
+	 * @param aId The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfPicturePrivate> d;
 	
@@ -209,7 +233,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfPicture &aPic);
 
+
 // Make the class SmfPicture known to QMetaType, so that as to register it.
 Q_DECLARE_METATYPE(SmfPicture)
 
+
 #endif /* SMFPICTURE_H_ */
--- a/smf/inc/common/smfpictures/smfpicture_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfpictures/smfpicture_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -34,49 +34,17 @@
 	/**
 	 * Constructor
 	 */
-	SmfPicturePrivate( ) { 
-		m_photoId.clear();
-		m_owner.clear();
-		m_title.clear();
-		m_description.clear();
-		m_comments.clear();
-		m_tags.clear();
-		m_url.clear();
-		m_caption.clear();
-	}
+	SmfPicturePrivate( );
 	/**
 	 * Constructor
 	 */
-	SmfPicturePrivate( const QImage &aImage ) { 
-		m_photoId.clear();
-		m_owner.clear();
-		m_title.clear();
-		m_description.clear();
-		m_comments.clear();
-		m_tags.clear();
-		m_url.clear();
-		m_picture = aImage;
-		m_caption.clear();
-	}
+	SmfPicturePrivate( const QImage &aImage );
 	
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfPicturePrivate( const SmfPicturePrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_photoId ( aOther.m_photoId ),
-		m_owner ( aOther.m_owner ),
-		m_title ( aOther.m_title ),
-		m_description ( aOther.m_description ),
-		m_picVisibility ( aOther.m_picVisibility ),
-		m_postedOn ( aOther.m_postedOn ),
-		m_comments ( aOther.m_comments ),
-		m_tags ( aOther.m_tags ),
-		m_url ( aOther.m_url ),
-		m_picture ( aOther.m_picture ),
-		m_caption ( aOther.m_caption ) 	{ }
-	
+	SmfPicturePrivate( const SmfPicturePrivate &aOther ) ;
 	/**
 	 * Destructor
 	 */
--- a/smf/inc/common/smfplace/smfplace.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfplace/smfplace.h	Thu Apr 22 15:18:37 2010 +0530
@@ -26,8 +26,10 @@
 #include <qdatastream.h>
 #include <QSharedData>
 #include <smfclientglobal.h>
+#include <QMetaType>
 
-using namespace QtMobility; // Qt mobility - namespace
+// Qt mobility - namespace
+using namespace QtMobility;
 
 typedef enum 
 {
@@ -48,15 +50,13 @@
  * 
  * Note: This class has dependencies on QtMobility project
  */
-class SMFCLIENT_EXPORT SmfPlace : public QObject
+class SMFCLIENT_EXPORT SmfPlace
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
 	 */
-	SmfPlace( QObject *aParent = 0 );
+	SmfPlace( );
 	
 	/**
 	 * Copy Constructor
@@ -67,8 +67,9 @@
 	/**
 	 * Overloaded = operator 
 	 * @param aOther The reference object
+	 * @return The current object reference
 	 */
-	SmfPlace operator=( const SmfPlace &aOther );
+	SmfPlace& operator=( const SmfPlace &aOther );
 	
 	/**
 	 * Destructor
@@ -111,7 +112,7 @@
 	 * in time) of the place.
 	 * @return The Geo Position information of place
 	 */
-	QtMobility::QGeoPositionInfo geoPositionInfo( ) const;
+	QGeoPositionInfo geoPositionInfo( ) const;
 	
 	/**
 	 * Method to get the url indicating the place
@@ -161,7 +162,7 @@
 	 * in time) of the place.
 	 * @param aGeoPosInfo The new Geo Position information of place
 	 */
-	void setGeoPositionInfo( const QtMobility::QGeoPositionInfo& aGeoPosInfo );
+	void setGeoPositionInfo( const QGeoPositionInfo &aGeoPosInfo );
 	
 	/**
 	 * Method to set the url indicating the place
@@ -169,6 +170,12 @@
 	 */
 	void setUrl( const QUrl& aUrl );
 	
+	/**
+	 * Method to set the id of the place
+	 * @return The ID value 
+	 */
+	void setId( const QString &aId );
+	
 private:
 	QSharedDataPointer<SmfPlacePrivate> d;
 	
@@ -201,4 +208,9 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfPlace &aPlace);
 
+
+// Make the class SmfPlace known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfPlace)
+
+
 #endif /* SMFPLACE_H_ */
--- a/smf/inc/common/smfplace/smfplace_p.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/common/smfplace/smfplace_p.h	Thu Apr 22 15:18:37 2010 +0530
@@ -32,29 +32,12 @@
 	/**
 	 * Constructor
 	 */
-	SmfPlacePrivate( ) { 
-		m_name.clear();
-		m_city.clear();
-		m_street.clear();
-		m_zipcode.clear();
-		m_country.clear();
-		m_url.clear();
-		m_placeId.clear(); }
-	
+	SmfPlacePrivate( );
 	/**
 	 * Copy Consturctor
 	 * @param aOther The reference object to be copy constructed
 	 */
-	SmfPlacePrivate( const SmfPlacePrivate &aOther ) : 
-		QSharedData ( aOther ), 
-		m_name ( aOther.m_name ),
-		m_city ( aOther.m_city ),
-		m_street ( aOther.m_street ),
-		m_zipcode ( aOther.m_zipcode ),
-		m_country ( aOther.m_country ),
-		m_geo ( aOther.m_geo ),
-		m_url ( aOther.m_url ),
-		m_placeId ( aOther.m_placeId ) 	{ }
+	SmfPlacePrivate( const SmfPlacePrivate &aOther ) ;
 	
 	/**
 	 * Destructor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/inc/smfclient/smfactivityfetcher.h	Thu Apr 22 15:18:37 2010 +0530
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd.
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "Eclipse Public License v1.0"
+ * which accompanies  this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html"
+ *
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+ *
+ * Description:
+ * Represents activity in terms similar to standard activity stream http://activitystrea.ms/
+ */
+
+#ifndef SMFACTIVITYFETCHER_H_
+#define SMFACTIVITYFETCHER_H_
+
+#include <QObject>
+#include <QList>
+#include <qmobilityglobal.h>
+
+#include "smfglobal.h"
+#include "smfprovider.h"
+#include "smfcontact.h"
+#include "smfevent.h"
+#include "smfactions.h"
+
+typedef QList<SmfActivityEntry> SmfActivityEntryList;
+
+/**
+ * @ingroup smf_client_group
+ * Basic activity service ("org.symbian.smf.client.activity.fetcher")
+ */
+class SMFCLIENT_EXPORT SmfActivityFetcher : public QObject
+	{
+	Q_OBJECT
+
+public:
+
+	/**
+	 * Constructs SmfActivity.
+	 * @param baseProvider The base provider info
+	 */
+	SmfActivityFetcher(SmfProvider* baseprovider = 0);
+
+	~SmfActivityFetcher();
+
+public slots:
+	/**
+	 * Emits signal resultsAvailable() when list of activities for the user is available 
+	 */
+	void selfActivities(int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
+
+	/**
+	 * Emits signal resultsAvailable() when list of activities for other contact  is available 
+	 */
+	void friendsActivities(const SmfContact& aFriend,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
+	
+	/**
+	 * returns only those activities (self) which are from @arg filters
+	 */
+	void filtered(QList<SmfActivityObjectType> filters,int pageNum=SMF_FIRST_PAGE,int perPage=SMF_ITEMS_PER_PAGE);
+
+	  /**
+	   * Gets the base provider info
+	   */
+	  SmfProvider* getProvider()  ;
+	
+signals:
+
+	/**
+	 * Signals availability of the result of the previous query
+	 */
+	void resultsAvailable(SmfActivityEntryList* entries, QString error, SmfResultPage resultPage);
+
+	};
+
+SMF_SERVICE_NAME(SmfGallery, "org.symbian.smf.client.activity.fetcher\0.2")
+
+#endif /* SMFACTIVITYFETCHER_H_ */
--- a/smf/inc/smfplugins/base/smfpluginutil.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/base/smfpluginutil.h	Thu Apr 22 15:18:37 2010 +0530
@@ -52,7 +52,6 @@
 class SmfPluginUtil : public QObject
 	{
 	Q_OBJECT
-
 public:
 	/**
 	 * Method to get the instance of SmfPluginUtil class
@@ -76,10 +75,13 @@
 	 * Method called by plugins to get the OAuth Keys. The PM sends the
 	 * keys only if the pluginID is that of a currently loaded plugin
 	 * @param aKeys [out] The OAuth keys
+	 * @param aRegToken The plugin's registration token
 	 * @param aPluginID The ID of the plugin that requests for
 	 * the OAuth keys
 	 */
-	void getAuthKeys( QMap<QString, QString> &aKeys, QString aPluginID );
+	void getAuthKeys( QMap<QString, QString> &aKeys, 
+			const QString aRegToken, 
+			const QString aPluginID );
 
 	/**
 	 * Method called by plugins to get the Nonce value
@@ -110,7 +112,7 @@
 private:
 	/**
 	 * Constructor with default argument
-	 * @param aParent The parent object
+	 * @param aParser The QJOSN parser object
 	 */
 	SmfPluginUtil ( Parser *aParser );
 
--- a/smf/inc/smfplugins/base/smfproviderbase.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/base/smfproviderbase.h	Thu Apr 22 15:18:37 2010 +0530
@@ -41,7 +41,6 @@
 class SmfProviderBase : public QObject
 	{
 	Q_OBJECT
-
 public:
 	/**
 	 * Constructor with default argument
@@ -159,4 +158,7 @@
 QDataStream &operator>>( QDataStream &aDataStream, 
 		SmfProviderBase &aProviderBase);
 
+// Make the class SmfProviderBase known to QMetaType, so that as to register it.
+Q_DECLARE_METATYPE(SmfProviderBase)
+
 #endif /* SMFPROVIDERBASE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/inc/smfplugins/smfactivity/smfactivityfetcherplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2010 Sasken Communication Technologies Ltd. 
+ * All rights reserved.
+ * This component and the accompanying materials are made available 
+ * under the terms of the "Eclipse Public License v1.0"
+ * which accompanies  this distribution, and is available 
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html"
+ * 
+ * Initial Contributors:
+ * Chandradeep Gandhi, Sasken Communication Technologies Ltd - 
+ *
+ * Description:
+ * Interface specification for plugins that implements social activity related services
+ *
+ */
+#ifndef SMFACTIVITYFETCHERPLUGIN_H_
+#define SMFACTIVITYFETCHERPLUGIN_H_
+
+#include <smfpluginbase.h>
+#include <smfactivity.h>
+
+// Forward declaration
+class SmfPluginManagerUtil;
+
+/**
+ * @ingroup smf_plugin_group
+ * Interface specification for fetching social activity list for a user. 
+ * This class provides basic functionality to allow applications to obtain list of
+ * activities like "marked as favourite", "commented on a picture" etc in a 
+ * social networking service.
+ *
+ * All of the functionality described here should be implemented by a service
+ * specific plug-in.
+ */
+class SmfActivityFetcherPlugin : public SmfPluginBase
+	{
+public:
+	/**
+	 * Constructor 	
+	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * call the method getAuthKeys() of this class, with its pluginID to 
+	 * get the OAuth keys, keys are returned only if this plugin is 
+	 * authorised by Smf franework
+	 * 
+	 */
+	SmfActivityFetcherPlugin( SmfPluginManagerUtil* aUtil);
+
+	/**
+	 * Destructor
+	 */
+	~SmfActivityFetcherPlugin();
+
+	/**
+	 * Method to get the list of self activities, e.g. shown in own wall
+	 * @param aRequest [out] The request data plugin generated (to be sent to network)
+	 * @param aPageNum[in] The page to be extracted
+	 * @param aItemsPerPage[in] Number of items per page
+	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+	 */
+	virtual SmfPluginError selfActivities( SmfPluginRequestData &aRequest,
+			const int aPageNum = SMF_FIRST_PAGE, 
+			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
+
+	/**
+	 * Method to get the list of activities for other, e.g. shown in a friends wall
+	 * @param aRequest [out] The request data plugin generated (to be sent to network)
+	 * @param aContact [in] The contact containing the URI, name or id of the user 
+	 * @param aPageNum[in] The page to be extracted
+	 * @param aItemsPerPage[in] Number of items per page
+	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+	 */
+	virtual SmfPluginError friendsActivities( SmfPluginRequestData &aRequest,
+			const SmfContact &aContact,			
+			const int aPageNum = SMF_FIRST_PAGE, 
+			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
+
+	/**
+	 * Method to get list of self activities filtered by activity type, e.g. only photo updates in own wall
+	 * @param aRequest [out] The request data plugin generated (to be sent to network)
+	 * @param aFilters [in] The list of activity types to be included in result
+	 * @param aPageNum[in] The page to be extracted
+	 * @param aItemsPerPage[in] Number of items per page
+	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
+	 */
+	virtual SmfPluginError filtered( SmfPluginRequestData &aRequest,
+			QList<SmfActivityObjectType> &aFilters,
+			const int aPageNum = SMF_FIRST_PAGE, 
+			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
+	
+	};
+
+Q_DECLARE_INTERFACE( SmfActivityFetcherPlugin, "org.symbian.smf.plugin.activity.fetcher/v0.2" );
+
+#endif /* SMFACTIVITYFETCHERPLUGIN_H_ */
--- a/smf/inc/smfplugins/smfcontacts/smfcontactfetcherplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfcontacts/smfcontactfetcherplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -27,7 +27,7 @@
 #include <smfplace.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -40,16 +40,15 @@
  */
 class SmfContactFetcherPlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfContactFetcherPlugin( SmfPluginManagerUtil* aUtil );
+	SmfContactFetcherPlugin( SmfPluginUtil* aUtil );
 	
 	/**
 	 * Destructor
--- a/smf/inc/smfplugins/smfcontacts/smfpostproviderplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfcontacts/smfpostproviderplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -12,8 +12,7 @@
  * Contributors:
  * Manasij Roy, Nalina Hariharan
  * 
- * @section DESCRIPTION
- *
+ * Description:
  * Interface specification for getting/posting updates to a social site
  *
  */
@@ -28,7 +27,7 @@
 #include <smfplace.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * SmfPresenceInfo.
@@ -58,16 +57,15 @@
  */
 class SmfPostProviderPlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfPostProviderPlugin( SmfPluginManagerUtil* aUtil );
+	SmfPostProviderPlugin( SmfPluginUtil* aUtil );
 	
 	/**
 	 * Destructor
@@ -113,7 +111,7 @@
 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
 	 */
 	virtual SmfPluginError retrieve( SmfPluginRequestData &aRequest,
-			const SmfContact &aUser = 0,
+			const SmfContact *aUser=0,
 			const int aPageNum = SMF_FIRST_PAGE, 
 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
 
@@ -149,7 +147,7 @@
 	virtual SmfPluginError postDirected( SmfPluginRequestData &aRequest,
 			const SmfPost &aPostData, 
 			const SmfContact &aContact, 
-			const SmfPlace &aLocation = NULL ) = 0;
+			const SmfPlace *aLocation = NULL ) = 0;
 	
 	
 	/**
@@ -162,7 +160,7 @@
 	virtual SmfPluginError commentOnAPost(SmfPluginRequestData &aRequest,
 			const SmfPost& aTarget,
 			const SmfPost& aComment, 
-			const SmfPlace &aLocation = NULL);
+			const SmfPlace *aLocation = NULL);
 	
 	/**
 	 * Method to update the presence information of the user
--- a/smf/inc/smfplugins/smfmusic/smflyricsserviceplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfmusic/smflyricsserviceplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -28,7 +28,7 @@
 #include <smflyrics.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -39,16 +39,15 @@
  */
 class SmfLyricsServicePlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfLyricsServicePlugin( SmfPluginManagerUtil* aUtil );
+	SmfLyricsServicePlugin( SmfPluginUtil* aUtil );
 	
 	/**
 	 * Destructor
--- a/smf/inc/smfplugins/smfmusic/smfmusiceventsplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfmusic/smfmusiceventsplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -23,12 +23,13 @@
 #define SMFMUSICEVENTSPLUGIN_H_
 
 #include <smfpluginbase.h>
-#include <qtcontacts.h>
+//#include <qtcontacts.h>
 #include <smfevent.h>
 #include <smfplace.h>
+#include <qgeopositioninfo.h> // Qt mobility class
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 using namespace QtMobility;
 
@@ -43,16 +44,15 @@
  */
 class SmfMusicEventsPlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf framework
 	 */
-	SmfMusicEventsPlugin( SmfPluginManagerUtil* aUtil );
+	SmfMusicEventsPlugin( SmfPluginUtil* aUtil );
 	
 	/**
 	 * Destructor
@@ -68,7 +68,7 @@
 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
 	 */
 	virtual SmfPluginError events( SmfPluginRequestData &aRequest,
-			const QtMobility::QContactGeolocation &aLocation,
+			const QGeoPositionInfo &aLocation,
 			const int aPageNum = SMF_FIRST_PAGE, 
 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
 	
@@ -81,7 +81,7 @@
 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
 	 */
 	virtual SmfPluginError venues( SmfPluginRequestData &aRequest,
-			const QtMobility::QContactGeolocation &aLocation,
+			const QGeoPositionInfo &aLocation,
 			const int aPageNum = SMF_FIRST_PAGE, 
 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
 	
--- a/smf/inc/smfplugins/smfmusic/smfmusicsearchplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfmusic/smfmusicsearchplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -27,7 +27,7 @@
 #include <smftrackinfo.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -40,16 +40,15 @@
  */
 class SmfMusicSearchPlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfMusicSearchPlugin( SmfPluginManagerUtil *aUtil );
+	SmfMusicSearchPlugin( SmfPluginUtil *aUtil );
 	
 	/**
 	 * Destructor
--- a/smf/inc/smfplugins/smfmusic/smfmusicserviceplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfmusic/smfmusicserviceplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -26,7 +26,7 @@
 #include <smfplace.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -39,16 +39,15 @@
  */
 class SmfMusicServicePlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfMusicServicePlugin( SmfPluginManagerUtil *aUtil );
+	SmfMusicServicePlugin( SmfPluginUtil *aUtil );
 	
 	/**
 	 * Destructor
--- a/smf/inc/smfplugins/smfmusic/smfplaylistserviceplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfmusic/smfplaylistserviceplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -27,7 +27,7 @@
 #include <smftrackinfo.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -41,16 +41,15 @@
  */
 class SmfPlaylistServicePlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfPlaylistServicePlugin( SmfPluginManagerUtil *aUtil );
+	SmfPlaylistServicePlugin( SmfPluginUtil *aUtil );
 	
 	/**
 	 * Destructor
--- a/smf/inc/smfplugins/smfpictures/smfgalleryplugin.h	Thu Apr 15 15:40:08 2010 +0530
+++ b/smf/inc/smfplugins/smfpictures/smfgalleryplugin.h	Thu Apr 22 15:18:37 2010 +0530
@@ -21,11 +21,11 @@
 #define SMFGALLERYPLUGIN_H_
 
 #include <smfpluginbase.h>
-#include </inc/common/smfpictures/smfpicture.h>
-#include </inc/common/smfcomment/smfcomment.h>
+#include <smfpicture.h>
+#include <smfcomment.h>
 
 // Forward declaration
-class SmfPluginManagerUtil;
+class SmfPluginUtil;
 
 /**
  * @ingroup smf_plugin_group
@@ -57,16 +57,15 @@
  */
 class SmfGalleryPlugin : public SmfPluginBase
 	{
-	Q_OBJECT
 public:
 	/**
 	 * Constructor with default argument
-	 * @param aUtil The SmfPluginManagerUtil instance. The plugins can 
+	 * @param aUtil The SmfPluginUtil instance. The plugins can 
 	 * call the method getAuthKeys() of this class, with its pluginID to 
 	 * get the OAuth keys, keys are returned only if this plugin is 
 	 * authorised by Smf franework
 	 */
-	SmfGalleryPlugin( SmfPluginManagerUtil *aUtil );
+	SmfGalleryPlugin( SmfPluginUtil *aUtil );
 	
 	/**
 	 * Destructor