smf/smfservermodule/smfclient/smfgallery.cpp
changeset 18 013a02bf2bb0
child 25 a180113055cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/smfservermodule/smfclient/smfgallery.cpp	Thu Aug 05 16:48:48 2010 +0530
@@ -0,0 +1,129 @@
+/**
+ * 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
+ *
+ * Contributors:
+ * Manasij Roy, Nalina Hariharan
+ *
+ * Description:
+ * The SmfGallery class 
+ *
+ */
+
+#include "smfgallery.h"
+#include "smfgallery_p.h"
+
+
+SmfGallery::SmfGallery(SmfProvider* baseprovider):m_baseProvider(baseprovider)
+	{
+	//creating private impl wrapper
+	m_private = new SmfGalleryPrivate(this);
+	}
+
+SmfGallery::~SmfGallery()
+	{
+	if(m_private)
+		{
+		delete m_private;
+		m_private = NULL;
+		}
+	}
+
+/**
+ * Get the album listing asynchronously. The albumsAvailable() signal is 
+ * emitted with SmfPictureAlbumList once the albums have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param names the subject or any keywords to be used to filter albums with that name
+ * @param user the user whose albums are requested 
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGallery::albums(QStringList names, SmfContact* user, int pageNum, int perPage)
+	{
+	m_private->albums(names,user, pageNum, perPage);	
+	}
+
+/**
+ * Get the picture listing asynchronously. The picturesAvailable() signal is 
+ * emitted with SmfPictureList once the pictures have arrived.
+ * When the list is big user can specify the page number and per page item data.
+ * If not supplied by the user default values are used.
+ * @param albums album(s) whose pictures are being requested
+ * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
+ * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE
+ */
+void SmfGallery::pictures(SmfPictureAlbumList &albums, int pageNum, int perPage)
+	{
+	m_private->pictures( albums, pageNum, perPage);
+	}
+
+
+/**
+ * Returns a user title/caption for the picture
+ */
+void SmfGallery::description ( SmfPicture& picture )
+	{
+	m_private->description(picture);
+	}
+
+/**
+ * Upload an image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param image the image to be uploaded
+ * @param album the optional destination album name 
+ */
+void SmfGallery::upload(SmfPicture* image, SmfPictureAlbum* album)
+	{
+	m_private->upload(image,album);
+	}
+
+/**
+ * Upload an list image.Implemented as slot to connect to UI controls more easily
+ * uploadFinished() signal is emitted with the success value of the upload
+ * @param images the list image to be uploaded
+ * @param album the optional destination album name 
+ */
+void SmfGallery::upload(SmfPictureList* images, SmfPictureAlbum* album) 
+	{
+	m_private->upload(images,album);
+	}
+
+/**
+ * Posts a comment for an image. uploadFinished() signal is emitted
+ * with success of the post once comment is posted.
+ * @param image Image to comment on
+ * @param comment Comment to post
+ */
+void SmfGallery::postComment(SmfPicture image, SmfComment comment) 
+	{
+	m_private->postComment(image,comment);
+	}
+   
+/**
+ * Request for a custom operation.
+ * @param operationId OperationId
+ * @param customData Custom data to be sent
+ * Note:-Interpretation of operationId and customData is upto the concerned
+ * plugin and client application. service provider should provide some
+ * serializing-deserializing utilities for these custom data
+ */
+void SmfGallery::customRequest(const int& operationId,QByteArray* customData)
+	{
+	m_private->customRequest(operationId, customData);
+	}
+
+/**
+* Gets the base provider info
+*/
+SmfProvider* SmfGallery::getProvider() const
+	{
+	return m_baseProvider;
+	}