diff -r 1cee9f1b95e0 -r a180113055cb smf/smfservermodule/smfcommon/smfalbum.cpp --- a/smf/smfservermodule/smfcommon/smfalbum.cpp Thu Sep 23 17:20:22 2010 +0530 +++ b/smf/smfservermodule/smfcommon/smfalbum.cpp Thu Sep 23 17:43:31 2010 +0530 @@ -13,7 +13,7 @@ * Manasij Roy, Nalina Hariharan * * Description: - * The SmfAlbum class represents a music album + * The SmfAlbum class represents an album * */ @@ -46,9 +46,13 @@ SmfAlbum& SmfAlbum::operator=( const SmfAlbum &aOther ) { d->m_name = aOther.d->m_name; - d->m_image = aOther.d->m_image; + d->m_imageUrl = aOther.d->m_imageUrl; d->m_artists = aOther.d->m_artists; + d->m_location = aOther.d->m_location; + d->m_itemCount = aOther.d->m_itemCount; + d->m_type = aOther.d->m_type; d->m_albumId = aOther.d->m_albumId; + d->m_secondaryId = aOther.d->m_secondaryId; return *this; } @@ -69,12 +73,12 @@ } /** - * Method to get the album's image - * @return The album's image + * Method to get the album's image url if any + * @return The album's image url if any */ -QImage SmfAlbum::image( ) const +QUrl SmfAlbum::imageUrl( ) const { - return d->m_image; + return d->m_imageUrl; } /** @@ -87,6 +91,33 @@ } /** + * Method to get the location of this album + * @return The location of this album + */ +SmfLocation SmfAlbum::location( ) const + { + return d->m_location; + } + +/** + * Method to get the number of items in this album + * @return The number of items in this album + */ +int SmfAlbum::itemsCount( ) const + { + return d->m_itemCount; + } + +/** + * Method to get the type of this album + * @return The type of this album + */ +SmfAlbumMediaType SmfAlbum::type( ) const + { + return d->m_type; + } + +/** * Method to get the id of the album * @return The ID value */ @@ -96,6 +127,16 @@ } /** + * Method to get the secondary id of the album, e.g. musicbrainz id of the album for a music album + * @return The ID value + */ +QString SmfAlbum::secondaryId( ) const + { + return d->m_secondaryId; + } + + +/** * Method to set the album name * @param aName The album name */ @@ -105,12 +146,12 @@ } /** - * Method to set the album's image - * @param aImage The album's image + * Method to set the album's image url + * @param aUrl The album's image url */ -void SmfAlbum::setImage( const QImage &aImage ) +void SmfAlbum::setImageUrl( const QUrl &aUrl ) { - d->m_image = aImage; + d->m_imageUrl = aUrl; } /** @@ -123,6 +164,33 @@ } /** + * Method to set the location of this album + * @param aLoc The location of the album + */ +void SmfAlbum::setLocation(const SmfLocation &aLoc ) + { + d->m_location = aLoc; + } + +/** + * Method to set the number of items in this album + * @param aCount the number of items in this album + */ +void SmfAlbum::setItemsCount( const int aCount ) + { + d->m_itemCount = aCount; + } + +/** + * Method to set the type of this album + * @param aType the type of this album + */ +void SmfAlbum::setType(SmfAlbumMediaType aType) + { + d->m_type = aType; + } + +/** * Method to set the id of the album * @param aId The ID value */ @@ -132,6 +200,16 @@ } /** + * Method to set the secondary id of the album, e.g. musicbrainz id of the album for a music album + * @param aSecondaryID the secondaryID of this album + */ +void SmfAlbum::setSecondaryId( const QString &aSecondaryID ) + { + d->m_secondaryId = aSecondaryID; + } + + +/** * Method for Externalization. Writes the SmfAlbum object to * the stream and returns a reference to the stream. * @param aDataStream Stream to be written @@ -144,15 +222,27 @@ // Serialize d->m_name aDataStream<m_name; - // Serialize d->m_image - aDataStream<m_image; + // Serialize d->m_imageUrl + aDataStream<m_imageUrl; // Serialize d->m_artists aDataStream<m_artists; + // Serialize d->m_location + aDataStream<m_location; + + // Serialize d->m_itemCount + aDataStream<m_itemCount; + + // Serialize d->m_type + aDataStream<m_type; + // Serialize d->m_albumId aDataStream<m_albumId; + // Serialize d->m_secondaryId + aDataStream<m_secondaryId; + return aDataStream; } @@ -169,14 +259,28 @@ // Deserialize d->m_name aDataStream>>aAlbum.d->m_name; - // Deserialize d->m_image - aDataStream>>aAlbum.d->m_image; + // Deserialize d->m_imageUrl + aDataStream>>aAlbum.d->m_imageUrl; // Deserialize d->m_artists aDataStream>>aAlbum.d->m_artists; + // Deserialize d->m_location + aDataStream>>aAlbum.d->m_location; + + // Deserialize d->m_itemCount + aDataStream>>aAlbum.d->m_itemCount; + + // Deserialize d->m_type + int val; + aDataStream>>val; + aAlbum.d->m_type = (SmfAlbumMediaType)val; + // Deserialize d->m_albumId aDataStream>>aAlbum.d->m_albumId; + // Deserialize d->m_secondaryId + aDataStream>>aAlbum.d->m_secondaryId; + return aDataStream; }