vtengines/videoteleng/CallCtrl/Src/CVtCtlVideoCall.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtengines/videoteleng/CallCtrl/Src/CVtCtlVideoCall.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Video call abstraction implementation.
-*
-*/
-
-
-#pragma CTC SKIP
-// INCLUDE FILES
-#include    "CVtCtlVideoCall.h"
-#include    "CVtCtlCallStatusMonitor.h"
-#include    "VtCtlPanic.h"
-#include    "cvtlogger.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::CVtCtlVideoCall
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / ETel
-*   Series 60  ETel API
-*****************************************************/
-CVtCtlVideoCall::CVtCtlVideoCall( 
-    RMobileLine& aDataLine,
-    TVtCtlSessionId aId,
-    MVtCtlCallStatusObserver& aObserver ) 
-    : iLine( aDataLine ), iObserver( aObserver )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.CVtCtlVideoCall" )
-    iCallInfo.iId = aId;
-    __VTPRINTEXIT( "CVtCtlVideoCall.CVtCtlVideoCall" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / ETel
-*   Series 60  ETel API
-*****************************************************/
-CVtCtlVideoCall* CVtCtlVideoCall::NewL( 
-    RMobileLine& aDataLine,
-    TVtCtlSessionId aId,
-    MVtCtlCallStatusObserver& aObserver )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.NewL" )
-    CVtCtlVideoCall* self = new( ELeave ) 
-        CVtCtlVideoCall( aDataLine, aId, aObserver );
-    __VTPRINTEXIT( "CVtCtlVideoCall.NewL" )
-    return self;
-    }
-
-    
-// Destructor
-CVtCtlVideoCall::~CVtCtlVideoCall()
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.~" )
-    __VTPRINT( DEBUG_SESSION | DEBUG_DESTRUCT, "VtCtl:Call~")
-    delete iStatusMonitor;
-    if ( iCall )
-    	{
-    	iCall->Close();
-    	delete iCall;
-    	}
-    __VTPRINTEXIT( "CVtCtlVideoCall.~" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::CallInfo
-// Returns call information containing information not associated to ETel
-// -----------------------------------------------------------------------------
-//
-const CVtCtlVideoCall::TVtCtlCallInfo& CVtCtlVideoCall::CallInfo() const
-    {
-    return iCallInfo;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::MobileInfo
-// Returns ETel call information.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / ETel
-*   Series 60  ETel API
-*****************************************************/
-const RMobileCall::TMobileCallInfoV1& CVtCtlVideoCall::MobileInfo() const
-    {
-    return iMobileCallInfo;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::InitializeCallL
-// Opens call subsession and starts status monitor.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / ETel
-*   Series 60  ETel API
-*****************************************************/
-void CVtCtlVideoCall::InitializeCallL( 
-    RMobileCall& aCall )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.InitializeCallL" )
-    __ASSERT_ALWAYS( iLine.SubSessionHandle(), 
-        Panic( EVtCtlPanicLineHandleNull ) );
-    iCall = &aCall;
-    iStatusMonitor = new ( ELeave ) CVtCtlCallStatusMonitor( *iCall, *this );
-    iStatusMonitor->Start();
-    UpdateCallInfo();
-    iCallInfo.iPreviousStatus = MVtCtlCallControl::EIdle;
-    iCallInfo.iStatus = 
-        CVtCtlCallStatusMonitor::MapState( iMobileCallInfo.iStatus );
-
-    __VTPRINTEXIT( "CVtCtlVideoCall.InitializeCallL" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::UpdateCallInfo
-// Updates call information from ETel
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / ETel
-*   Series 60  ETel API
-*****************************************************/
-TInt CVtCtlVideoCall::UpdateCallInfo()
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.UpdateCallInfo" )
-    __ASSERT_ALWAYS( iCall->SubSessionHandle(), 
-        Panic( EVtCtlPanicCallHandleNull ) );
-        
-    RMobileCall::TMobileCallInfoV1Pckg pckg( iMobileCallInfo );
-    const TInt err( iCall->GetMobileCallInfo( pckg ) );
-    __VTPRINT2( DEBUG_SESSION, "VtCtl:Call. dir %d",
-        iMobileCallInfo.iRemoteParty.iDirection )
-    __VTPRINT2( DEBUG_SESSION, "VtCtl:Call. status %d",
-        iMobileCallInfo.iStatus )
-#ifdef VTDEBUG
-    RDebug::Print(_L(" VtCtl.RemoteNumber=%S"),
-        &iMobileCallInfo.iRemoteParty.iRemoteNumber.iTelNumber );
-#endif
-    __VTPRINTEXITR( "CVtCtlVideoCall.UpdateCallInfo err=%d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::GetDuration
-// Returns call duration
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlVideoCall::GetDuration( TVtCtlDuration& aDuration )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.GetDuration" )
-    const TInt res( UpdateCallInfo() );
-    if ( res == KErrNone )
-        {
-        aDuration = iMobileCallInfo.iDuration;
-        }
-    __VTPRINTEXITR( "CVtCtlVideoCall.GetDuration err=%d", res )
-    return res;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::GetCallState
-// Gets call state
-// -----------------------------------------------------------------------------
-//
-TInt CVtCtlVideoCall::GetCallState( 
-    MVtCtlCallControl::TVtCtlState& aState )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.GetCallState" )
-    RMobileCall::TMobileCallStatus status;
-    aState = iCallInfo.iStatus;    
-    const TInt res( iCall->GetMobileCallStatus( status ) );
-    
-    // update internal state only if differs from previous state
-    if ( res == KErrNone &&
-         CVtCtlCallStatusMonitor::IsLegalNewState( 
-            status, iMobileCallInfo.iStatus ) )
-        {
-        // update 1) internal values, and
-        iMobileCallInfo.iStatus = status;        
-        iCallInfo.iPreviousStatus = iCallInfo.iStatus;
-        iCallInfo.iStatus = CVtCtlCallStatusMonitor::MapState( status );
-
-        // 2) return value
-        aState = iCallInfo.iStatus;                    
-        }
-    __VTPRINTEXITR( "CVtCtlVideoCall.GetCallState err=%d", res )
-    return res;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtCtlVideoCall::HandleCallStatusChangeL
-// Handles status change
-// -----------------------------------------------------------------------------
-//
-void CVtCtlVideoCall::HandleCallStatusChangeL( 
-    TVtCtlSessionId ,
-    MVtCtlCallControl::TVtCtlState aStatus,
-    MVtCtlCallControl::TVtCtlState aPreviousStatus )
-    {
-    __VTPRINTENTER( "CVtCtlVideoCall.HandleCallStatusChangeL" )
-    // If monitor has received outdated notification ignore the event.
-    // This may happen if call status has asked from ETel and there
-    // are still old completed status notifications that are not handled.
-    // => contradition between internal status in this object and one 
-    //    received from ststus monitor. Ignore it.
-    if ( aStatus > iCallInfo.iStatus || aStatus == MVtCtlCallControl::EIdle )
-        {
-        iCallInfo.iPreviousStatus = iCallInfo.iStatus;
-        iCallInfo.iStatus = aStatus;
-
-        iObserver.HandleCallStatusChangeL( 
-            iCallInfo.iId, 
-            aStatus,
-            aPreviousStatus );
-        }
-    __VTPRINTEXIT( "CVtCtlVideoCall.HandleCallStatusChangeL" )
-    }
-#pragma CTC ENDSKIP
-//  End of File  
-