srsf/vcommandmanager/src/vcmanagercontactselecthandler_aiw.cpp
branchRCL_3
changeset 18 cad71a31b7fc
parent 17 8ce15fced3a6
child 19 e36f3802f733
--- a/srsf/vcommandmanager/src/vcmanagercontactselecthandler_aiw.cpp	Thu Aug 19 09:56:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2006-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:  
-*
-*/
-
-
-// INCLUDE FILES
-#include "vcmanagercontactselecthandler_aiw.h"
-#include "vcmanagerdialer_aiw.h"
-
-#include <CPbkFieldInfo.h>
-
-#include <vascvpbkhandler.h>
-
-#include <cntdef.h>
-#include <eikenv.h>
-
-#include <featmgr.h> // FeatureManager.
-
-#ifdef __SIND_EXTENSIONS
-#include <sendui.h>
-#include <SendUiConsts.h>
-#include <CMessageData.h>
-#endif // __SIND_EXTENSIONS
-
-#include "rubydebug.h"
-
-#ifdef __WINS__
-// Text to show in emulator when dialing
-_LIT( KDialingNoteWins, "Dialing" );
-#endif
-
-// CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::CVcManagerContactSelectHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------
-//
-CVcManagerContactSelectHandler::CVcManagerContactSelectHandler()
- : iVideoTelephonySupported( EFalse ), iVoIPFeatureSupported( EFalse )     
-    {
-    // Nothing
-    }
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVcManagerContactSelectHandler* CVcManagerContactSelectHandler::NewL(
-                                       MNssContextMgr* aContextManager,
-                                       MNssTagSelectNotification* aTagSelectNotification )
-    {
-    CVcManagerContactSelectHandler* self = new (ELeave) CVcManagerContactSelectHandler;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContextManager, aTagSelectNotification );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::~CVcManagerContactSelectHandler
-// Destructor
-// ---------------------------------------------------------
-//
-CVcManagerContactSelectHandler::~CVcManagerContactSelectHandler()
-    {
-    RUBY_DEBUG0( "CVcManagerContactSelectHandler::~CVcManagerContactSelectHandler" );
-
-    delete iPbkHandler;
-
-    if ( iTagSelectNotification )
-        {
-        iTagSelectNotification->Deregister( iContext, this );
-        }
-
-    delete iContext;
-
-#ifdef __SIND_EXTENSIONS
-    delete iSendUi;
-#endif // __SIND_EXTENSIONS
-
-    delete iGlobalDialer;
-    }
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::HandleTagSelect
-// EPOC default constructor can leave.
-// ---------------------------------------------------------
-//
-void CVcManagerContactSelectHandler::ConstructL( MNssContextMgr* aContextManager,
-                                                 MNssTagSelectNotification* aTagSelectNotification )
-    {
-    RUBY_DEBUG_BLOCK( "CVcManagerContactSelectHandler::ConstructL" );
-    
-    iTagSelectNotification = aTagSelectNotification;
-    
-    iContext = aContextManager->CreateContextL();
-    iContext->SetNameL( KNssGCHNameDialContext );
-    iContext->SetGlobal( ETrue );
-    iTagSelectNotification->RegisterL( iContext, this );
-
-    RUBY_DEBUG0( "CVcManagerContactSelectHandler::ConstructL creating instance of CVasVPbkHandler" );
-    iPbkHandler = CVasVPbkHandler::NewL();
-    iPbkHandler->InitializeL();
-    
-    FeatureManager::InitializeLibL();
-    iVideoTelephonySupported = FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony );
-    
-    iVoIPFeatureSupported = FeatureManager::FeatureSupported( KFeatureIdCommonVoip );
-
-    // Frees the TLS. Must be done after FeatureManager is used.
-    FeatureManager::UnInitializeLib();
-    
-    // Take Eikon environment
-    iEikonEnvironment = CEikonEnv::Static();
-    }
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::HandleTagSelect
-// Dials number
-// ---------------------------------------------------------
-//
-void CVcManagerContactSelectHandler::HandleTagSelect( MNssTag* aTag )
-    {
-    RUBY_DEBUG2( "CVcManagerContactSelectHandler::HandleTagSelect VOIP %i video %i", iVoIPFeatureSupported, iVideoTelephonySupported );
-
-    TRAP_IGNORE( DoHandleTagSelectL( aTag ) );
-    }
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::DoHandleTagSelect
-// Dials number or create message
-// ---------------------------------------------------------
-//
-void CVcManagerContactSelectHandler::DoHandleTagSelectL( MNssTag* aTag )
-    {
-    RUBY_DEBUG_BLOCK( "CVcManagerContactSelectHandler::DoHandleTagSelectL" );
-   
-    CleanupDeletePushL( aTag );
-   
-    HBufC* name = aTag->SpeechItem()->PartialTextL( KNameTrainingIndex );        
-    CleanupStack::PushL( name ); 
-   
-    iContactId = aTag->RRD()->IntArray()->At( KVasContactIdRrdLocation );
-  
-    iPbkHandler->FindContactFieldL( aTag );
-       
-    TVasExtensionAction action =
-         (TVasExtensionAction)aTag->RRD()->IntArray()->At( KVasExtensionRrdLocation );
-    TVasExtensionCommand command =
-         (TVasExtensionCommand)aTag->RRD()->IntArray()->At( KVasExtensionCommandRrdLocation );
-
-    if ( action == EDial )
-        {
-        DialL( *name, iPbkHandler->TextL(), iPbkHandler->FieldTypeL(), command ); 
-        }
-#ifdef __SIND_EXTENSIONS  
-    else
-        {
-        CMessageData* messageData = CMessageData::NewL();
-        CleanupStack::PushL( messageData );
-                   
-        // created when needed first time
-        if ( !iSendUi )
-            {
-            iSendUi = CSendUi::NewL();
-            }
-         
-        TUid sendUid( KSenduiMtmSmsUid );
-        switch ( action )
-            {
-            case ENewMessage:
-                // @todo Check that KSenduiMtmUniMessageUid is ok to use
-                // instead of SenduiMtmMmsUid or KSenduiMtmSmsUid
-                sendUid = KSenduiMtmUniMessageUid;
-                messageData->AppendToAddressL( iPbkHandler->TextL(), *name );  
-                break;
-                   
-            case ENewEmail:
-                sendUid = KSenduiMtmSmtpUid;
-                messageData->AppendToAddressL( iPbkHandler->TextL(), *name );
-                break;
-                   
-            default:
-                RUBY_ERROR0( "CVcManagerContactSelectHandler::DoHandleTagSelectL wrong action id" );
-            }
-              
-        RUBY_DEBUG1( "CVcManagerContactSelectHandler::DoHandleTagSelectL action %i",
-                      action );               
-        // launch editor as a stand-alone application so that 
-        // it can/will be restored if put to background
-        iSendUi->CreateAndSendMessageL( sendUid, messageData, KNullUid, EFalse );
-        
-        CleanupStack::PopAndDestroy( messageData );
-        } 
-#endif // __SIND_EXTENSIONS        
-
-    CleanupStack::PopAndDestroy( name );
-    CleanupStack::Pop( aTag );
-    }
-
-
-// ---------------------------------------------------------
-// CVcManagerContactSelectHandler::DialL
-// Dials contact
-// ---------------------------------------------------------
-//
-#ifndef __WINS__
-void CVcManagerContactSelectHandler::DialL( const TDesC& aName,
-                                            const TDesC& aPhoneNumber,
-                                            TFieldType aFieldType,
-                                            TVasExtensionCommand aCommandId )
-#else
-void CVcManagerContactSelectHandler::DialL( const TDesC& /*aName*/,
-                                            const TDesC& aPhoneNumber,
-                                            TFieldType aFieldType,
-                                            TVasExtensionCommand aCommandId )
-#endif // __WINS__                                            
-    {
-    RUBY_DEBUG2( "CVcManagerContactSelectHandler::DialL fieldtype %i commandId %i", aFieldType, aCommandId );
-
-    // select call type
-    TCallType callType( EVoice );
-
-    if ( ( aCommandId == EVoipCommand || ( aCommandId == EDefaultCommand &&
-           aFieldType == KUidContactFieldVCardMapVOIP ) ) && iVoIPFeatureSupported )
-        {
-        RUBY_DEBUG0( "CVcManagerContactSelectHandler::SetupDialData VOIP" );
-
-        callType = EVoIP;
-        }
-    
-    if ( ( aCommandId == EVideoCommand || ( aCommandId == EDefaultCommand &&
-           aFieldType == KUidContactFieldVCardMapVIDEO ) ) && iVideoTelephonySupported )
-        {
-        RUBY_DEBUG0( "CVcManagerContactSelectHandler::SetupDialData video" );
-
-        callType = EVideo;
-        }
-
-#ifndef __WINS__
-    if ( !iGlobalDialer )
-        {
-        iGlobalDialer = CVcManagerDialer::NewL();
-        }
-    iGlobalDialer->ExecuteL( aName, aPhoneNumber, callType );
-#else
-    iEikonEnvironment->AlertWin( KDialingNoteWins, aPhoneNumber );
-#endif // __WINS__
-
-    RUBY_DEBUG0( "CVcManagerContactSelectHandler::DialL done" );
-    }
-
-// End of file