--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/musenginestub/inc/musenglivesession.h Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,210 @@
+/*
+* Copyright (c) 2005 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 MUSHENGLIVESESSION_H
+#define MUSHENGLIVESESSION_H
+
+// USER
+#include "musengmceoutsession.h"
+#include "musunittesting.h"
+#include "mussettings.h"
+#include "musengcamerahandler.h"
+#include "lcvideoplayer.h"
+#include "lccameracontrol.h"
+#include "lcbrightnesscontrol.h"
+#include "lczoomcontrol.h"
+#include "lcfilecontrol.h"
+
+// SYSTEM
+#include <ecam.h>
+
+// FORWARD DECLARATIONS
+class MMusEngLiveSessionObserver;
+class MLcValueControl;
+
+
+class CMusEngLiveSession :
+ public CMusEngMceOutSession,
+ public MLcVideoPlayer,
+ public MLcCameraControl,
+ public MLcBrightnessControl,
+ public MLcZoomControl,
+ public MLcFileControl
+ {
+
+ public:
+ /**
+ * Creates new MultimediaSharing Live session.
+ *
+ * @param aFileName Media filename
+ * @param aRect UI drawing area. It is allowed handle from engine
+ * @param aSessionObserver Interface for session specific callbacks
+ * @param aOutSessionObserver Interface for outsession specific callbacks
+ * @param aLiveSessionObserver interface for live session specific
+ * callbacks
+ * @return CMusEngLiveSession* New instanse of specified class
+ */
+ static CMusEngLiveSession* NewL(
+ const TDesC& aFileName,
+ const TRect& aRect );
+
+ /**
+ * Creates new MultimediaSharing Live session.
+ *
+ * @param aRect UI drawing area. It is allowed handle from engine
+ * @param aSessionObserver Interface for session specific callbacks
+ * @param aOutSessionObserver Interface for outsession specific callbacks
+ * @param aLiveSessionObserver interface for live session specific
+ * callbacks
+ * @return CMusEngLiveSession* New instanse of specified class
+ */
+ static CMusEngLiveSession* NewL(
+ const TRect& aRect );
+
+
+ public:
+
+ /**
+ * Destructor
+ */
+ ~CMusEngLiveSession();
+
+
+ public: // from MLcSession
+
+ void EstablishLcSessionL();
+
+ MLcVideoPlayer* LocalVideoPlayer();
+
+ const TDesC& RemoteDisplayName();
+
+
+ public: // from MLcVideoPlayer
+
+ TLcVideoPlayerState LcVideoPlayerState() const;
+
+ TBool LcIsPlayingL();
+
+ void LcPlayL();
+
+ void LcPauseL();
+
+ MLcWindow* LcWindow();
+
+ MLcCameraControl* LcCameraControl();
+
+ MLcFileControl* LcSourceFile();
+
+ MLcFileControl* LcDestinationFile();
+
+ MLcAudioControl* LcAudioControl();
+
+ MLcZoomControl* LcZoomControl();
+
+ MLcBrightnessControl* LcBrightnessControl();
+
+ RPointerArray< MLcValueControl >& LcExtensionControls();
+
+ public: // from MLcCameraControl
+
+ TInt LcCameraCountL();
+
+ void ToggleLcCameraL();
+
+ public: // MLcBrightnessControl
+
+ TInt MinLcBrightnessL();
+
+ TInt MaxLcBrightnessL();
+
+ TInt LcBrightnessL();
+
+ void SetLcBrightnessL( TInt aValue );
+
+ void IncreaseLcBrightnessL();
+
+ void DecreaseLcBrightnessL();
+
+ public: // from MLcZoomControl
+
+ TInt MinLcZoomL();
+
+ TInt MaxLcZoomL();
+
+ TInt LcZoomValueL();
+
+ void SetLcZoomValueL( TInt aValue );
+
+ void LcZoomInL();
+
+ void LcZoomOutL();
+
+ public: // from MLcFileControl
+
+ void EnableLcFileL( TBool aEnable );
+
+ TBool IsLcFileEnabled();
+
+ void SetLcFileNameL( const TFileName& aFileName );
+
+ TFileName& LcFileName();
+
+ protected:
+
+ /**
+ * Constructor
+ */
+ CMusEngLiveSession( const TRect& aRect,
+ const TDesC& aRecordedFile = KNullDesC );
+
+ /**
+ * Second-phase constructor
+ */
+ void ConstructL();
+
+
+
+ protected:
+
+ /**
+ * File name for recording. If KNullDesC no recording performed.
+ */
+ TFileName iRecordedFile;
+
+ /**
+ * Dummy member variable to implement MLcVideoPlayer::LcExtensionControls
+ */
+ RPointerArray< MLcValueControl > iValueControls;
+
+ TMusEngCameraHandler iCameraHandler;
+
+ /*
+ * Remote Display Name
+ */
+ HBufC* iRemoteDisplayName;
+
+ TInt iCurrentZoom;
+ TInt iDefaultZoomFactor;
+ TInt iCurrentBrighness;
+ TInt iPlaying;
+ TBool iFileEnabled;
+
+ };
+
+#endif
+