diff -r 82baf59ce8dd -r ecf06a08d4d9 inc/mpengine.h --- a/inc/mpengine.h Fri Apr 16 14:56:30 2010 +0300 +++ b/inc/mpengine.h Mon May 03 12:29:20 2010 +0300 @@ -19,14 +19,22 @@ #define MPENGINE_H #include +#include "mpmpxcollectionviewdefs.h" #include "mpmpxcommondefs.h" +#include "mpcommondefs.h" + class QStringList; class QTranslator; -class HbNotificationDialog; -class MpMpxFrameworkWrapper; +class HbProgressDialog; +class MpMpxHarvesterFrameworkWrapper; class MpSongScanner; class MpMediaKeyHandler; +class MpMpxCollectionFrameworkWrapper; +class MpMpxPlaybackFrameworkWrapper; +class MpMpxCollectionData; +class MpPlaybackData; +class XQSharableFile; #if defined(BUILD_MPENGINE_LIB) #define MPENGINE_EXPORT Q_DECL_EXPORT @@ -55,25 +63,79 @@ virtual ~MpEngine(); static MpEngine *instance(); + void initialize(MpCommon::MpViewMode viewMode, TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ) ); + void close(); + + // Harvester related void refreshLibrary(); bool verifyUsbBlocking( bool showMessage = false ); + void checkForSystemEvents(); + + // Collection related + void openCollection( TCollectionContext context ); + void openCollectionItem( int index ); + void back(); + void findPlaylists( QStringList &playlists ); + void createPlaylist( QString &playlistName, QList &selection, MpMpxCollectionData* collectionData = 0 ); + void saveToPlaylist( int playlistIndex, QList &selection ); + void saveToCurrentPlaylist( QList &selection, MpMpxCollectionData *collectionData ); + void renamePlaylist( QString &newName, int index ); + void renamePlaylist( QString &newName ); + void deleteSongs( QList &selection ); + + + void previewItem( int index ); + void openIsolatedCollection( TCollectionContext context ); + void releaseIsolatedCollection(); + + MpMpxCollectionData *collectionData(); + + // Playback related + + MpPlaybackData *playbackData(); signals: - + + // Harvester related void libraryAboutToRefresh(); void libraryRefreshed(); void usbBlocked( bool blocked ); - void exitApplication(); + + // Collection related + void collectionPlaylistOpened(); + void playlistSaved( bool success ); + void songsDeleted( bool success ); + void playlistsRenamed( bool success ); + + void isolatedCollectionOpened( MpMpxCollectionData* collectionData ); public slots: + // Harvester related void handleScanStarted(); void handleScanEnded( int count, int error ); void handleDiskEvent( MpxDiskEvents event ); void handleUsbEvent( MpxUsbEvents event ); + void handleBlockingNoteClosing(); + + // Collection related + void reopenCollection(); + void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ); + // Playback related + void playEmbedded( QString aFilename ); + void playEmbedded( const XQSharableFile& file ); + void playPause(); + void stop(); + void skipForward(); + void skipBackward(); + void setPosition( int position ); + void setShuffle( bool mode ); + void setRepeat( bool mode ); + private: + // Harvester related void handleUsbMassStorageStartEvent(); void handleUsbMassStorageEndEvent(); void handleUsbMtpStartEvent(); @@ -81,20 +143,30 @@ void handleUsbMtpNotActive(); void changeUsbBlockingState( UsbBlockingState state ); + void launchBlockingNote(); private: Q_DISABLE_COPY( MpEngine ) - MpMpxFrameworkWrapper *mMpxWrapper; // Own - MpSongScanner *mSongScanner; // Own - MpMediaKeyHandler *mMediaKeyHandler; // Own + // Harvesting related + MpMpxHarvesterFrameworkWrapper *mMpxHarvesterWrapper; // Own + MpSongScanner *mSongScanner; // Own + MpMediaKeyHandler *mMediaKeyHandler; // Own + HbProgressDialog *mUsbBlockingNote; // Own + + // Collection related + MpMpxCollectionFrameworkWrapper *mMpxCollectionWrapper; //Own - HbNotificationDialog *mUsbBlockingNote; // Own - QTranslator *mMpTranslator; // Own - - UsbBlockingState mUsbBlockingState; - UsbBlockingState mPreviousUsbState; + // Playback related + MpMpxPlaybackFrameworkWrapper *mMpxPlaybackWrapper; //Own + + // General + QTranslator *mMpTranslator; // Own + UsbBlockingState mUsbBlockingState; + UsbBlockingState mPreviousUsbState; + MpCommon::MpViewMode mViewMode; + TUid mHostUid; };