inc/mpengine.h
changeset 37 eb79a7c355bf
parent 36 a0afa279b8fe
child 38 b93f525c9244
equal deleted inserted replaced
36:a0afa279b8fe 37:eb79a7c355bf
    23 #include "mpmpxcommondefs.h"
    23 #include "mpmpxcommondefs.h"
    24 #include "mpcommondefs.h"
    24 #include "mpcommondefs.h"
    25 
    25 
    26 
    26 
    27 class QStringList;
    27 class QStringList;
    28 class QTranslator;
       
    29 class HbPopup;
       
    30 class MpMpxHarvesterFrameworkWrapper;
    28 class MpMpxHarvesterFrameworkWrapper;
       
    29 class MpSongScanner;
    31 class MpMediaKeyHandler;
    30 class MpMediaKeyHandler;
    32 class MpMpxCollectionFrameworkWrapper;
    31 class MpMpxCollectionFrameworkWrapper;
    33 class MpMpxPlaybackFrameworkWrapper;
    32 class MpMpxPlaybackFrameworkWrapper;
    34 class MpMpxDetailsFrameworkWrapper;
    33 class MpMpxDetailsFrameworkWrapper;
    35 class MpMpxCollectionData;
    34 class MpMpxCollectionData;
    37 class MpSongData;
    36 class MpSongData;
    38 class XQSharableFile;
    37 class XQSharableFile;
    39 class MpEngineFactory;
    38 class MpEngineFactory;
    40 class MpAudioEffectsFrameworkWrapper;
    39 class MpAudioEffectsFrameworkWrapper;
    41 class MpEqualizerFrameworkWrapper;
    40 class MpEqualizerFrameworkWrapper;
    42 class MpProgressDialogHandler;
       
    43 
    41 
    44 #if defined(BUILD_MPENGINE_LIB)
    42 #if defined(BUILD_MPENGINE_LIB)
    45 #define MPENGINE_EXPORT Q_DECL_EXPORT
    43 #define MPENGINE_EXPORT Q_DECL_EXPORT
    46 #else
    44 #else
    47 #define MPENGINE_EXPORT Q_DECL_IMPORT
    45 #define MPENGINE_EXPORT Q_DECL_IMPORT
    60         StandAlone,
    58         StandAlone,
    61         Fetch,
    59         Fetch,
    62         Embedded,
    60         Embedded,
    63         MediaBrowsing
    61         MediaBrowsing
    64     };
    62     };
    65     
    63 
    66 private:
    64 private:
    67 
       
    68     enum UsbBlockingState {
    65     enum UsbBlockingState {
    69         USB_NotConnected,          // Not connected
    66         USB_NotConnected,          // Not connected
    70         USB_Connected,             // Connected in MTP mode but not synchronizing
    67         USB_Connected,             // Connected in MTP mode but not synchronizing
    71         USB_Synchronizing          // Connected in MassStorage mode or MTP mode and synchronizing
    68         USB_Synchronizing          // Connected in MassStorage mode or MTP mode and synchronizing
    72     };
    69     };
    77 public:
    74 public:
    78 
    75 
    79     virtual ~MpEngine();
    76     virtual ~MpEngine();
    80 
    77 
    81     // Harvester related
    78     // Harvester related
    82     bool verifyUsbBlocking( bool showMessage = false );
    79     bool verifyUsbBlocking( bool notify = false );
    83     void checkForSystemEvents();
    80     void checkForSystemEvents();
    84     
    81     MpSongScanner *songScanner();
       
    82 
    85     // Collection related
    83     // Collection related
    86     void openCollection( TCollectionContext context );
    84     void openCollection( TCollectionContext context );
    87     void openCollectionItem( int index );
    85     void openCollectionItem( int index );
    88     void back();
    86     void back();
    89     void findPlaylists( QStringList &playlists );
    87     void findPlaylists( QStringList &playlists );
   100 
    98 
   101     void findAlbumSongs( int index );
    99     void findAlbumSongs( int index );
   102     void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData = 0 );
   100     void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData = 0 );
   103 
   101 
   104     MpMpxCollectionData *collectionData();
   102     MpMpxCollectionData *collectionData();
   105     
   103 
   106     // Playback related
   104     // Playback related
   107     
   105 
   108     MpPlaybackData *playbackData();
   106     MpPlaybackData *playbackData();
   109     
   107 
   110     void shuffleAll();
   108     void shuffleAll();
   111 
   109 
   112     
   110 
   113     // Details related
   111     // Details related
   114     MpSongData *songData();
   112     MpSongData *songData();
   115     void retrieveSong();
   113     void retrieveSong();
   116     
   114 
   117     // Audio Effects related
   115     // Audio Effects related
   118     int balance();
   116     int balance();
   119     bool loudness();
   117     bool loudness();
   120     
   118 
   121     // Equalizer related
   119     // Equalizer related
   122     void applyPreset( int presetIndex );
   120     void applyPreset( int presetIndex );
   123     void disableEqualizer();
   121     void disableEqualizer();
   124     int activePreset();
   122     int activePreset();
   125     QStringList presetNames();
   123     QStringList presetNames();
   126 
   124 
   127 signals:
   125 signals:
   128     
   126 
   129     // Harvester related
   127     // Harvester related
   130     void libraryAboutToUpdate();
   128     void libraryAboutToUpdate();
   131     void libraryUpdated();
   129     void libraryUpdated();
   132     void usbBlocked( bool blocked );
   130     void usbBlocked( bool blocked );
   133     
   131     void unableToCotinueDueUSB();
       
   132     void usbSynchronizationStarted();
       
   133     void usbSynchronizationFinished();
       
   134     void libraryRefreshNeeded();
       
   135 
   134     // Collection related
   136     // Collection related
   135     void collectionPlaylistOpened();
   137     void collectionPlaylistOpened();
       
   138     void aboutToAddSongs( int count );
   136     void playlistSaved( bool success );
   139     void playlistSaved( bool success );
       
   140     void deleteStarted(TCollectionContext context, int Count);
   137     void songsDeleted( bool success );
   141     void songsDeleted( bool success );
   138     void playlistsRenamed( bool success );
   142     void playlistsRenamed( bool success );
   139     
       
   140     void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
   143     void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
   141     
       
   142     void containerContentsChanged();
   144     void containerContentsChanged();
   143     
   145 
   144     // Equalizer related
   146     // Equalizer related
   145     void equalizerReady();
   147     void equalizerReady();
   146 
   148 
   147 public slots:
   149 public slots:
   148 
   150 
   149     // Harvester related
   151     // Harvester related
   150     void refreshLibrary();
   152     void refreshLibrary( bool automaticRequest = false );
   151     void handleScanStarted();
   153     void handleScanStarted();
   152     void handleScanEnded( int count, int error );
   154     void handleScanEnded( int count, int error );
   153     void handleDiskEvent( MpxDiskEvents event );
   155     void handleDiskEvent( MpxDiskEvents event );
   154     void handleUsbEvent( MpxUsbEvents event );
   156     void handleUsbEvent( MpxUsbEvents event );
   155     void handleOutstandingNoteClosing();
   157 
   156     
       
   157     // Collection related
   158     // Collection related
   158     void reopenCollection();
   159     void reopenCollection();
   159     void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
   160     void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
   160     void handleDeleteStarted();
   161     void handleDeleteStarted( TCollectionContext context, int count );
   161     void handleDeleteEnded();
   162     void handleDeleteEnded( bool success );
       
   163     void cancelCollectionRequest();
   162 
   164 
   163     // Playback related
   165     // Playback related
   164     void playEmbedded( QString aFilename );
   166     void playEmbedded( QString aFilename );
   165     void playEmbedded( const XQSharableFile&  file );
   167     void playEmbedded( const XQSharableFile&  file );
   166     void playPause();
   168     void playPause();
   171     void skipBackward();
   173     void skipBackward();
   172     void startSeekBackward();
   174     void startSeekBackward();
   173     void setPosition( int position );
   175     void setPosition( int position );
   174     void setShuffle( bool mode );
   176     void setShuffle( bool mode );
   175     void setRepeat( bool mode );
   177     void setRepeat( bool mode );
   176     
   178 
   177     // Audio Effects related
   179     // Audio Effects related
   178     void setBalance( int balance );
   180     void setBalance( int balance );
   179     void setLoudness( bool mode );
   181     void setLoudness( bool mode );
   180     
   182 
   181     // Equalizer related
   183     // Equalizer related
   182     void handleEqualizerReady();
   184     void handleEqualizerReady();
   183 	
   185 
   184 private:
   186 private:
   185     
   187     
   186     void initialize( TUid hostUid, EngineMode mode);
   188     void initialize( TUid hostUid, EngineMode mode);
   187 
   189 
   188     // Harvester related
   190     // Harvester related
   189     void handleUsbMassStorageStartEvent();
   191     void handleUsbMassStorageStartEvent();
   190     void handleUsbMassStorageEndEvent();
   192     void handleUsbMassStorageEndEvent();
   191     void handleUsbMtpStartEvent();
   193     void handleUsbMtpStartEvent();
   192     void handleUsbMtpEndEvent();
   194     void handleUsbMtpEndEvent();
   193     void handleUsbMtpNotActive();
   195     void handleUsbMtpNotActive();
   194 
       
   195     void changeUsbBlockingState( UsbBlockingState state );
   196     void changeUsbBlockingState( UsbBlockingState state );
   196     void launchBlockingNote();
   197 
   197     void setOutstandingPopup( HbPopup *popup );
       
   198 	
       
   199 private:
   198 private:
   200 
   199 
   201     Q_DISABLE_COPY( MpEngine )
   200     Q_DISABLE_COPY( MpEngine )
   202 
   201 
   203     // Harvesting related
   202     // Harvesting related
   204     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
   203     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
       
   204     MpSongScanner                        *mSongScanner;          // Own
   205     MpMediaKeyHandler                    *mMediaKeyHandler;      // Own
   205     MpMediaKeyHandler                    *mMediaKeyHandler;      // Own
   206     HbPopup                              *mUsbOutstandingNote;   // Own
   206 
   207     
       
   208     // Collection related
   207     // Collection related
   209     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
   208     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
   210 
   209 
   211     // Playback related
   210     // Playback related
   212     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
   211     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
   213     
   212 
   214     // Details related
   213     // Details related
   215     MpMpxDetailsFrameworkWrapper         *mMpxDetailsWrapper;  // Own
   214     MpMpxDetailsFrameworkWrapper         *mMpxDetailsWrapper;  // Own
   216     
   215 
   217     // Audio Effects related
   216     // Audio Effects related
   218     MpAudioEffectsFrameworkWrapper       *mAudioEffectsWrapper; // Own
   217     MpAudioEffectsFrameworkWrapper       *mAudioEffectsWrapper; // Own
   219     
   218 
   220     // Equalizer related
   219     // Equalizer related
   221     MpEqualizerFrameworkWrapper          *mEqualizerWrapper; // Own
   220     MpEqualizerFrameworkWrapper          *mEqualizerWrapper; // Own
   222     int                                  mCurrentPresetIndex;
   221     int                                  mCurrentPresetIndex;
   223         
   222 
   224     // General
   223     // General
   225     QTranslator                          *mMpTranslator;         // Own
       
   226     UsbBlockingState                     mUsbBlockingState;
   224     UsbBlockingState                     mUsbBlockingState;
   227     UsbBlockingState                     mPreviousUsbState;    
   225     UsbBlockingState                     mPreviousUsbState;    
   228     TUid                                 mHostUid;
   226     TUid                                 mHostUid;
   229     MpProgressDialogHandler              *mProgressDialogHandler;  // Own
       
   230     
       
   231 };
   227 };
   232 
   228 
   233 #endif // MPENGINE_H
   229 #endif // MPENGINE_H