| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Tue, 02 Feb 2010 01:41:59 +0200 | |
| changeset 0 | 3553901f7fa8 | 
| permissions | -rw-r--r-- | 
| 0 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | // All rights reserved. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | // This component and the accompanying materials are made available | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | // under the terms of "Eclipse Public License v1.0" | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | // which accompanies this distribution, and is available | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | // Initial Contributors: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | // Nokia Corporation - initial contribution. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | // Contributors: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | // Description: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | #ifndef __ASYNC_REQUEST_H__ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | #define __ASYNC_REQUEST_H__ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | #include <networking/umtsnifcontrolif.h> | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | #include "extension.h" | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | #include "guqos_log.h" | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | enum TRequest | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | EPendingAny = 0, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | EPendingCreate, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | EPendingDelete, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | EPendingConfig, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | EPendingSetQoS, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | EPendingModifyActive, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | EPendingActivate, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | EPendingPacketFilterAdd, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | EPendingPacketFilterRemove, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | EPendingSblpParameterAdd, // Request for adding sblp parameter | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | EPendingSblpParameterRemove, // Request for removing sblp parameter | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | EPendingTFTRemove, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | EPendingCancel, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | EPendingNone | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | class CFlowData; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | class CPdpContext; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | class CNif; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | template <class T> | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | struct SActionStep | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | * An action of the state machine. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | * Its it up to the action whether parameters are used or not. When the | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | * state machine is started, the parameters are both NULL, as there is | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | * no preceding event from NIF. Thus, the first action(s) usually ignore | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | * the parameters. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | * The aContext parameter is initially NULL and upon each event reply | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | * from the NIF, it is filled with the related context. Action can | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | * change the current context for the subsequent actions using | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | * CRequestBase::SetContext . This change persists for the duration | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | * of the current CRequestBase::Run or CRequestBase::Start . | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | * @param aContext The context | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | * @param aParams NULL or the parameters of the event from NIF | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | * @return | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | * @li EFalse - No action activated, proceed to the next state | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | * @li ETrue - Action activated. Action can be completion and | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | * destruction of the request object. Thus, when action | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | * returns ETrue, the member variables of the current | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | * request MUST NOT BE REFERENCED. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | TBool (T::*iAction)(CPdpContext* aContext, const TContextParameters* aParams); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | * Expected result, if action activated. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | * When action activates some NIF Control request, this code specifies the | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | * type of the expected result. When the event arrives, this code can be | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | * checked in the Run() function. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | //TRequest iRequest; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | // Base class for async requests: separate flow-specific and channel-specific requests? | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | class CRequestBase : public CBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | virtual ~CRequestBase(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | CRequestBase(CNif& aNif); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | void Run(const TRequest aRequest, CPdpContext* aPdpContext, const TContextParameters& aParams); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | virtual TBool Action(CPdpContext* aPdpContext, const TContextParameters* aParams) = 0; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | virtual void Cancel(CFlowData* aFlowData); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | virtual void Cancel(CPdpContext* aContext) = 0; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | TBool IsOk(TInt aResult, CPdpContext *aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | void CompleteAndDestruct(TInt aErrorCode, const TQoSParameters* aParams, const TExtensionData& aExtension=TExtensionData()); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | TSglQueLink iLink; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | virtual void Failure(CPdpContext* aPdpContext, TInt aErrorCode); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 | void SetContext(CPdpContext *aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 | void SetExpected(const TRequest aRequest); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | TBool ActionRemovePacketFilter(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 | TBool ActionAddPacketFilter(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | TBool DoAddFlowToContext(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | TBool ActionCommit(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | TBool ActionRequestComplete(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | RExtensionData iExtension; // Extension Data for the completion message | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | MQoSNegotiateEvent* iNotify; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | CNif& iNif; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | // The state machine information | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 | TInt iState; // Current State number [0...] | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | * Associated flow, or NULL, if none. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | * Some actions may use a flow as an additional input. The validity | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | * of this is at responsibility of the request implementation. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | CFlowData* iFlow; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 | * The context has been modified. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | * iContextModified is TRUE, when the iContext has queued modifications in NIF. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | * This only controls whether ModifyActive can be skipped in ActionCommit. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | * This is currently automaticly set whenever SetExpected is called, | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | * and cleared when iContext is changed. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | TBool iContextModified; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 143 | * The expected event completion. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 144 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 145 | * This value is defined only when some request has been passed to | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 146 | * NIF Control() and then the value is the expected reply event | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 147 | * from the NIF. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 148 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 149 | TRequest iExpected; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 150 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 151 | * The current context being acted on (or NULL). | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 152 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 153 | * This value is defined only when executing the actions (e.g. while | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 154 | * executing Run or Start. In other times, it is just left over | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 155 | * value that might point to already destroyed context and must | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 156 | * never be used. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 157 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 158 | CPdpContext* iContext; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 159 | /** | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 160 | * The current context parameters from NIF (or NULL) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 161 | * | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 162 | * This value is defined only when executin Run(). | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 163 | */ | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 164 | const TContextParameters* iParams; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 165 | #ifdef _LOG | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 166 | // | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 167 | // For DEBUG / LOGGING purposes only | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 168 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 169 | const TDesC* iName; // Name must be set by the constructor of each derived class. | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 170 | #endif | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 171 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 172 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 173 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 174 | // Remove unneeded TFT's from the context | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 175 | class CClose : public CRequestBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 176 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 177 | ~CClose(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 178 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 179 | static CClose* New(CPdpContext& aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 180 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 181 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 182 | virtual TBool Action(CPdpContext* aContext, const TContextParameters* aParams) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 183 | 		{return (this->*iActionList[iState].iAction)(aContext, aParams); }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 184 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 185 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 186 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 187 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 188 | CClose(CPdpContext& aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 189 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 190 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 191 | static const SActionStep<CClose> iActionList[]; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 192 | CPdpContext& iClosing; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 193 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 194 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 195 | // Context deletion requst | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 196 | class CDeleteRequest : public CRequestBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 197 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 198 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 199 | static CDeleteRequest* NewL(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 200 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 201 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 202 | // This request has no "action list", it's all done in Start() | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 203 | 	virtual TBool Action(CPdpContext*, const TContextParameters*) {return ETrue; }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 204 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 205 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 206 | CDeleteRequest(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 207 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 208 | CPdpContext *iDelete; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 209 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 210 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 211 | // Intermediate shared class for requests that negotiate QoS | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 212 | class CNegotiationBase : public CRequestBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 213 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 214 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 215 | 	~CNegotiationBase() {}
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 216 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 217 | void SetParameters(const TQoSParameters& aParams, CExtensionPolicy& aPolicy); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 218 | void SetParametersFlowExtn(CExtensionPolicy &aPolicy); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 219 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 220 | CNegotiationBase(CNif& aNif); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 221 | void Failure(CPdpContext* aPdpContext, TInt aErrorCode); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 222 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 223 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 224 | TBool ActionAddSblpParameter(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 225 | TBool ActionSetQoS(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 226 | TBool ActionNegotiationComplete(CPdpContext *, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 227 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 228 | TBool iSblp; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 229 | RFlowExtensionParams iFlowExtnParams; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 230 | TQoSParameters iGeneric; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 231 | TQoSRequested iUmts; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 232 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 233 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 234 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 235 | class COpenChannel : public CNegotiationBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 236 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 237 | ~COpenChannel(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 238 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 239 | static COpenChannel* New(TUint aChannelId, CFlowData &aFlow, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 240 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 241 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 242 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 243 | virtual TBool Action(CPdpContext* aContext, const TContextParameters* aParams) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 244 | 		{return (this->*iActionList[iState].iAction)(aContext, aParams); }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 245 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 246 | virtual void Failure(CPdpContext* aPdpContext, TInt aErrorCode); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 247 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 248 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 249 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 250 | COpenChannel(TInt aChannelId, CFlowData& aFlow, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 251 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 252 | TBool ActionNewContext(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 253 | TBool DoRememberCreatedContext(CPdpContext*, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 254 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 255 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 256 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 257 | static const SActionStep<COpenChannel> iActionList[]; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 258 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 259 | const TInt iChannelId; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 260 | CPdpContext* iNewContext; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 261 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 262 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 263 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 264 | class CNegotiateChannel : public CNegotiationBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 265 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 266 | ~CNegotiateChannel(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 267 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 268 | static CNegotiateChannel* New(CPdpContext* aContext, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 269 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 270 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 271 | virtual TBool Action(CPdpContext* aContext, const TContextParameters* aParams) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 272 | 		{return (this->*iActionList[iState].iAction)(aContext, aParams); }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 273 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 274 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 275 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 276 | CNegotiateChannel(CPdpContext* aContext, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 277 | void ConstructL(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 278 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 279 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 280 | static const SActionStep<CNegotiateChannel> iActionList[]; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 281 | CPdpContext* iChannel; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 282 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 283 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 284 | class CJoinRequest : public CRequestBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 285 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 286 | ~CJoinRequest(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 287 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 288 | static CJoinRequest* New(CPdpContext* aContext, CFlowData* aFlowData, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 289 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 290 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 291 | virtual TBool Action(CPdpContext* aContext, const TContextParameters* aParams) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 292 | 		{return (this->*iActionList[iState].iAction)(aContext, aParams); }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 293 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 294 | virtual void Failure(CPdpContext* aPdpContext, TInt aErrorCode); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 295 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 296 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 297 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 298 | CJoinRequest(CPdpContext* aContext, CFlowData* aFlowData, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 299 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 300 | TBool DoStartWithTargetContext(CPdpContext *, const TContextParameters*); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 301 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 302 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 303 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 304 | static const SActionStep<CJoinRequest> iActionList[]; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 305 | CPdpContext* iChannel; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 306 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 307 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 308 | class CLeaveRequest : public CRequestBase | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 309 | 	{
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 310 | ~CLeaveRequest(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 311 | public: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 312 | static CLeaveRequest* New(CPdpContext* aContext, CFlowData* aFlowData, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 313 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 314 | virtual void Start(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 315 | virtual TBool Action(CPdpContext* aContext, const TContextParameters* aParams) | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 316 | 		{return (this->*iActionList[iState].iAction)(aContext, aParams); }
 | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 317 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 318 | virtual void Failure(CPdpContext* aPdpContext, TInt aErrorCode); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 319 | virtual void Cancel(CPdpContext* aContext); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 320 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 321 | protected: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 322 | CLeaveRequest(CPdpContext* aContext, CFlowData* aFlowData, MQoSNegotiateEvent* aNotify); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 323 | void ConstructL(); | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 324 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 325 | private: | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 326 | static const SActionStep<CLeaveRequest> iActionList[]; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 327 | CPdpContext* iChannel; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 328 | }; | 
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 329 | |
| 
3553901f7fa8
Revision: 201005
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 330 | #endif |