phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequest.cpp
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequest.cpp	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,185 @@
+/*
+* 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:  Call Request.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "CPhSrvCallRequest.h"
+#include "PhSrvUtils.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::CPhSrvCallRequest
+// 
+// C++ constructor
+// -----------------------------------------------------------------------------
+//
+CPhSrvCallRequest::CPhSrvCallRequest( 
+    const RMessage2& aMessage, 
+    CPhCltExtPhoneDialData& aArguments,
+    TInt aSubSessionHandle )
+	: iPendingRequestPointer( aMessage ),      
+    iSubSessionHandle( aSubSessionHandle )
+    {
+    iCallArguments = &aArguments;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::CPhSrvCallRequest
+// 
+// C++ constructor
+// -----------------------------------------------------------------------------
+//
+CPhSrvCallRequest::CPhSrvCallRequest()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::NewLC
+// 
+// Static Symbian OS two-phase constructor. Return an instance
+// and leave it on the cleanup stack.
+// -----------------------------------------------------------------------------
+//
+CPhSrvCallRequest* CPhSrvCallRequest::NewLC( 
+    const RMessage2& aMessage, 
+    CPhCltExtPhoneDialData& aArguments,
+    TInt aSubSessionHandle )
+    {
+    CPhSrvCallRequest* self = new( ELeave ) CPhSrvCallRequest( 
+        aMessage, 
+        aArguments, 
+        aSubSessionHandle );
+        CleanupStack::PushL( self );
+    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::NewL
+// 
+// Static Symbian OS two-phase constructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvCallRequest* CPhSrvCallRequest::NewL()
+    {
+    CPhSrvCallRequest* self = new( ELeave ) CPhSrvCallRequest();
+    
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::InformOfCallAttemptResult
+// 
+// Complete a client request which will indicate the result
+// of attempting to dial a number.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvCallRequest::InformOfCallAttemptResult( 
+    TPhCltPhoneResults aResultOfAttemptingCall )
+    {
+    // Complete the client's pending request, indicating 
+    // the result of the attempt.
+    iPendingRequestPointer.Complete( aResultOfAttemptingCall );
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::Cancel
+// 
+// Complete the client's request with KErrCancel
+// -----------------------------------------------------------------------------
+//
+void CPhSrvCallRequest::Cancel()
+    {
+    iPendingRequestPointer.Complete( KErrCancel );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::SubSessionHandle
+// 
+// Return the handle of the subsession that initiated the
+// original dial request.
+// -----------------------------------------------------------------------------
+//
+TInt CPhSrvCallRequest::SubSessionHandle() const
+    {
+    return iSubSessionHandle;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::CallArguments
+// 
+// Returns the call arguments
+// -----------------------------------------------------------------------------
+//
+CPhCltExtPhoneDialData& CPhSrvCallRequest::CallArguments() const
+    {
+    return *iCallArguments;
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::UpdateEmercgencyCall
+// 
+// Set new parameter to emergency object.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvCallRequest::UpdateEmercgencyCall(
+    const RMessage2& aMessage, 
+    CPhCltExtPhoneDialData& aArguments, 
+    TInt aSubSessionHandle)
+    {
+  
+	__ASSERT_ALWAYS(  aArguments.TelephoneNumber() == KPhSrvUsedEmergencyCallNumber, 
+        PhoneServerUtils::Panic( 
+            EPhoneServerPanicEmergencyCallRequestFailure ) );
+            
+    iPendingRequestPointer = aMessage;
+    iCallArguments = &aArguments;
+    iSubSessionHandle = aSubSessionHandle;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhSrvNotificationManager::ClearEmergencyCall
+// 
+// Emtpies Emergency call data
+// -----------------------------------------------------------------------------
+//
+void CPhSrvCallRequest::ClearEmergencyCall()
+    {
+    if ( iSubSessionHandle == 0 )
+        {
+        return;
+        }
+	__ASSERT_ALWAYS(  
+        iCallArguments->TelephoneNumber() == KPhSrvUsedEmergencyCallNumber, 
+        PhoneServerUtils::Panic( 
+            EPhoneServerPanicEmergencyCallRequestFailure ) );
+    iSubSessionHandle = 0;
+    }
+
+
+// End of File