--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedcallengine/cce/src/ccce.cpp Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,265 @@
+/*
+* Copyright (c) 2006-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: Main CCE control class
+*
+*/
+
+
+// INCLUDE FILES
+#include "ccce.h"
+#include "mcceobserver.h"
+#include "cccecall.h"
+#include "ccceconferencecall.h"
+#include "cccedtmf.h"
+#include "ccceutility.h"
+#include "cccelogger.h"
+#include "cccecallcontainer.h"
+#include "ccceobserverasynchroniser.h"
+
+// ======== MEMBER FUNCTIONS ========
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CCCE::CCCE()
+ {
+
+ }
+
+
+// ---------------------------------------------------------------------------
+// Construct object
+// ---------------------------------------------------------------------------
+//
+void CCCE::ConstructL(MCCEObserver* aObserver)
+ {
+ CCELOGSTRING("*** CCCE::ConstructL Started ***");
+ iObserver = CCCEObserverAsynchroniser::NewL();
+ iObserver->SetMCCEObserver(aObserver);
+ iCallContainer = CCCECallContainer::NewL( iObserver->GetMCCEObserver() );
+ CCELOGSTRING("*** CCCE::ConstructL Completed! ***");
+ }
+
+
+// ---------------------------------------------------------------------------
+// Default Symbian constructor
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CCCE* CCCE::NewL()
+ {
+ CCCE* self = CCCE::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Default Symbian constructor (object is left into cleanupstack)
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CCCE* CCCE::NewLC()
+ {
+ CCCE* self = new( ELeave ) CCCE();
+ CleanupStack::PushL( self );
+ self->ConstructL(NULL);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Default Symbian constructor
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CCCE* CCCE::NewL( MCCEObserver& aObserver )
+ {
+ CCCE* self = CCCE::NewLC( aObserver );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Default Symbian constructor (object is left into cleanupstack)
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CCCE* CCCE::NewLC( MCCEObserver& aObserver )
+ {
+ CCCE* self = new( ELeave ) CCCE();
+ CleanupStack::PushL( self );
+ self->ConstructL(&aObserver);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCCE::~CCCE()
+ {
+ CCELOGSTRING("*** CCCE::::~CCCE Started ***");
+ delete iCallContainer;
+ delete iObserver;
+ CCELOGSTRING("*** CCCE::::~CCCE Completed! ***");
+ }
+
+// ---------------------------------------------------------------------------
+// CCCE::SetObserver( MCCEObserver& aObserver )
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CCCE::SetObserver( MCCEObserver& aObserver,
+ MCCESsObserver& aSsObserver )
+ {
+ iObserver->SetMCCEObserver(&aObserver);
+ iObserver->SetMCCESsObserver(&aSsObserver);
+ iCallContainer->SetObserver( iObserver->GetMCCEObserver(), iObserver->GetMCCESsObserver() );
+ }
+
+// ---------------------------------------------------------------------------
+// Open new call.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C MCCECall& CCCE::OpenNewCallL(
+ const TDesC& aNumber,
+ const CCCECallParameters& aCallParameters,
+ const MCCECallObserver& aCallObserver )
+ {
+ return iCallContainer->OpenNewCallL(
+ aNumber,
+ aCallParameters,
+ aCallObserver );
+ }
+
+// -----------------------------------------------------------------------------
+// InitializeEmergencyCallL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MCCECall& CCCE::InitializeEmergencyCall(
+ const MCCECallObserver& aCallObserver )
+ {
+ return iCallContainer->EmergencyCall( aCallObserver );
+ }
+
+// -----------------------------------------------------------------------------
+// ConferenceCallL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MCCEConferenceCall& CCCE::ConferenceCallL(
+ const MCCEConferenceCallObserver& aObserver )
+ {
+ CCELOGSTRING("CCCE::ConferenceCallL()");
+ iObserver->SetMCCEConferenceCallObserver(&aObserver);
+ return iCallContainer->ConferenceCallL( iObserver->GetMCCEConferenceCallObserver() );
+ }
+
+// -----------------------------------------------------------------------------
+// DtmfInterface()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MCCEDtmfInterface& CCCE::DtmfInterfaceL(
+ const MCCEDtmfObserver& aObserver )
+ {
+ CCELOGSTRING("CCCE::DtmfInterfaceL()");
+ iObserver->SetMCCEDtmfObserver(&aObserver);
+ return iCallContainer->DtmfInterfaceL(iObserver->GetMCCEDtmfObserver() );
+ }
+
+// -----------------------------------------------------------------------------
+// ExtensionInterfaceL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MCCEExtensionInterface& CCCE::ExtensionInterfaceL(
+ const MCCEExtensionObserver& aObserver )
+ {
+ CCELOGSTRING("CCCE::ExtensionInterfaceL()");
+ iObserver->SetMCCEExtensionObserver(&aObserver);
+ return iCallContainer->ExtensionInterfaceL(iObserver->GetMCCEExtensionObserver());
+ }
+
+// -----------------------------------------------------------------------------
+// TerminateAllCalls()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCCE::TerminateAllCalls()
+ {
+ CCELOGSTRING("CCCE::TerminateAllCalls():IN");
+ iCallContainer->TerminateAllCalls();
+ CCELOGSTRING("CCCE::TerminateAllCalls():OUT");
+ }
+
+
+// -----------------------------------------------------------------------------
+// TerminateCall()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CCCE::TerminateCall( TName& /*aCallName*/ )
+ {
+ CCELOGSTRING("CCCE::TerminateCall(TName):IN");
+ CCELOGSTRING("CCCE::TerminateCall(TName):OUT");
+ return KErrNotSupported; // TODO
+ }
+
+// -----------------------------------------------------------------------------
+// TerminateCall()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCCE::TerminateCall( TInt& /*aStatus*/,
+ TName& /*aCallName*/ )
+ {
+ CCELOGSTRING("CCCE::TerminateCall(TRequestStatus,TName):IN");
+ // TODO
+ CCELOGSTRING("CCCE::TerminateCall(TRequestStatus,TName):OUT");
+ }
+
+// -----------------------------------------------------------------------------
+// TerminateAllButRingingAndQueuedCalls()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCCE::TerminateAllButRingingAndQueuedCalls()
+ {
+ CCELOGSTRING("CCCE::TerminateAllButRingingAndQueuedCalls():IN");
+ iCallContainer->TerminateAllButRingingAndQueuedCalls();
+ CCELOGSTRING("CCCE::TerminateAllButRingingAndQueuedCalls():OUT");
+ }
+
+
+// -----------------------------------------------------------------------------
+// GetAirTimeDuration()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCCE::GetAirTimeDuration( TTimeIntervalSeconds& aCSDuration,
+ TTimeIntervalSeconds& aPSDuration )
+ {
+ CCELOGSTRING("CCCE::GetAirTimeDuration()");
+ iCallContainer->GetAirTimeDuration( aCSDuration, aPSDuration );
+ }
+
+
+// -----------------------------------------------------------------------------
+// GetLifeTime()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CCCE::GetLifeTime( TDes8& aLifeTimeInfo )
+ {
+ CCELOGSTRING("CCCE::GetLifeTime()");
+ return iCallContainer->GetLifeTime(aLifeTimeInfo);
+ }
+
+// -----------------------------------------------------------------------------
+// GetCSInfo()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CCCE::GetCSInfo( CSInfo& aCSInfo )
+ {
+ CCELOGSTRING("CCCE::GetCSInfo()");
+ return iCallContainer->GetCSInfo(aCSInfo);
+ }
+
+