--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/Src/ExtCall/RPhCltExtCall.cpp Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2002-2004 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: Ext Call
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "RPhCltServer.h"
+#include "RPhCltExtCall.h"
+#include "TPhCltExtPhoneDialData.h"
+#include "PhCltClientServer.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::RPhCltExtCall
+// C++ constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+RPhCltExtCall::RPhCltExtCall()
+ : RSubSessionBase(), iArgs( TPhCltCallArgs() )
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::Open
+//
+// Creates a subsession, as part of the given session.
+// -----------------------------------------------------------------------------
+//
+TInt RPhCltExtCall::Open( RPhCltServer& aServer )
+ {
+ __ASSERT_ALWAYS( aServer.Handle(), User::Panic(
+ KPhClientPanicCategory,
+ EPhCltClientSidePanicNullHandle ) );
+
+ return CreateSubSession(
+ aServer,
+ EPhoneServerExtCallSubSessionOpen,
+ TIpcArgs() );
+ }
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::Close
+//
+// Closes the subsession.
+// -----------------------------------------------------------------------------
+//
+void RPhCltExtCall::Close()
+ {
+ CloseSubSession( EPhoneServerExtCallSubSessionClose );
+ }
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::Dial
+//
+// Sends a dial request to the server.
+// -----------------------------------------------------------------------------
+//
+void RPhCltExtCall::Dial(
+ TRequestStatus& aStatus,
+ const TPhCltTelephoneNumber& aNumber,
+ const TPhCltNameBuffer& aName,
+ const TInt aWindowGroupId,
+ const TInt aRedial,
+ const TPhCltContactId aContactId,
+ const TBool aAllowNumberShowing )
+ {
+ __ASSERT_ALWAYS( SubSessionHandle(), User::Panic(
+ KPhClientPanicCategory,
+ EPhCltClientSidePanicNullHandle ) );
+
+ // Populate a temporary arguments package
+ TPhCltExtPhoneDialData args( aName, aNumber, aContactId, aWindowGroupId );
+ args.SetRedial( aRedial );
+ args.SetShowNumber( aAllowNumberShowing );
+
+ // Do the dial
+ Dial( aStatus, args );
+ }
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::Dial
+//
+// Sends a dial request to the server.
+// -----------------------------------------------------------------------------
+//
+void RPhCltExtCall::Dial(
+ TRequestStatus& aStatus,
+ const TPhCltExtPhoneDialData& aData )
+ {
+ __ASSERT_ALWAYS( SubSessionHandle(), User::Panic( KPhClientPanicCategory,
+ EPhCltClientSidePanicNullHandle ) );
+
+ // Save the arguments
+ TPhCltCallArgs args;
+ aData.AsIPCStruct( args );
+ iArgs() = args;
+
+ // Request the dial
+ SendReceive(
+ EPhoneServerExtCallSubSessionMakeCall,
+ TIpcArgs( &iArgs ),
+ aStatus );
+ }
+
+
+// -----------------------------------------------------------------------------
+// RPhCltExtCall::CancelDial
+//
+// Cancels the pending dial request.
+// -----------------------------------------------------------------------------
+//
+void RPhCltExtCall::CancelDial() const
+ {
+ __ASSERT_ALWAYS( const_cast< RPhCltExtCall* >( this )->SubSessionHandle(),
+ User::Panic(
+ KPhClientPanicCategory, EPhCltClientSidePanicNullHandle ) );
+
+ SendReceive(
+ EPhoneServerExtCallSubSessionMakeCallCancel,
+ TIpcArgs() );
+ }
+
+
+// End of File