--- a/convergedcallengine/csplugin/src/cspetelcalleventmonitor.cpp Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +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: Implementation of class CSPEtelCallEventMonitor which
-* monitors call events from ETel and notifies observer
-* accordingly.
-*
-*/
-
-
-#include <mccptransferobserver.h>
-#include <mccpforwardobserver.h>
-#include <mccpconferencecallobserver.h>
-
-#include "cspetelcalleventmonitor.h"
-#include "csplogger.h"
-#include "cspcall.h"
-
-
-
-// ---------------------------------------------------------------------------
-// CSPEtelCallEventMonitor::NewL.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallEventMonitor* CSPEtelCallEventMonitor::NewL( MCSPCallObserver& aObserver,
- RMobileCall& aCall )
- {
- CSPLOGSTRING(CSPOBJECT,
- "CSPEtelCallEventMonitor::NewL()" );
- CSPEtelCallEventMonitor* self = new ( ELeave ) CSPEtelCallEventMonitor(
- aObserver, aCall );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructs the object by canceling first ongoing monitoring.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallEventMonitor::~CSPEtelCallEventMonitor( )
- {
- CSPLOGSTRING(CSPOBJECT,
- "CSPEtelCallEventMonitor::~CSPEtelCallEventMonitor()" );
- Cancel();
-
- if ( iDestrPtr )
- {
- *iDestrPtr = ETrue;
- iDestrPtr = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// Starts the monitoring.
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallEventMonitor::StartMonitoring()
- {
- CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::StartMonitoring" );
-
- if ( !IsActive() )
- {
- CSPLOGSTRING( CSPREQOUT,
- "CSP: CSPEtelCallEventMonitor::StartMonitoring: \
- Request RMobilePhone::NotifyCallEvent" );
- iCall.NotifyCallEvent( iStatus, iCallEvent );
- SetActive();
- }
- else
- {
- CSPLOGSTRING( CSPERROR,
- "CSP: CSPEtelCallEventMonitor::StartMonitoring: Already active" );
- }
- }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// Handles event notifying.
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallEventMonitor::RunL()
- {
- CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::RunL")
-
- // Survive from monitor destruction during observing sequence
- TBool destroyed = EFalse;
- iDestrPtr = &destroyed;
-
- if ( iStatus == KErrNone )
- {
- switch ( iCallEvent )
- {
- // The call has been terminated by the remote party.
- case RMobileCall::ERemoteTerminated:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely terminated" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteTerminated );
- break;
- }
- // The call has been placed on hold as a result of a local action
- case RMobileCall::ELocalHold:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Locally held" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPLocalHold );
- break;
- }
-
- // The call has been resumed as a result of a local action.
- case RMobileCall::ELocalResume:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Locally resumed" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPLocalResume );
- break;
- }
- // The call has been deflected to another remote party as a result
- // of a local action.
- case RMobileCall::ELocalDeflectCall:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Locally deflected" );
- iObserver.NotifyTransferCallEventOccurred(
- MCCPTransferObserver::ECCPLocalTransfer );
- break;
- }
- // The call has been transferred to another remote party as a
- // result of a local action.
- case RMobileCall::ELocalTransfer:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Locally transfered" );
- iObserver.NotifyTransferCallEventOccurred(
- MCCPTransferObserver::ECCPLocalTransfer );
- break;
- }
- // The call has been placed on hold by the remote connected party
- case RMobileCall::ERemoteHold:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely held" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteHold );
- break;
- }
- // The call has been resumed by the remote connected party.
- case RMobileCall::ERemoteResume:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely resumed" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteResume );
- break;
- }
- // The call has been joined by the remote connected party to other
- // call(s) to create/add to a conference call.
- case RMobileCall::ERemoteConferenceCreate:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
- conference" );
-
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteConferenceCreate );
-
- break;
- }
- case RMobileCall::ERemoteTransferring:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
- conference" );
- iObserver.NotifyTransferCallEventOccurred(
- MCCPTransferObserver::ECCPRemoteTransferring );
- break;
- }
- case RMobileCall::ERemoteTransferAlerting:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
- conference" );
- iObserver.NotifyTransferCallEventOccurred(
- MCCPTransferObserver::ECCPRemoteTransferAlerting );
- break;
- }
- // The outgoing call has been barred by the remote party
- case RMobileCall::ERemoteBarred:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely barred" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteBarred );
- break;
- }
-
- // The call is being forwarded by the remote party.
- case RMobileCall::ERemoteForwarding:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely forwarded" );
- iObserver.NotifyForwardEventOccurred(
- MCCPForwardObserver::ECCPRemoteForwarding );
- break;
- }
-
- // The call is waiting at the remote end.
- case RMobileCall::ERemoteWaiting:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Remotely waiting" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPRemoteWaiting );
- break;
- }
-
- // The outgoing call has been barred by the local party.
- case RMobileCall::ELocalBarred:
- {
- CSPLOGSTRING( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Locally barred" );
- iObserver.NotifyCallEventOccurred(
- MCCPCallObserver::ECCPLocalBarred );
- break;
- }
-
- default:
- {
- CSPLOGSTRING2( CSPINT,
- "CSP CSPEtelCallEventMonitor::RunL: Unspecified/protocol \
- specific call event: %d", iCallEvent );
- break;
- }
- }
- }
-
- if ( !destroyed )
- {
- // In case instance has not been deleted, pointer must be cleared.
- iDestrPtr = NULL;
- if ( iStatus == KErrNone )
- {
- StartMonitoring();
- }
- }
- else
- {
- // already destroyed, do not touch members.
- }
- }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// Request canceling.
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallEventMonitor::DoCancel()
- {
- CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::DoCancel" );
- iCall.CancelAsyncRequest( EMobileCallNotifyCallEvent );
- }
-
-// ---------------------------------------------------------------------------
-// Constructs the monitor.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallEventMonitor::CSPEtelCallEventMonitor( MCSPCallObserver& aObserver,
- RMobileCall& aCall ) :
- CActive( EPriorityStandard ),
- iObserver( aObserver ),
- iCall ( aCall )
- {
- CSPLOGSTRING(CSPOBJECT,
- "CSPEtelCallEventMonitor::CSPEtelCallEventMonitor()" );
- CActiveScheduler::Add( this );
- }
-
-// End of File
-