| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Fri, 11 Jun 2010 15:32:35 +0300 | |
| changeset 71 | dd83586b62d6 | 
| parent 8 | 35751d3474b7 | 
| permissions | -rw-r--r-- | 
| 8 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of the License "Eclipse Public License v1.0" | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * Defines the functionality which client-side subsession handles use | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | * to create and destroy subsessions, and to send messages to them. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | * | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | @file | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | #include <scs/scsclient.h> | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | #include <scs/scscommon.h> | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | using namespace ScsImpl; | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | EXPORT_C RScsClientSubsessionBase::RScsClientSubsessionBase() | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | This protected constructor prevents the class from being | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | instantiated directly. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | : RSubSessionBase() | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | // empty. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | EXPORT_C void RScsClientSubsessionBase::Close() | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | Closes the subsession, releasing resources on the server side. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | CloseSubSession(ECloseSubsession); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | EXPORT_C TInt RScsClientSubsessionBase::CreateSubsession(const RScsClientBase& aSession, TInt aFunction, const TIpcArgs& aArgs) | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | Create a subsession over the supplied session. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | @param aSession Session which will host the subsession. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | @param aFunction Command identifier. Bits 31:24 must be zero, because | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | they are reserved for SCS commands. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | @param aArgs Standard IPC arguments. The fourth argument cannot be | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | used because that is reserved for the subsession handle. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | @return Error code with which the server completed the request. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | return RSubSessionBase::CreateSubSession( | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | aSession, | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | ECreateSubsession | aFunction, | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | aArgs); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | EXPORT_C TInt RScsClientSubsessionBase::CallSubsessionFunction(TInt aFunction) const | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | Send a command to the corresponding server-side subsession. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | The subclass uses this function instead of directly calling | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | RSubSessionBase::SendReceive because it adds the SCS code which | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | marks this as a subsession call. Therefore, it can be routed | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | to the subsession object on the server side without any custom | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | decoding. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | @param aFunction Subsession command identifier. Bits 31:24 must be zero, | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | because they are reserved for SCS commands. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | @return Error code with which the server completed the request. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | __ASSERT_DEBUG(! ScsFieldUsed(aFunction), ClientSidePanic(EScsClNoArgsSubsessUsedScs)); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | TInt f = ECallSubsessionFunc | aFunction; | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | return RSubSessionBase::SendReceive(f); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | EXPORT_C TInt RScsClientSubsessionBase::CallSubsessionFunction(TInt aFunction, const TIpcArgs& aArgs) const | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | Send a command to the corresponding server-side subsession. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | The subclass uses this function instead of directly calling | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | RSubSessionBase::SendReceive because it adds the SCS code which | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | marks this as a subsession call. Therefore, it can be routed | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | to the subsession object on the server side without any custom | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | decoding. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | @param aFunction Subsession command identifier. Bits 31:24 must be zero, | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | because they are reserved for SCS commands. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | @param aArgs Standard IPC arguments. The fourth argument cannot be | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | used because that is reserved for the subsession handle. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 | @return Error code with which the server completed the request. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | __ASSERT_DEBUG(! ScsFieldUsed(aFunction), ClientSidePanic(EScsClArgsSubsessUsedScs)); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 | TInt f = ECallSubsessionFunc | aFunction; | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 | return RSubSessionBase::SendReceive(f, aArgs); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | EXPORT_C void RScsClientSubsessionBase::CallSubsessionFunction(TInt aFunction, const TIpcArgs& aArgs, TRequestStatus& aStatus) const | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | Send a command to the corresponding server-side subsession. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | @param aFunction Subsession command identifier. Bits 31:24 must be zero, | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | because they are reserved for SCS commands. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | @param aArgs Standard IPC arguments. The fourth argument cannot be | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | used because that is reserved for the subsession handle. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | @param aStatus The server completes this object when it has finished | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | handling the session. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | __ASSERT_DEBUG(! ScsFieldUsed(aFunction), ClientSidePanic(EScsClArgsSubsessAsyncUsedScs)); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 | TInt f = ECallSubsessionFunc | aFunction; | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | RSubSessionBase::SendReceive(f, aArgs, aStatus); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | EXPORT_C void RScsClientSubsessionBase::CancelSubsessionFunction(TInt aFunction) const | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 | /** | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | Cancel an outstanding subsession request. This has no effect if the | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | request is not outstanding. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 | @param aFunction Implementation function. This must be the | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | same value that was supplied to CallSubsessionFunction. | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | */ | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | 	{
 | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | __ASSERT_DEBUG(! ScsFieldUsed(aFunction), ClientSidePanic(EScsClCancelSubsessUsedScs)); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | |
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | TInt f = ECancelSubsessionFunc | aFunction; | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | RSubSessionBase::SendReceive(f); | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 | } | 
| 
35751d3474b7
Revision: 200935
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 |