srsf/vcommandmanager/src/vcmanagervoiceheadsetlauncher.cpp
branchRCL_3
changeset 18 cad71a31b7fc
parent 17 8ce15fced3a6
child 19 e36f3802f733
--- a/srsf/vcommandmanager/src/vcmanagervoiceheadsetlauncher.cpp	Thu Aug 19 09:56:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-* Copyright (c) 2005-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:  Observer voice headset key presses
-*
-*/
-
-
-#include "vcmanagervoiceheadsetlauncher.h"
-#include "rubydebug.h"
-#include <apgcli.h>
-#include <apgtask.h>
-#include <apacmdln.h>
-#include <remconinterfaceselector.h>
-#include <RemConCallHandlingTarget.h>
-#include <voiceuidomainpskeys.h>
-#include <vuivoicerecogdefs.h>
-#include <ctsydomainpskeys.h>
-#include <coreapplicationuisdomainpskeys.h>
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::CVCommandManagerVoiceHeadSetLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVCommandManagerVoiceHeadSetLauncher::CVCommandManagerVoiceHeadSetLauncher() 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::ConstructL()
-    {
-    RUBY_DEBUG_BLOCK( "CVCommandManagerVoiceHeadSetLauncher::ConstructL" );
-    iSelector = CRemConInterfaceSelector::NewL();
-    iCallHandlingTarget = CRemConCallHandlingTarget::NewL( *iSelector, *this );
-    // Connect to Remote Control server as target. After succesfull call
-    // client is ready to receive commands. Call this method only once in a
-    // process.
-    iSelector->OpenTargetL();
-    }
-
-// -----------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVCommandManagerVoiceHeadSetLauncher* CVCommandManagerVoiceHeadSetLauncher::NewL()
-    {
-    CVCommandManagerVoiceHeadSetLauncher* self = new( ELeave ) CVCommandManagerVoiceHeadSetLauncher;    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-    
-// Destructor
-CVCommandManagerVoiceHeadSetLauncher::~CVCommandManagerVoiceHeadSetLauncher()
-    {
-    RUBY_DEBUG0( "CVCommandManagerVoiceHeadSetLauncher::~CVCommandManagerVoiceHeadSetLauncher - START" );
-    
-    // iCallHandlingTarget will be destroyed when iSelector is destroyed.  
-    delete iSelector;
-    iProperty.Close();
-    
-    RUBY_DEBUG0( "CVCommandManagerVoiceHeadSetLauncher::~CVCommandManagerVoiceHeadSetLauncher - EXIT" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::AnswerCall
-// ---------------------------------------------------------------------------
-//    
-void CVCommandManagerVoiceHeadSetLauncher::AnswerCall()
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtAnswerCall, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::AnswerCall
-// ---------------------------------------------------------------------------
-//    
-void CVCommandManagerVoiceHeadSetLauncher::AnswerEndCall()
-    {
-    RUBY_DEBUG0( "" );
-    iProperty.Set( KPSUidVoiceUiAccMonitor, KVoiceUiAccessoryEvent, KVoiceUiShortPressEvent );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtAnswerEnd, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::EndCall
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::EndCall()
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response,  ERemConExtEndCall, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::LastNumberRedial
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::LastNumberRedial()
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtLastNumberRedial, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::VoiceDial
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::VoiceDial( const TBool /*aActivate*/ )
-    {
-    RUBY_DEBUG0( "" );
-    if ( GetAutoLockValue() > EAutolockOff )
-        {
-        TRemConExtCmdSource source;
-        iCallHandlingTarget->GetCommandSourceInfo( source );
-        
-        if ( source == ERemConExtCmdSourceBluetooth )
-            {
-            TRAP_IGNORE( LaunchVoiceUiL( ETrue ) );
-            }
-        }
-    else
-        {
-        TRAP_IGNORE( LaunchVoiceUiL( EFalse ) );
-        }
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtVoiceDial, KErrNone );
-    User::WaitForRequest( response );
-    }
-
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::DialCall
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::DialCall( const TDesC8& /*aTelNumber*/ )
-    {
-    RUBY_DEBUG0( "CVCommandManagerVoiceHeadSetLauncher::DialCall" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtDialCall, KErrNone );
-    User::WaitForRequest( response );
-    }    
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::MultipartyCalling
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::MultipartyCalling( const TDesC8& /*aData*/ )
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExt3WaysCalling, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::GenerateDTMF
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::GenerateDTMF( const TChar /*aChar*/ )
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtGenerateDTMF, KErrNone );
-    User::WaitForRequest( response );
-    }
-    
-// ---------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::SpeedDial
-// ---------------------------------------------------------------------------
-//
-void CVCommandManagerVoiceHeadSetLauncher::SpeedDial( const TInt /*aIndex*/ )
-    {
-    RUBY_DEBUG0( "" );
-    TRequestStatus response( KErrNone );
-    iCallHandlingTarget->SendResponse( response, ERemConExtSpeedDial, KErrNone );    
-    User::WaitForRequest( response );
-    }
-
-    
-// ---------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::LaunchVoiceUiL
-// ---------------------------------------------------------
-//     
-void CVCommandManagerVoiceHeadSetLauncher::LaunchVoiceUiL( TBool aDeviceLockMode )
-    {
-    RUBY_DEBUG_BLOCK( "" );
-    
-    // Check that phone or video call is not currently active
-    TInt state = CheckCallState();
-    if ( ( state == EPSCTsyCallStateNone ||
-           state == EPSCTsyCallStateUninitialized ||
-           state == KErrUnknown ) && !IsVideoCall() )
-        {
-        TApaTaskList apaTaskList( CCoeEnv::Static()->WsSession() );
-        TApaTask apaTask = apaTaskList.FindApp( KVoiceUiUID );
-
-        if ( apaTask.Exists() )
-            {
-            apaTask.BringToForeground();
-            
-            iProperty.Set( KPSUidVoiceUiAccMonitor, KVoiceUiAccessoryEvent, KVoiceUiLongPressEvent );
-            }
-        else
-            {
-            RApaLsSession apaLsSession;
-            User::LeaveIfError( apaLsSession.Connect() );
-            CleanupClosePushL(apaLsSession);
-            
-            TApaAppInfo appInfo;
-            User::LeaveIfError( apaLsSession.GetAppInfo( appInfo, KVoiceUiUID ) );
-            
-            TFileName appName = appInfo.iFullName;
-            CApaCommandLine* apaCommandLine = CApaCommandLine::NewLC();
-
-            apaCommandLine->SetExecutableNameL( appName );
-            apaCommandLine->SetCommandL( EApaCommandRunWithoutViews );
-            
-            if ( aDeviceLockMode )
-                {
-                // Command line parameters
-                apaCommandLine->SetTailEndL( KVoiceUiMode );
-                }
-            
-            User::LeaveIfError ( apaLsSession.StartApp( *apaCommandLine ) );
-            CleanupStack::PopAndDestroy( apaCommandLine );
-
-            CleanupStack::PopAndDestroy(&apaLsSession);
-            }    
-        }
-    }
-    
-// ---------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::CheckCallState
-// ---------------------------------------------------------
-//
-TInt CVCommandManagerVoiceHeadSetLauncher::CheckCallState()
-    {
-    RUBY_DEBUG0( "START" );
-    
-    TInt callState;
-    TInt err = RProperty::Get( KPSUidCtsyCallInformation,
-                               KCTsyCallState,
-                               callState );
-    if ( err == KErrNotFound )
-        {
-        callState = KErrNotFound;
-        }
-    
-    RUBY_DEBUG0( "EXIT" );
-    
-    return callState;    
-    }    
-    
-// -----------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::IsVideoCall 
-// -----------------------------------------------------------------------------
-//
-TBool CVCommandManagerVoiceHeadSetLauncher::IsVideoCall() 
-    {
-    RUBY_DEBUG0( "START" );
-    
-    TInt callType;
-    RProperty::Get( KPSUidCtsyCallInformation,
-                    KCTsyCallType, 
-                    callType );// Ignore errors  
-
-    RUBY_DEBUG0( "EXIT" );
-
-    return callType == EPSCTsyCallTypeH324Multimedia;
-    }
-
-// -----------------------------------------------------------------------------
-// CVCommandManagerVoiceHeadSetLauncher::GetAutoLockValue 
-// -----------------------------------------------------------------------------
-//
-TInt CVCommandManagerVoiceHeadSetLauncher::GetAutoLockValue()
-    {
-    RUBY_DEBUG0( "CVCommandManagerVoiceHeadSetLauncher::GetAutoLockValue START" );
-  
-    TInt autoLockValue;
-    TInt err = RProperty::Get( KPSUidCoreApplicationUIs,
-                               KCoreAppUIsAutolockStatus,
-                               autoLockValue );
-    if ( err == KErrNotFound )
-        {
-        autoLockValue = KErrNotFound;
-        }
-        
-    RUBY_DEBUG0( "CVCommandManagerVoiceHeadSetLauncher::GetAutoLockValue EXIT" );
-    
-    return autoLockValue;
-    }
-    
-//  End of File