diff -r 106a4bfcb866 -r 013a02bf2bb0 smf/smfservermodule/smfclient/common/smfplaylist.h --- a/smf/smfservermodule/smfclient/common/smfplaylist.h Thu Aug 05 16:46:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ -/** - * 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 playlist class represents an instance of a playlist. - * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF) - * as mentioned in http://xspf.org/xspf-v1.html - * - */ - -#ifndef SMFPLAYLIST_H_ -#define SMFPLAYLIST_H_ - -#include -#include -#include -#include - -#include "smfclientglobal.h" -#include "smftrackinfo.h" -#include "smfcomment.h" - -class SmfPlaylistPrivate; - -/** - * @ingroup smf_common_group - * The playlist class represents an instance of a playlist. - * SmfPlaylist class is in accordance with the XML Shareable Playlist Format (XSPF) - * as mentioned in http://xspf.org/xspf-v1.html - */ -class SMFCLIENT_EXPORT SmfPlaylist - { -public: - /** - * Constructor with default argument - */ - SmfPlaylist( ); - - /** - * Copy Constructor - * @param aOther The reference object - */ - SmfPlaylist( const SmfPlaylist &aOther ); - - /** - * Overloaded = operator - * @param aOther The reference object - */ - SmfPlaylist& operator=( const SmfPlaylist &aOther ); - - /** - * Destructor - */ - ~SmfPlaylist( ); - - /** - * Method to get the version of the playlist - * @return The version of the playlist - */ - QString version( ) const; - - /** - * Method to get the playlist title - * @return The title of the playlist - */ - QString playListTitle( ) const; - - /** - * Method to get the author of the playlist - * @return The author of the playlist - */ - QString author( ) const; - - /** - * Method to get the comments on the playlist - * @return The comments on the playlist - */ - QList comments( ) const; - - /** - * Method to get the URI of a web page to find out more about this playlist - * @return The info Url - */ - QUrl info( ) const; - - /** - * Method to get the Source URI for this playlist - * @return The Source URI for this playlist - */ - QUrl location( ) const; - - /** - * Method to get the id of the playlist - * @return The ID value - */ - QString id( ) const; - - /** - * Method to get the URI of an image to display in the absence - * of an image for playlist's tracks - * @return The deafult image Url - */ - QUrl image( ) const; - - /** - * Method to get the creation date of the playlist - * @return The date and time of creation of the playlist - */ - QDateTime creationDate( ) const; - - /** - * Method to get the URI of a resource that describes the license - * under which this playlist was released - * @return The license Url - */ - QUrl license( ) const; - - /** - * Method to get the ordered list of URIs. The purpose is to satisfy - * licenses allowing modification but requiring attribution - * @return The list of license Urls - */ - QList attribution( ) const; - - /** - * Method to get the meta element that allows metadata fields to be added to XSPF - * @return The meta elements as a QVarintMap - */ - QVariantMap metadata( ) const; - - /** - * Method to get the extension element that allows non-XSPF XML - * to be included in XSPF documents - * @return The extension elements as a QVarintMap - */ - QVariantMap extension( ) const; - - /** - * Method to get the list of tracks in the playlist - * @return The list of tracks in the playlist - */ - QList trackList( ) const; - - /** - * Method to set the version of the playlist - * @param aVersion The version of the playlist - */ - void setVersion( const QString& aVersion ); - - /** - * Method to set the playlist title - * @param aTitle The title of the playlist - */ - void setPlayListTitle( const QString &aTitle ); - - /** - * Method to set the author of the playlist - * @param aAuthor The author of the playlist - */ - void setAuthor( const QString& aAuthor ); - - /** - * Method to set the comments on the playlist - * @param aComments The comments on the playlist - */ - void setComments( const QList& aComments ); - - /** - * Method to set the URI of a web page to find out more about this playlist - * @param aInfoUrl The info Url - */ - void setInfo( const QUrl& aInfoUrl ); - - /** - * Method to set the Source URI for this playlist - * @param aLocation The Source URI for this playlist - */ - void setLocation( const QUrl& aLocation ); - - /** - * Method to set the id of the playlist - * @param aId The ID value - */ - void setId( const QString &aId); - - /** - * Method to set the URI of an image to display in the absence - * of an image for playlist's tracks - * @param aImage The default image Url - */ - void setImage( const QUrl& aImage ); - - /** - * Method to set the creation date of the playlist - * @param aDate The date and time of creation of the playlist - */ - void setCreationDate( const QDateTime& aDate ); - - /** - * Method to set the URI of a resource that describes the license - * under which this playlist was released - * @param aLicense The license Url - */ - void setLicense( const QUrl& aLicense ); - - /** - * Method to set the ordered list of URIs. The purpose is to satisfy - * licenses allowing modification but requiring attribution - * @param aAttribution The list of license Urls - */ - void setAttribution( const QList& aAttribution ); - - /** - * Method to set the meta element that allows metadata fields to be added to XSPF - * @param aMetaData The meta elements as a QVarintMap - */ - void setMetadata( const QVariantMap& aMetaData ); - - /** - * Method to set the extension element that allows non-XSPF XML - * to be included in XSPF documents - * @param aExtension The extension elements as a QVarintMap - */ - void setExtension( const QVariantMap& aExtension ); - - /** - * Method to set the list of tracks in the playlist - * @param aList The new list of tracks in the playlist - */ - void setTrackList( const QList &aList ); - -private: - QSharedDataPointer d; - - friend QDataStream &operator<<( QDataStream &aDataStream, - const SmfPlaylist &aPlaylist ); - - friend QDataStream &operator>>( QDataStream &aDataStream, - SmfPlaylist &aPlaylist ); - - }; - - -/** - * Method for Externalization. Writes the SmfPlaylist object to - * the stream and returns a reference to the stream. - * @param aDataStream Stream to be written - * @param aPlaylist The SmfPlaylist object to be externalized - * @return reference to the written stream - */ -SMFCLIENT_EXPORT QDataStream &operator<<( QDataStream &aDataStream, - const SmfPlaylist &aPlaylist ); - -/** - * Method for Internalization. Reads a SmfPlaylist object from - * the stream and returns a reference to the stream. - * @param aDataStream Stream to be read - * @param aPlaylist The SmfPlaylist object to be internalized - * @return reference to the stream - */ -SMFCLIENT_EXPORT QDataStream &operator>>( QDataStream &aDataStream, - SmfPlaylist &aPlaylist); - -typedef QList SmfPlaylistList; - -// Make the class SmfPlaylist known to QMetaType, so that as to register it. -Q_DECLARE_METATYPE(SmfPlaylist) -Q_DECLARE_METATYPE(QList) - -#endif /* SMFPLAYLIST_H_ */ -