inc/mpengine.h
changeset 22 ecf06a08d4d9
parent 20 82baf59ce8dd
child 25 3ec52facab4d
equal deleted inserted replaced
20:82baf59ce8dd 22:ecf06a08d4d9
    17 
    17 
    18 #ifndef MPENGINE_H
    18 #ifndef MPENGINE_H
    19 #define MPENGINE_H
    19 #define MPENGINE_H
    20 
    20 
    21 #include <QObject>
    21 #include <QObject>
       
    22 #include "mpmpxcollectionviewdefs.h"
    22 #include "mpmpxcommondefs.h"
    23 #include "mpmpxcommondefs.h"
       
    24 #include "mpcommondefs.h"
       
    25 
    23 
    26 
    24 class QStringList;
    27 class QStringList;
    25 class QTranslator;
    28 class QTranslator;
    26 class HbNotificationDialog;
    29 class HbProgressDialog;
    27 class MpMpxFrameworkWrapper;
    30 class MpMpxHarvesterFrameworkWrapper;
    28 class MpSongScanner;
    31 class MpSongScanner;
    29 class MpMediaKeyHandler;
    32 class MpMediaKeyHandler;
       
    33 class MpMpxCollectionFrameworkWrapper;
       
    34 class MpMpxPlaybackFrameworkWrapper;
       
    35 class MpMpxCollectionData;
       
    36 class MpPlaybackData;
       
    37 class XQSharableFile;
    30 
    38 
    31 #if defined(BUILD_MPENGINE_LIB)
    39 #if defined(BUILD_MPENGINE_LIB)
    32 #define MPENGINE_EXPORT Q_DECL_EXPORT
    40 #define MPENGINE_EXPORT Q_DECL_EXPORT
    33 #else
    41 #else
    34 #define MPENGINE_EXPORT Q_DECL_IMPORT
    42 #define MPENGINE_EXPORT Q_DECL_IMPORT
    53 public:
    61 public:
    54 
    62 
    55     virtual ~MpEngine();
    63     virtual ~MpEngine();
    56     static MpEngine *instance();
    64     static MpEngine *instance();
    57 
    65 
       
    66     void initialize(MpCommon::MpViewMode viewMode, TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ) );
       
    67     void close();
       
    68 	
       
    69     // Harvester related
    58     void refreshLibrary();
    70     void refreshLibrary();
    59     bool verifyUsbBlocking( bool showMessage = false );
    71     bool verifyUsbBlocking( bool showMessage = false );
       
    72     void checkForSystemEvents();
       
    73     
       
    74     // Collection related
       
    75     void openCollection( TCollectionContext context );
       
    76     void openCollectionItem( int index );
       
    77     void back();
       
    78     void findPlaylists( QStringList &playlists );
       
    79     void createPlaylist( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData = 0  );
       
    80     void saveToPlaylist( int playlistIndex, QList<int> &selection );
       
    81     void saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData );    
       
    82     void renamePlaylist( QString &newName, int index );
       
    83     void renamePlaylist( QString &newName );
       
    84     void deleteSongs( QList<int> &selection );
       
    85 
       
    86     
       
    87     void previewItem( int index );
       
    88     void openIsolatedCollection( TCollectionContext context );
       
    89     void releaseIsolatedCollection();
       
    90     
       
    91     MpMpxCollectionData *collectionData();
       
    92     
       
    93     // Playback related
       
    94     
       
    95     MpPlaybackData *playbackData();
    60 
    96 
    61 signals:
    97 signals:
    62 
    98     
       
    99     // Harvester related
    63     void libraryAboutToRefresh();
   100     void libraryAboutToRefresh();
    64     void libraryRefreshed();
   101     void libraryRefreshed();
    65     void usbBlocked( bool blocked );
   102     void usbBlocked( bool blocked );
    66     void exitApplication();
   103     
       
   104     // Collection related
       
   105     void collectionPlaylistOpened();
       
   106     void playlistSaved( bool success );
       
   107     void songsDeleted( bool success );
       
   108     void playlistsRenamed( bool success );
       
   109     
       
   110     void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
    67 
   111 
    68 public slots:
   112 public slots:
    69 
   113 
       
   114     // Harvester related
    70     void handleScanStarted();
   115     void handleScanStarted();
    71     void handleScanEnded( int count, int error );
   116     void handleScanEnded( int count, int error );
    72     void handleDiskEvent( MpxDiskEvents event );
   117     void handleDiskEvent( MpxDiskEvents event );
    73     void handleUsbEvent( MpxUsbEvents event );
   118     void handleUsbEvent( MpxUsbEvents event );
       
   119     void handleBlockingNoteClosing();
       
   120     
       
   121     // Collection related
       
   122     void reopenCollection();
       
   123     void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
    74 
   124 
       
   125 	// Playback related
       
   126 	void playEmbedded( QString aFilename );
       
   127 	void playEmbedded( const XQSharableFile&  file );
       
   128     void playPause();
       
   129     void stop();
       
   130     void skipForward();
       
   131     void skipBackward();
       
   132     void setPosition( int position );
       
   133     void setShuffle( bool mode );
       
   134     void setRepeat( bool mode );
       
   135 	
    75 private:
   136 private:
    76 
   137 
       
   138     // Harvester related
    77     void handleUsbMassStorageStartEvent();
   139     void handleUsbMassStorageStartEvent();
    78     void handleUsbMassStorageEndEvent();
   140     void handleUsbMassStorageEndEvent();
    79     void handleUsbMtpStartEvent();
   141     void handleUsbMtpStartEvent();
    80     void handleUsbMtpEndEvent();
   142     void handleUsbMtpEndEvent();
    81     void handleUsbMtpNotActive();
   143     void handleUsbMtpNotActive();
    82 
   144 
    83     void changeUsbBlockingState( UsbBlockingState state );
   145     void changeUsbBlockingState( UsbBlockingState state );
       
   146     void launchBlockingNote();
    84 
   147 
    85 private:
   148 private:
    86 
   149 
    87     Q_DISABLE_COPY( MpEngine )
   150     Q_DISABLE_COPY( MpEngine )
    88 
   151 
    89     MpMpxFrameworkWrapper       *mMpxWrapper;       // Own
   152     // Harvesting related
    90     MpSongScanner               *mSongScanner;      // Own
   153     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
    91     MpMediaKeyHandler           *mMediaKeyHandler;  // Own
   154     MpSongScanner                        *mSongScanner;          // Own
       
   155     MpMediaKeyHandler                    *mMediaKeyHandler;      // Own
       
   156     HbProgressDialog                     *mUsbBlockingNote;      // Own
       
   157     
       
   158     // Collection related
       
   159     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
    92 
   160 
    93     HbNotificationDialog        *mUsbBlockingNote;  // Own
   161     // Playback related
    94     QTranslator                 *mMpTranslator;     // Own
   162     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
    95 
   163         
    96     UsbBlockingState            mUsbBlockingState;
   164     // General
    97     UsbBlockingState            mPreviousUsbState;
   165     QTranslator                          *mMpTranslator;         // Own
       
   166     UsbBlockingState                     mUsbBlockingState;
       
   167     UsbBlockingState                     mPreviousUsbState;    
       
   168     MpCommon::MpViewMode                 mViewMode;
       
   169     TUid                                 mHostUid;
    98 
   170 
    99 };
   171 };
   100 
   172 
   101 #endif // MPENGINE_H
   173 #endif // MPENGINE_H