diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcuiengine/inc/lcuiengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcuiengine/inc/lcuiengine.h Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,182 @@ +/* +* 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: +* +*/ +#ifndef LCUIENGINE_H +#define LCUIENGINE_H + +//USER + +//SYSTEM +#include +#include +#include + +class QTimer; +class HbProgressDialog; +class HbDialog; +class QRectF; +class LcUiEnginePrivate; +class HbView; + +const char lcEngSignalNameMuted[] = "muted"; +const char lcEngSignalNameUnmuted[] = "unmuted"; +const char lcEngSignalNameSpeakerEnabled[] = "speakerEnabled"; +const char lcEngSignalNameSpeakerDisabled[] = "speakerDisabled"; +const char lcEngSignalNameCameraChangedToMain[] = "cameraChangedToMain"; +const char lcEngSignalNameCameraChangedToSecondary[] = "cameraChangedToSecondary"; +const char lcEngSignalNameCameraEnabled[] = "cameraEnabled"; +const char lcEngSignalNameCameraDisabled[] = "cameraDisabled"; + + +/* + * Supported views + */ +enum LcViewLayoutHint { + Lc_NoViewLayout = -1, + Lc_IdleViewLayout, + Lc_SharedViewLayout, + Lc_ReceivedViewLayout, + Lc_ReceivedOnlyViewLayout, + Lc_TwowayViewLayout, + Lc_AllInOneViewLayout +}; + + +/* + * Struct of values for control + */ +class LcControlValues { +public: + int mMaxValue; + int mMinValue; + int mValue; +}; + +/* + * Live Comms UI Engine + */ +class LcUiEngine : public QObject +{ + Q_OBJECT + friend class UT_LcUiEngine; + +public: + //constructor + explicit LcUiEngine(const QString &engineName, + const QString &applicationDisplayName); + //destructor + ~LcUiEngine(); + +signals: + + //signaled when engine is stopped + void stopped(); + //signaled when layout is changed + void layoutChanged(); + //signaled when camera changes to main + void cameraChangedToMain(); + //signaled when camera changes to secondary + void cameraChangedToSecondary(); + //signaled when mic is muted + void muted(); + //signaled when mic is unmuted + void unmuted(); + //signaled when speaker is enabled + void speakerEnabled(); + //signaled when speaker is disabled + void speakerDisabled(); + //signaled when camera is disabled + void cameraDisabled(); + //signaled when camera is enabled + void cameraEnabled(); + //signaled when engine is blocked, + //no calls expected until signaled unblocked + void blocked(); + //signaled when engine is free + void unblocked(); + //signaled continuously while session is up and running + //carries current session duration + void sessionDurationChanged(const QString &duration); + void recipientChanged(const QString &recipient); + void phoneNumberChanged(const QString &number); + //signaled when player state changed + void localPlayerPlaying(); + void remotePlayerPlaying(); + void localPlayerPreparing(); + void remotePlayerPreparing(); + void localPlayerBuffering(); + void remotePlayerBuffering(); + void localPlayerPaused(); + void remotePlayerPaused(); + void localPlayerUnavailable(); + void remotePlayerUnavailable(); + void volumeChanged(int aVolumeLevel); + + +public slots: + + void zoom( int value ); + void stop(); + void minimize(); + void maximize(); + +public: // API + + void start(); + const QString& sessionTitle() const; + const QString& recipient() const; + const QString& phoneNumber() const; + LcViewLayoutHint viewLayout() const; + void setContentAreas(const QRectF& sharedContent, + const QRectF& receivedContent); + bool setOrientation(Qt::Orientation orientation); + void setUiComponents(HbProgressDialog* invitingNote, + HbProgressDialog* waitingNote, + HbDialog* acceptQuery, + HbDialog* recipientQuery, + HbDialog* shareOwnVideoQuery); + void toggleMute(); + bool isMuted() const; + void toggleSpeaker(); + bool isSpeakerOn() const; + int zoomValues(LcControlValues& values) const; + void toggleDisableCamera(); + void setMainCamera(const bool aMainCamera); + bool mainCamera() const; + void toggleCamera(); + bool fullScreenMode(); + void setFullScreenMode(bool aMode); + void updateSession(); + bool isLocalPlayerPlaying() const; + bool isRemotePlayerPlaying() const; + bool isMinimized()const; + bool isMaximized()const{return !isMinimized();}; + void shareImage(const QString&); + void shareCamera(); + void setCurrentView(HbView* view); + bool SendDialTone( const QChar aKey ); + +private: + + LcUiEnginePrivate* d; + +friend class LcUiEnginePrivate; // access to signals +}; + +#endif // LCUIENGINE_H + + +// End of file