inc/mpengine.h
changeset 58 ed94e1e8390e
parent 54 c5b304f4d89b
child 61 3cd404d31176
equal deleted inserted replaced
54:c5b304f4d89b 58:ed94e1e8390e
    34 class MpSongData;
    34 class MpSongData;
    35 class XQSharableFile;
    35 class XQSharableFile;
    36 class MpEngineFactory;
    36 class MpEngineFactory;
    37 class MpAudioEffectsFrameworkWrapper;
    37 class MpAudioEffectsFrameworkWrapper;
    38 class MpEqualizerFrameworkWrapper;
    38 class MpEqualizerFrameworkWrapper;
       
    39 class MpApplicationMonitor;
    39 
    40 
    40 #if defined(BUILD_MPENGINE_LIB)
    41 #if defined(BUILD_MPENGINE_LIB)
    41 #define MPENGINE_EXPORT Q_DECL_EXPORT
    42 #define MPENGINE_EXPORT Q_DECL_EXPORT
    42 #else
    43 #else
    43 #define MPENGINE_EXPORT Q_DECL_IMPORT
    44 #define MPENGINE_EXPORT Q_DECL_IMPORT
    54 public:
    55 public:
    55     enum EngineMode{
    56     enum EngineMode{
    56         StandAlone,
    57         StandAlone,
    57         Fetch,
    58         Fetch,
    58         Embedded,
    59         Embedded,
    59         MediaBrowsing
    60         MediaBrowsing,
       
    61         HomeScreen
    60     };
    62     };
    61 
    63 
    62 private:
    64 private:
    63     enum UsbBlockingState {
    65     enum UsbBlockingState {
    64         USB_NotConnected,          // Not connected
    66         USB_NotConnected,          // Not connected
   126 
   128 
   127 signals:
   129 signals:
   128 
   130 
   129     // Harvester related
   131     // Harvester related
   130     void libraryAboutToUpdate();
   132     void libraryAboutToUpdate();
       
   133     void libraryUpdateStarted();
   131     void libraryUpdated();
   134     void libraryUpdated();
   132     void usbBlocked( bool blocked );
   135     void usbBlocked( bool blocked );
   133     void unableToCotinueDueUSB();
   136     void unableToCotinueDueUSB();
   134     void usbSynchronizationStarted();
   137     void usbSynchronizationStarted();
   135     void usbSynchronizationFinished();
   138     void usbSynchronizationFinished();
   189     void decreaseVolume();
   192     void decreaseVolume();
   190     void setVolume( int value );
   193     void setVolume( int value );
   191     void getMuteState();
   194     void getMuteState();
   192     void mute();
   195     void mute();
   193     void unmute();
   196     void unmute();
       
   197     void handleCorruptedStop( bool lastSong );
   194 
   198 
   195     // Audio Effects related
   199     // Audio Effects related
   196     void setBalance( int balance );
   200     void setBalance( int balance );
   197     void setLoudness( bool mode );
   201     void setLoudness( bool mode );
   198 
   202 
   199     // Equalizer related
   203     // Equalizer related
   200     void handleEqualizerReady();
   204     void handleEqualizerReady();
   201 
   205 
   202 private:
   206 private:
   203     
   207 
   204     void initialize( TUid hostUid, EngineMode mode);
   208     void initialize( quint32 clientSecureId, EngineMode mode);
   205 
   209 
   206     // Harvester related
   210     // Harvester related
   207     void handleUsbMassStorageStartEvent();
   211     void handleUsbMassStorageStartEvent();
   208     void handleUsbMassStorageEndEvent();
   212     void handleUsbMassStorageEndEvent();
   209     void handleUsbMtpStartEvent();
   213     void handleUsbMtpStartEvent();
   210     void handleUsbMtpEndEvent();
   214     void handleUsbMtpEndEvent();
   211     void handleUsbMtpNotActive();
   215     void handleUsbMtpNotActive();
   212     void changeUsbBlockingState( UsbBlockingState state );
   216     void changeUsbBlockingState( UsbBlockingState state );
       
   217     void autoRefreshLibrary( bool automaticRequest=false );
   213 
   218 
   214 private:
   219 private:
   215 
   220 
   216     Q_DISABLE_COPY( MpEngine )
   221     Q_DISABLE_COPY( MpEngine )
   217 
   222 
       
   223     EngineMode                          mEngineMode;
       
   224 
   218     // Harvesting related
   225     // Harvesting related
   219     MpMpxHarvesterFrameworkWrapper       *mMpxHarvesterWrapper;  // Own
   226     MpMpxHarvesterFrameworkWrapper      *mMpxHarvesterWrapper;  // Own
   220     MpSongScanner                        *mSongScanner;          // Own
   227     MpSongScanner                       *mSongScanner;          // Own
   221 
   228 
   222     // Collection related
   229     // Collection related
   223     MpMpxCollectionFrameworkWrapper      *mMpxCollectionWrapper; //Own
   230     MpMpxCollectionFrameworkWrapper     *mMpxCollectionWrapper; // Own
   224 
   231 
   225     // Playback related
   232     // Playback related
   226     MpMpxPlaybackFrameworkWrapper        *mMpxPlaybackWrapper; //Own
   233     MpMpxPlaybackFrameworkWrapper       *mMpxPlaybackWrapper;   // Own
   227 
   234 
   228     // Audio Effects related
   235     // Audio Effects related
   229     MpAudioEffectsFrameworkWrapper       *mAudioEffectsWrapper; // Own
   236     MpAudioEffectsFrameworkWrapper      *mAudioEffectsWrapper;  // Own
   230 
   237 
   231     // Equalizer related
   238     // Equalizer related
   232     MpEqualizerFrameworkWrapper          *mEqualizerWrapper; // Own
   239     MpEqualizerFrameworkWrapper         *mEqualizerWrapper;     // Own
   233     int                                  mCurrentPresetIndex;
   240     int                                 mCurrentPresetIndex;
   234 
   241 
   235     MpSongData                           *mSongData;            // Owned
   242     MpSongData                          *mSongData;             // Own
   236 
   243     MpApplicationMonitor                *mApplicationMonitor;   // Own
   237     // General
   244 
   238     UsbBlockingState                     mUsbBlockingState;
   245     UsbBlockingState                    mUsbBlockingState;
   239     UsbBlockingState                     mPreviousUsbState;
   246     UsbBlockingState                    mPreviousUsbState;
   240     bool                                 mHandleMediaCommands;
   247     bool                                mHandleMediaCommands;
   241     TUid                                 mHostUid;
   248 
   242 };
   249 };
   243 
   250 
   244 #endif // MPENGINE_H
   251 #endif // MPENGINE_H