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 |