diff -r 4e84c994a771 -r 82baf59ce8dd inc/mpengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/mpengine.h Fri Apr 16 14:56:30 2010 +0300 @@ -0,0 +1,101 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Music Player engine. +* +*/ + +#ifndef MPENGINE_H +#define MPENGINE_H + +#include +#include "mpmpxcommondefs.h" + +class QStringList; +class QTranslator; +class HbNotificationDialog; +class MpMpxFrameworkWrapper; +class MpSongScanner; +class MpMediaKeyHandler; + +#if defined(BUILD_MPENGINE_LIB) +#define MPENGINE_EXPORT Q_DECL_EXPORT +#else +#define MPENGINE_EXPORT Q_DECL_IMPORT +#endif + + +class MPENGINE_EXPORT MpEngine : public QObject +{ + Q_OBJECT + +private: + + enum UsbBlockingState { + USB_NotConnected, // Not connected + USB_Connected, // Connected in MTP mode but not synchronizing + USB_Synchronizing // Connected in MassStorage mode or MTP mode and synchronizing + }; + +private: + explicit MpEngine(); + +public: + + virtual ~MpEngine(); + static MpEngine *instance(); + + void refreshLibrary(); + bool verifyUsbBlocking( bool showMessage = false ); + +signals: + + void libraryAboutToRefresh(); + void libraryRefreshed(); + void usbBlocked( bool blocked ); + void exitApplication(); + +public slots: + + void handleScanStarted(); + void handleScanEnded( int count, int error ); + void handleDiskEvent( MpxDiskEvents event ); + void handleUsbEvent( MpxUsbEvents event ); + +private: + + void handleUsbMassStorageStartEvent(); + void handleUsbMassStorageEndEvent(); + void handleUsbMtpStartEvent(); + void handleUsbMtpEndEvent(); + void handleUsbMtpNotActive(); + + void changeUsbBlockingState( UsbBlockingState state ); + +private: + + Q_DISABLE_COPY( MpEngine ) + + MpMpxFrameworkWrapper *mMpxWrapper; // Own + MpSongScanner *mSongScanner; // Own + MpMediaKeyHandler *mMediaKeyHandler; // Own + + HbNotificationDialog *mUsbBlockingNote; // Own + QTranslator *mMpTranslator; // Own + + UsbBlockingState mUsbBlockingState; + UsbBlockingState mPreviousUsbState; + +}; + +#endif // MPENGINE_H