vtuis/videotelui/src/commands/tvtuimediastate.cpp
changeset 0 ed9695c8bcbe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/videotelui/src/commands/tvtuimediastate.cpp	Mon Nov 23 14:47:47 2009 +0200
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2006 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:  Media state class.
+*
+*/
+
+
+#include <cvtlogger.h>
+#include <mvtengmedia.h>
+#include <mvtengcommandhandler.h>
+
+#include "tvtuimediastate.h"
+#include "VtUiUtility.h"
+
+// -----------------------------------------------------------------------------
+// TVtUiMediaState::UpdateFlags
+// -----------------------------------------------------------------------------
+//
+void TVtUiMediaState::UpdateFlags()
+    {
+    __VTPRINTENTER( "MediaState.UpdateFlags" )
+    TInt avail( 0 );
+
+    VtUiUtility::GetOutgoingMediaState( iMedia, avail );
+
+    if ( avail & MVtEngMedia::EMediaVideo )
+        {
+        SetFlag( EIsVideo );
+        }
+
+    if ( VtUiUtility::HasCameras( iMedia ) )
+        {
+        SetFlag( EHasCamera );
+        }
+
+    if ( VtUiUtility::IsFreezeSupported( iMedia ) )
+        {
+        SetFlag( EIsFreezeSupported );
+        }
+
+    if ( VtUiUtility::GetFreezeState( iMedia ) )
+        {
+        SetFlag( EIsFrozen );
+        }
+
+    MVtEngMedia::TShareObjectState shareObjectState;
+    VtUiUtility::GetObjectSharingState( iMedia, shareObjectState );
+
+    if ( shareObjectState == MVtEngMedia::ESharingImage )
+        {
+        SetFlag( EIsSharing );
+        }
+    else if ( ( shareObjectState == MVtEngMedia::EInitializingShareImage ) ||
+         ( shareObjectState == MVtEngMedia::EInitializingShareVideoClip ) )
+        {
+        SetFlag( EIsInitializingShare );
+        }
+    else if ( shareObjectState == MVtEngMedia::ENotAbleToShare )
+        {
+        SetFlag( EIsNotAbleToShare );
+        }
+    // Camera configuration
+
+    MVtEngMedia::TCameraId cameraId;
+    TInt err = iMedia.GetCurrentCameraId( cameraId );
+
+    // Don't care if camera is not ready, just what is selected camera
+    if ( err == KErrNone || err == KErrNotReady )
+        {
+        SetFlag( ( cameraId == MVtEngMedia::EPrimaryCamera ) ?
+            EIsPrimaryCameraInUse : EIsSecondaryCameraInUse );
+        }
+
+    TInt sourcesCaps( 0 );
+    iMedia.GetSourcesCaps( sourcesCaps );
+    if ( sourcesCaps & MVtEngMedia::ESourceCapsPrimaryCamera )
+        {
+        SetFlag( EHasPrimaryCamera );
+        }
+    if ( sourcesCaps & MVtEngMedia::ESourceCapsSecondaryCamera )
+        {
+        SetFlag( EHasSecondaryCamera );
+        }
+       
+    TInt status ( 0 ); 
+    iMedia.GetMediaState( MVtEngMedia::EMediaOutgoing, status );
+    if ( !( status & MVtEngMedia::EMediaVideoChannelOpen ) )
+        {        
+        SetFlag( EIsVideoPermanentlyStopped );
+        }      
+
+    __VTPRINTEXITR( "MediaState.UpdateFlags bits = %b", Value() )
+
+    // Video preferences
+/*
+    TInt caps( iCommandHandler.GetCommandCaps( KVtEngSetContrast ) );
+    if ( caps & MVtEngCommandHandler::EAttribEnabled )
+        {
+        SetFlag( EIsContrastSupported );
+        }
+
+    caps = iCommandHandler.GetCommandCaps( KVtEngSetBrightness );
+    if ( caps & MVtEngCommandHandler::EAttribEnabled )
+        {
+        SetFlag( EIsBrightnessSupported );
+        }
+
+    caps = iCommandHandler.GetCommandCaps( KVtEngSetWhiteBalance );
+    if ( caps & MVtEngCommandHandler::EAttribEnabled )
+        {
+        SetFlag( EIsWhiteBalanceSupported );
+        }
+
+    caps = iCommandHandler.GetCommandCaps( KVtEngSetColorTone );
+    if ( caps & MVtEngCommandHandler::EAttribEnabled )
+        {
+        SetFlag( EIsColorToneSupported );
+        }
+
+*/
+    }