smf/smfservermodule/smfcommon/smfpicture.cpp
author cgandhi
Thu, 23 Sep 2010 17:43:31 +0530
changeset 25 a180113055cb
parent 18 013a02bf2bb0
permissions -rw-r--r--
Music Events are now normal Fetcher APIs added All APIs now return SmfError Canceling Request now supported Music Search now based on category Providerinfo added in DSM Added secondary ID, count, location to SMFAlbum Tags for Artist added Get tracks for album and artist added Added URL to subtitle DSM Bug fixes Detailed debugging logs filtered in server, pluginmgr, transportmgr playlistsOf() method changed in smfclient and plugin interfaces. RVCT B686 compilation issues resolved.

/**
 * 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 picture class represents an instance of a picture
 *
 */

#include "smfpicture.h"
#include "smfpicture_p.h"

/**
 * Constructor with default argument
 */
SmfPicture::SmfPicture(/*bool aDownloaded*/)
	{
	d = new SmfPicturePrivate;
	//d->isDownloaded = aDownloaded;
	}

/**
 * Copy Constructor
 * @param aOther The reference object
 */
SmfPicture::SmfPicture( const SmfPicture &aOther )
	: d( aOther.d )
	{
	}

/**
 * CConstructs SmfPicture from QImage
 * @param aOther The QImage
 */
SmfPicture::SmfPicture( const QImage &aImage )
	{
	d = new SmfPicturePrivate(aImage);
	}

/**
 * Overloaded = operator
 * @param aOther The reference object
 * @return The target reference value
 */
SmfPicture& SmfPicture::operator=( const SmfPicture &aOther )
	{
	d->m_photoId = aOther.d->m_photoId;
	d->m_owner = aOther.d->m_owner;
	d->m_title = aOther.d->m_title;
	d->m_description = aOther.d->m_description;
	d->m_picVisibility = aOther.d->m_picVisibility;
	d->m_postedOn = aOther.d->m_postedOn;
	d->m_comments = aOther.d->m_comments;
	d->m_tags = aOther.d->m_tags;
	d->m_url = aOther.d->m_url;
	d->m_picture = aOther.d->m_picture;
	return *this;
	}

/**
 * Destructor
 */
SmfPicture::~SmfPicture( )
	{
	}

/**
 * Method to get a picture owner
 * @return The owner of the picture
 */
QString SmfPicture::owner( ) const
	{
	return d->m_owner;
	}

/**
 * Method to get a picture title
 * @return The title of the picture
 */
QString SmfPicture::title( ) const
	{
	return d->m_title;
	}

/**
 * Method to get a picture description
 * @return The description of the picture
 */
QString SmfPicture::description( ) const
	{
	return d->m_description;
	}

/**
 * Method to get a visibility of a picture for public
 * @return The visibility mode of this picture for others
 */
SmfPictureVisibility SmfPicture::visibility( ) const
	{
	return d->m_picVisibility;
	}

/**
 * Method to get the date of posting the picture
 * @return The posted date of the picture
 */
QDateTime SmfPicture::postedDate( ) const
	{
	return d->m_postedOn;
	}

/**
 * Method to get the comments for the picture
 * @return The comments for the picture
 */
QList<SmfComment> SmfPicture::comments( ) const
	{
	return d->m_comments;
	}

/**
 * Method to get the tags for the picture
 * @return The tags for the picture
 */
QStringList SmfPicture::tags( ) const
	{
	return d->m_tags;
	}

/**
 * Method to get the url of the picture
 * @return The url of the picture
 */
QUrl SmfPicture::url( ) const
	{
	return d->m_url;
	}

/**
 * Method to get the picture data as QImage
 * @return The picture as QImage
 */
QImage SmfPicture::picture( ) const
	{
	return d->m_picture;
	}
	
/**
 * Method to get the id of the picture
 * @return The ID value 
 */
QString SmfPicture::id( ) const
	{
	return d->m_photoId;
	}
bool SmfPicture::downloadFlag()
	{
	return d->isDownloaded;
	}
/**
 * Method to set a picture owner
 * @param aOwner The owner of the picture
 */
void SmfPicture::setOwner( const QString &aOwner )
	{
	d->m_owner = aOwner;
	}

/**
 * Method to set a picture title
 * @param aTitle The title of the picture
 */
void SmfPicture::setTitle( const QString &aTitle )
	{
	d->m_title = aTitle;
	}

/**
 * Method to set a picture description
 * @param aDescription The description of the picture
 */
void SmfPicture::setDescription( const QString &aDescription )
	{
	d->m_description = aDescription;
	}

/**
 * Method to set a visibility of a picture for public
 * @param aVisibility aVisibility The visibility mode of 
 * this picture for others
 */
void SmfPicture::setVisibility( const SmfPictureVisibility &aVisibility )
	{
	d->m_picVisibility = aVisibility;
	}

/**
 * Method to set the date of posting the picture
 * @param aDate The post date of the picture
 */
void SmfPicture::setPostedDate( const QDateTime &aDate )
	{
	d->m_postedOn = aDate;
	}

/**
 * Method to add comment on the picture
 * @param aComment The comment for the picture
 */
void SmfPicture::addComment( const SmfComment &aComment )
	{
	d->m_comments.append(aComment);
	}

/**
 * Method to add tags for the picture
 * @param aTag The tag for the picture
 */
void SmfPicture::addTags( const QStringList &aTags )
	{
	d->m_tags = aTags;
	}

/**
 * Method to set the url of the picture
 * @param aUrl The url of the picture
 */
void SmfPicture::setUrl( const QUrl &aUrl )
	{
	d->m_url = aUrl;
	}

/**
 * Method to set the picture data as QImage
 * @param aData The picture as QImage
 */
void SmfPicture::setPicture( const QImage &aData )
	{
	d->m_picture = aData;
	}

/**
 * Method to set the id of the picture
 * @param aId The ID value 
 */
void SmfPicture::setId( const QString &aId )
	{
	d->m_photoId = aId;
	}


/**
 * Method for Externalization. Writes the SmfPicture object to 
 * the stream and returns a reference to the stream.
 * @param aDataStream Stream to be written
 * @param aPic The SmfPicture object to be externalized
 * @return reference to the written stream
 */
QDataStream& operator<<( QDataStream &aDataStream, 
		const SmfPicture &aPic )
	{
	// Serialize d->m_photoId
	aDataStream<<aPic.d->m_photoId;
	
	// Serialize d->m_owner
	aDataStream<<aPic.d->m_owner;
	
	// Serialize d->m_title
	aDataStream<<aPic.d->m_title;
	
	// Serialize d->m_description
	aDataStream<<aPic.d->m_description;
	
	// Serialize d->m_picVisibility
	aDataStream<<aPic.d->m_picVisibility;
	
	// Serialize d->m_postedOn
	aDataStream<<aPic.d->m_postedOn;
	
	// Serialize d->m_comments
	aDataStream<<aPic.d->m_comments;
	
	// Serialize d->m_tags
	aDataStream<<aPic.d->m_tags;
	
	// Serialize d->m_url
	aDataStream<<aPic.d->m_url;
	
	// Serialize d->m_picture
	aDataStream<<aPic.d->m_picture;
	
	return aDataStream;
	}

/**
 * Method for Internalization. Reads a SmfPicture object from 
 * the stream and returns a reference to the stream.
 * @param aDataStream Stream to be read
 * @param aPic The SmfPicture object to be internalized
 * @return reference to the stream
 */
QDataStream& operator>>( QDataStream &aDataStream, 
		SmfPicture &aPic)
	{
	// Deserialize d->m_photoId
	aDataStream>>aPic.d->m_photoId;
	
	// Deserialize d->m_owner
	aDataStream>>aPic.d->m_owner;
	
	// Deserialize d->m_title
	aDataStream>>aPic.d->m_title;
	
	// Deserialize d->m_description
	aDataStream>>aPic.d->m_description;
	
	// Deserialize d->m_picVisibility
	quint32 val = 0;
	aDataStream>>val;
	aPic.d->m_picVisibility = (SmfPictureVisibility)val;

	// Deserialize d->m_postedOn
	aDataStream>>aPic.d->m_postedOn;
	
	// Deserialize d->m_comments
	aDataStream>>aPic.d->m_comments;
	
	// Deserialize d->m_tags
	aDataStream>>aPic.d->m_tags;
	
	// Deserialize d->m_url
	aDataStream>>aPic.d->m_url;
	
	// Deserialize d->m_picture
	aDataStream>>aPic.d->m_picture;
	
	return aDataStream;
	}