smf/smfservermodule/smfclient/common/smfplaylist_p.h
changeset 18 013a02bf2bb0
parent 17 106a4bfcb866
child 19 c412f0526c34
equal deleted inserted replaced
17:106a4bfcb866 18:013a02bf2bb0
     1 /**
       
     2  * Copyright (c) 2010 Sasken Communication Technologies Ltd.
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of the "Eclipse Public License v1.0" 
       
     6  * which accompanies  this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html"
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
       
    11  *
       
    12  * Contributors:
       
    13  * Manasij Roy, Nalina Hariharan
       
    14  * 
       
    15  * Description:
       
    16  * Private class implemented for implicit sharing of SmfPlaylist class
       
    17  *
       
    18  */
       
    19 
       
    20 #ifndef SMFPLAYLIST_P_H_
       
    21 #define SMFPLAYLIST_P_H_
       
    22 
       
    23 #include <smftrackinfo.h>
       
    24 #include <QSharedData>
       
    25 
       
    26 class SmfPlaylistPrivate : public QSharedData
       
    27 {
       
    28 public:
       
    29 	/**
       
    30 	 * Constructor
       
    31 	 */
       
    32 	SmfPlaylistPrivate( ) { 
       
    33 		m_version.clear();
       
    34 		m_title.clear();
       
    35 		m_author.clear();
       
    36 		m_comments.clear();
       
    37 		m_info.clear();
       
    38 		m_location.clear();
       
    39 		m_playlistId.clear();
       
    40 		m_image.clear();
       
    41 		m_license.clear();
       
    42 		m_attribution.clear();
       
    43 		m_trackList.clear();
       
    44 	}
       
    45 	
       
    46 	/**
       
    47 	 * Copy Consturctor
       
    48 	 * @param aOther The reference object to be copy constructed
       
    49 	 */
       
    50 	SmfPlaylistPrivate( const SmfPlaylistPrivate &aOther ) : 
       
    51 		QSharedData ( aOther ), 
       
    52 		m_version ( aOther.m_version ), 
       
    53 		m_title ( aOther.m_title ),
       
    54 		m_author ( aOther.m_author ),
       
    55 		m_comments ( aOther.m_comments ), 
       
    56 		m_info ( aOther.m_info ),
       
    57 		m_location ( aOther.m_location ),
       
    58 		m_playlistId ( aOther.m_playlistId ), 
       
    59 		m_image ( aOther.m_image ),
       
    60 		m_creationDate ( aOther.m_creationDate ),
       
    61 		m_license ( aOther.m_license ), 
       
    62 		m_attribution ( aOther.m_attribution ),
       
    63 		m_metadata ( aOther.m_metadata ),
       
    64 		m_extension ( aOther.m_extension ),
       
    65 		m_trackList ( aOther.m_trackList ) { }
       
    66 	
       
    67 	/**
       
    68 	 * Destructor
       
    69 	 */
       
    70 	~SmfPlaylistPrivate( )
       
    71 		{
       
    72 		}
       
    73   
       
    74 	/**
       
    75 	 * Data members
       
    76 	 */
       
    77 	QString m_version;				// playlist version
       
    78 	QString m_title;				// playlist title
       
    79 	QString m_author;				// playlist creator
       
    80 	QList<SmfComment> m_comments;	// comments about the playlist
       
    81 	QUrl m_info;					// URI of a web page to find out more about this playlist
       
    82 	QUrl m_location;				// The Source URI for this playlist
       
    83 	QString m_playlistId;			// The playlist ID
       
    84 	QUrl m_image;					// URI of an image to display in the absence of an 
       
    85 									// image for playlist's tracks
       
    86 	QDateTime m_creationDate;		// creation date of the playlist
       
    87 	QUrl m_license;					// URI of a resource that describes the license under 
       
    88 									// which this playlist was released
       
    89 	QList<QUrl> m_attribution;		// An ordered list of URIs. The purpose is to satisfy licenses 
       
    90 									// allowing modification but requiring attribution
       
    91 	QVariantMap m_metadata;			// The meta element allows metadata fields to be added to XSPF
       
    92 	QVariantMap m_extension; 		// The extension element allows non-XSPF XML 
       
    93 									// to be included in XSPF documents
       
    94 	QList<SmfTrackInfo> m_trackList;// list of tracks in the playlist
       
    95 	
       
    96 };
       
    97 
       
    98 #endif /* SMFPLAYLIST_P_H_ */