mmsharing/livecommsui/lcuiengine/tsrc/win32/lcuiengine_p.h
branchRCL_3
changeset 22 73a1feb507fb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/livecommsui/lcuiengine/tsrc/win32/lcuiengine_p.h	Tue Aug 31 15:12:07 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* 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 LCUIENGINEPRIVATE_H
+#define LCUIENGINEPRIVATE_H
+
+//SYSTEM
+#include <QObject>
+#include <QString>
+#include <QTime>
+#include <QProcess>
+#include <lcuiengine.h>
+
+class QTimer;
+class QRectF;
+class HbDialog;
+class LcUiEngine;
+class LcUiEngineSimulator;
+
+enum simulationState {
+    ENone,
+    EPreparing,
+    EBuffering,
+    EPlaying,
+    EPaused,
+    EStopped,
+    EUnavailable
+};
+
+/*
+ * Live Comms UI Engine 
+ */
+class LcUiEnginePrivate
+                  
+{
+
+public:
+    
+    LcUiEnginePrivate ( LcUiEngine& uiEngine,
+                        const QString &engineName,
+                        const QString &applicationDisplayName );
+    ~LcUiEnginePrivate ();
+    
+public :
+
+    void zoom( int value );
+    void stop();
+
+private:
+
+    //signaled when engine is stopped
+    void stopped(){ emit mUiEngine.stopped();};
+    //signaled when layout is changed
+    void layoutChanged(){ emit mUiEngine.layoutChanged();};
+    //signaled when camera changes to main
+    void cameraChangedToMain();
+    //signaled when camera changes to secondary
+    void cameraChangedToSecondary();
+    //signaled when mic is muted
+    void muted(){ mMuteState = true; emit mUiEngine.muted();};
+    //signaled when mic is unmuted
+    void unmuted(){ mMuteState = false; emit mUiEngine.unmuted();};
+    //signaled when speaker is enabled
+    void speakerEnabled(){ mSpeakerState = true; emit mUiEngine.speakerEnabled();};
+    //signaled when speaker is disabled
+    void speakerDisabled(){ mSpeakerState = false; emit mUiEngine.speakerDisabled();};
+    //signaled when camera is disabled
+    void cameraDisabled(){ mPlayerStateLocal = EPaused; emit mUiEngine.cameraDisabled();};
+    //signaled when camera is enabled
+    void cameraEnabled(){  mPlayerStateLocal = EPlaying; emit mUiEngine.cameraEnabled();};
+    //signaled when engine is blocked,
+    //no calls expected until signaled unblocked
+    void blocked(){ emit mUiEngine.blocked();};
+    //signaled when engine is free
+    void unblocked(){ emit mUiEngine.unblocked();};
+    //signaled continuously while session is up and running
+    //carries current session duration
+    void sessionDurationChanged(const QString &duration){ emit mUiEngine.sessionDurationChanged(duration);};
+    void recipientChanged(const QString &recipient){ emit mUiEngine.recipientChanged(recipient);};
+    void phoneNumberChanged(const QString &number){ emit mUiEngine.phoneNumberChanged(number);};
+    //signaled when player state changed
+    void localPlayerPlaying();
+    void remotePlayerPlaying();
+    void localPlayerPreparing(){ mPlayerStateLocal=EPreparing;emit mUiEngine.localPlayerPreparing();};
+    void remotePlayerPreparing(){ mSimulatorRemote=EPreparing;emit mUiEngine.remotePlayerPreparing();};
+    void localPlayerBuffering(){ mPlayerStateLocal=EBuffering;emit mUiEngine.localPlayerBuffering();};
+    void remotePlayerBuffering(){ mSimulatorRemote=EBuffering;emit mUiEngine.remotePlayerBuffering();};
+    void localPlayerPaused();
+    void remotePlayerPaused();
+    void localPlayerUnavailable(){ mPlayerStateLocal=EUnavailable;emit mUiEngine.localPlayerUnavailable();};
+    void remotePlayerUnavailable(){ mSimulatorRemote=EUnavailable;emit mUiEngine.remotePlayerUnavailable();};
+
+public:
+    
+    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(HbDialog* invitingNote,
+                         HbDialog* waitingNote,
+                         HbDialog* acceptQuery,
+                         HbDialog* recipientQuery);
+    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;
+    void minimize();
+    void maximize();
+    void shareImage(const QString&);
+    void shareCamera();
+
+public: // Data
+    
+    QByteArray mEngineName;
+    QString mSessionTitle;
+    QString mRecipient;
+    QString mPhoneNumber;
+    LcViewLayoutHint mViewLayout;
+    QTimer* mCloseTimer;
+    HbDialog* mInvitingNote; // Not owned
+    HbDialog* mWaitingNote; // Not owned
+    HbDialog* mAcceptQuery; // Not owned
+    HbDialog* mRecipientQuery; // Not owned
+    QString mPendingAction;
+    bool mBlocked;
+    bool mFullScreen;
+    int mSessionDurationTimerId;
+    QTime mSessionDurationStartTime;    
+    LcUiEngine& mUiEngine;
+
+public:
+    simulationState mPlayerStateLocal;
+    simulationState mSimulatorRemote;
+    bool mSpeakerState;
+    bool mMuteState;
+    bool mMainCamera;    
+    QProcess *mLocalPlayerProcess;
+    QProcess *mRemotePlayerProcess;
+    QString mProgram;
+    QString mProgramImage;
+    QString mLocalMovieName;
+
+private:
+    LcUiEngineSimulator* mSimulator;
+
+friend class LcUiEngineSimulator;
+};
+
+#endif // LCUIENGINEPRIVATE_H
+
+
+// End of file