mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h
changeset 25 3ec52facab4d
parent 22 ecf06a08d4d9
child 29 8192e5b5c935
equal deleted inserted replaced
22:ecf06a08d4d9 25:3ec52facab4d
   316         * @param aSongId identifies the song
   316         * @param aSongId identifies the song
   317         * @param aAttrs attributes to be retrieved
   317         * @param aAttrs attributes to be retrieved
   318         * @param aMedia returns the song information
   318         * @param aMedia returns the song information
   319         */
   319         */
   320         void GetSongL(TInt aSongId, const TArray<TMPXAttribute>& aAttrs, CMPXMedia& aMedia);
   320         void GetSongL(TInt aSongId, const TArray<TMPXAttribute>& aAttrs, CMPXMedia& aMedia);
   321         
   321 
   322         /**
   322         /**
   323         * Returns all songs in the playlist.
   323         * Returns all songs in the playlist.
   324         * @param aDrive identifies in db
   324         * @param aDrive identifies in db
   325         * @param aPlaylistId identifies the playlist
   325         * @param aPlaylistId identifies the playlist
   326         * @param aAttrs attributes to be retrieved
   326         * @param aAttrs attributes to be retrieved
   419         void GetSongsForComposerL(TUint aComposerId, const TArray<TMPXAttribute>& aAttrs,
   419         void GetSongsForComposerL(TUint aComposerId, const TArray<TMPXAttribute>& aAttrs,
   420             CMPXMediaArray& aMediaArray);
   420             CMPXMediaArray& aMediaArray);
   421 
   421 
   422 
   422 
   423 #ifdef ABSTRACTAUDIOALBUM_INCLUDED
   423 #ifdef ABSTRACTAUDIOALBUM_INCLUDED
   424 	    /**
   424         /**
   425         * Returns all songs for a given abstractalbum.
   425         * Returns all songs for a given abstractalbum.
   426         * @param aDrive drive ID AbstractAlbum stored
       
   427         * @param aAbstractAlbumId abstractalbum to get the songs for
   426         * @param aAbstractAlbumId abstractalbum to get the songs for
   428         * @param aAttrs attributes to be retrieved
   427         * @param aAttrs attributes to be retrieved
   429         * @param aMediaArray returns the song attributes.
   428         * @param aMediaArray returns the song attributes.
   430         */
   429         */
   431         void GetAllSongsForAbstractAlbumL(TInt aDrive, TInt aAbstractAlbumId,
   430         void GetAllSongsForAbstractAlbumL(TUint aAbstractAlbumId,
   432             const TArray<TMPXAttribute>& aAttrs, CMPXMediaArray& aMediaArray);
   431             const TArray<TMPXAttribute>& aAttrs, CMPXMediaArray& aMediaArray);
   433 #endif // ABSTRACTAUDIOALBUM_INCLUDED
   432 #endif // ABSTRACTAUDIOALBUM_INCLUDED
   434         /**
   433         /**
   435         * Returns the duration of all songs.
   434         * Returns the duration of all songs.
   436         * @return the duration value
   435         * @return the duration value
   523         void GetMusicUriArrayL(TInt aDrive, TInt aFromID, TInt aRecords,
   522         void GetMusicUriArrayL(TInt aDrive, TInt aFromID, TInt aRecords,
   524                                CDesCArray& aUriArr, TInt& aLastID);
   523                                CDesCArray& aUriArr, TInt& aLastID);
   525 
   524 
   526         /**
   525         /**
   527          * Get the ID of Artist which belongs to the specified Album
   526          * Get the ID of Artist which belongs to the specified Album
   528 		 * @param aId, the ID of Album
   527          * @param aId, the ID of Album
   529          */
   528          */
   530         TUint32 CMPXDbMusic::ArtistForAlbumL(const TUint32 aId);
   529         TUint32 CMPXDbMusic::ArtistForAlbumL(const TUint32 aId);
   531         
       
   532         /**
       
   533         * Signals the start of a refresh operation
       
   534         */
       
   535         void RefreshStartL();
       
   536 
       
   537         /**
       
   538         * Signals the end of a refresh operation
       
   539         */
       
   540         void RefreshEndL();
       
   541 
       
   542         /*
       
   543         * Refresh music basic table
       
   544         */
       
   545         void RefreshBasicTableL();
       
   546 
   530 
   547         /*
   531         /*
   548         * Check the integrity of the music basic table
   532         * Check the integrity of the music basic table
   549         */
   533         */
   550         void CheckMusicBasicTableL();
   534         void CheckMusicBasicTableL();
   691         */
   675         */
   692         TBool UpdateCategoryFieldL(TMPXGeneralCategory aCategory, const CMPXMedia& aMedia,
   676         TBool UpdateCategoryFieldL(TMPXGeneralCategory aCategory, const CMPXMedia& aMedia,
   693             const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId,
   677             const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId,
   694             CMPXMessageArray* aItemChangedMessages, TUint32& aItemId);
   678             CMPXMessageArray* aItemChangedMessages, TUint32& aItemId);
   695 
   679 
   696 		TBool UpdateCategoryFieldL(TMPXGeneralCategory aCategory, const CMPXMedia& aMedia,
   680         TBool UpdateCategoryFieldL(TMPXGeneralCategory aCategory, const CMPXMedia& aMedia,
   697 			const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId,
   681           const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId,
   698 			CMPXMessageArray* aItemChangedMessages, TUint32& aItemId, TUint32 aArtistId);
   682           CMPXMessageArray* aItemChangedMessages, TUint32& aItemId, TUint32 aArtistId);
   699         /**
   683         /**
   700         * Checks if extra attributes are required. The "standard attribute set includes:
   684         * Checks if extra attributes are required. The "standard attribute set includes:
   701         * EMPXMediaGeneralId, EMPXMediaGeneralType, EMPXMediaGeneralCategory,
   685         * EMPXMediaGeneralId, EMPXMediaGeneralType, EMPXMediaGeneralCategory,
   702         * EMPXMediaGeneralTitle, EMPXMediaGeneralUri, and EMPXMediaGeneralFlags
   686         * EMPXMediaGeneralTitle, EMPXMediaGeneralUri, and EMPXMediaGeneralFlags
   703         * @param aAttrs attributes to be checked
   687         * @param aAttrs attributes to be checked
   709         * Test whether the given media contains any supported attribute
   693         * Test whether the given media contains any supported attribute
   710         * @param aMedia media to be tested
   694         * @param aMedia media to be tested
   711         * @return ETrue if the media contains one or more supported attribute;
   695         * @return ETrue if the media contains one or more supported attribute;
   712         *  otherwise EFalse.
   696         *  otherwise EFalse.
   713         */
   697         */
   714 		TBool IsSupported(const CMPXMedia& aMedia);
   698         TBool IsSupported(const CMPXMedia& aMedia);
   715 
   699 
   716     private:    // from MMPXTable
   700     private:    // from MMPXTable
   717 
   701 
   718         /**
   702         /**
   719         * @see MMPXTable
   703         * @see MMPXTable
   747 
   731 
   748         /**
   732         /**
   749         * Column indexes in the music table
   733         * Column indexes in the music table
   750         */
   734         */
   751         enum TMusicColumns
   735         enum TMusicColumns
   752         	{
   736             {
   753         	EMusicUniqueId = KMPXTableDefaultIndex,
   737             EMusicUniqueId = KMPXTableDefaultIndex,
   754             EMusicDbFlag,
   738             EMusicDbFlag,
   755             EMusicVolumeId,
   739             EMusicVolumeId,
   756             EMusicTitle,
   740             EMusicTitle,
   757             EMusicArtist,
   741             EMusicArtist,
   758             EMusicArt,
   742             EMusicArt,
   809     private:    // Data
   793     private:    // Data
   810 
   794 
   811         // file extensions to check DRM type, owned
   795         // file extensions to check DRM type, owned
   812         CDesCArrayFlat* iExtensionsDrm;
   796         CDesCArrayFlat* iExtensionsDrm;
   813         MMPXDbMusicObserver& iObserver;
   797         MMPXDbMusicObserver& iObserver;
   814         TBool iRefresh;
   798 #ifdef ABSTRACTAUDIOALBUM_INCLUDED 
       
   799         TBool iArtNeedUpdated;
       
   800 #endif // ABSTRACTAUDIOALBUM_INCLUDED
   815     };
   801     };
   816 
   802 
   817 #endif // MPXDBMUSIC_H
   803 #endif // MPXDBMUSIC_H
   818 
   804 
   819 // End of File
   805 // End of File