telephonyprotocols/pdplayer/umts/spudtel/src/eteldriverstrategies.cpp
changeset 75 f45cd1ad4667
parent 49 f50f4094acd7
equal deleted inserted replaced
68:d0d9cc530d21 75:f45cd1ad4667
    44 @param aContext - pdp context
    44 @param aContext - pdp context
    45 @param aStatus - request status of this step
    45 @param aStatus - request status of this step
    46 */
    46 */
    47 void TOpenStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
    47 void TOpenStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
    48 	{
    48 	{
    49 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_1, "TOpenStrategy::Next()");
       
    50 	
       
    51 	TInt err = KErrNone;
    49 	TInt err = KErrNone;
    52 	
    50 	
    53 	switch(aContext.StrategyStep())
    51 	switch(aContext.StrategyStep())
    54 		{
    52 		{
    55 		case EStartStep:
    53 		case EStartStep:
    56 			{
    54 			{
       
    55 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_1, "TOpenStrategy::Next() - EStartStep - Initialize Phone");
    57 			aContext.Phone().Initialise (*aStatus);
    56 			aContext.Phone().Initialise (*aStatus);
    58 			aContext.SetStrategyStep(EInitPhoneStep);
    57 			aContext.SetStrategyStep(EInitPhoneStep);
    59 			break;
    58 			break;
    60 			}
    59 			}
    61 			
    60 			
    62 		case EInitPhoneStep:
    61 		case EInitPhoneStep:
    63 			{
    62 			{
       
    63 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_2, "TOpenStrategy::Next() - EStartStep - TOpenStrategy::Next() - EInitPhoneStep");
    64 			aContext.SetStrategyStep(EFinishStep);
    64 			aContext.SetStrategyStep(EFinishStep);
    65 			break;
    65 			break;
    66 			}
    66 			}
    67 			
    67 			
    68 		default:
    68 		default:
    69 			// incorrect step
    69 			// incorrect step
    70 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_2, "Incorrect step");
    70 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TOPENSTRATEGY_NEXT_3, "TOpenStrategy::Next() - EStartStep - TOpenStrategy::Next() - Incorrect step");
    71 			ASSERT(EFalse);
    71 			ASSERT(EFalse);
    72 			err = KErrNotSupported;
    72 			err = KErrNotSupported;
    73 			break;
    73 			break;
    74 				
    74 				
    75 		} // switch
    75 		} // switch
   133 @param aContext - pdp context
   133 @param aContext - pdp context
   134 @param aStatus - request status of this step
   134 @param aStatus - request status of this step
   135 */
   135 */
   136 void TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   136 void TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   137 	{
   137 	{
   138 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_1, "TContextDeleteStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)");
       
   139 	
   138 	
   140 	TInt err = KErrNone;
   139 	TInt err = KErrNone;
   141 	
   140 	
   142 	// steps:
   141 	// steps:
   143 	//	-- cancel notifications
   142 	//	-- cancel notifications
   157 			
   156 			
   158 			if (aContext.ContextType() != SpudMan::EMbms)
   157 			if (aContext.ContextType() != SpudMan::EMbms)
   159 				{
   158 				{
   160 				if (aContext.PacketContext().SubSessionHandle())
   159 				if (aContext.PacketContext().SubSessionHandle())
   161 					{
   160 					{
       
   161                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_1, "TContextDeleteStrategy::Next() - EStartStep - PacketContext::Deactivate(), contextName = [%S]", aContext.Name());
   162 					aContext.PacketContext().Deactivate(*aStatus);
   162 					aContext.PacketContext().Deactivate(*aStatus);
   163 					aContext.SetStrategyStep (EDeactivateStep);
   163 					aContext.SetStrategyStep (EDeactivateStep);
   164 					}
   164 					}
   165 				else
   165 				else
   166 					{
   166 					{
       
   167                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_2, "TContextDeleteStrategy::Next() - EStartStep - PacketContext::SubSessionHandle() returned error, contextName = [%S]", aContext.Name());
   167 					aContext.SetStrategyStep(EDeactivateStep);
   168 					aContext.SetStrategyStep(EDeactivateStep);
   168 					User::RequestComplete(aStatus, err);
   169 					User::RequestComplete(aStatus, err);
   169 					}
   170 					}
   170 				}
   171 				}
   171 			else
   172 			else
   172 				{
   173 				{
   173 				if (aContext.MbmsPacketContext().SubSessionHandle())
   174 				if (aContext.MbmsPacketContext().SubSessionHandle())
   174 					{
   175 					{
       
   176                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_3, "TContextDeleteStrategy::Next() - EStartStep - MbmsPacketContext::Deactivate(), contextName = [%S]", aContext.Name());
   175 					aContext.MbmsPacketContext().Deactivate(*aStatus);
   177 					aContext.MbmsPacketContext().Deactivate(*aStatus);
   176 					aContext.SetStrategyStep (EDeactivateStep);
   178 					aContext.SetStrategyStep (EDeactivateStep);
   177 					}
   179 					}
   178 				else
   180 				else
   179 					{
   181 					{
       
   182                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_4, "TContextDeleteStrategy::Next() - EStartStep - MbmsPacketContext::SubSessionHandle() returned error, contextName = [%S]", aContext.Name());
   180 					aContext.SetStrategyStep(EDeleteContextStep);
   183 					aContext.SetStrategyStep(EDeleteContextStep);
   181 					User::RequestComplete(aStatus, err);
   184 					User::RequestComplete(aStatus, err);
   182 					}	
   185 					}	
   183 				}	
   186 				}	
   184 			break;
   187 			break;
   188 			{
   191 			{
   189 			if (aContext.ContextType() != SpudMan::EMbms)
   192 			if (aContext.ContextType() != SpudMan::EMbms)
   190 				{
   193 				{
   191 				if (aContext.PacketQoS().SubSessionHandle())
   194 				if (aContext.PacketQoS().SubSessionHandle())
   192 					{
   195 					{
       
   196                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_5, "TContextDeleteStrategy::Next() - EDeactivateStep - PacketQoS::Close(), contextName = [%S]", aContext.Name());
   193 					aContext.PacketQoS().Close();
   197 					aContext.PacketQoS().Close();
   194 					}
   198 					}
   195 				
   199 				
   196 				if (aContext.PacketContext().SubSessionHandle())
   200 				if (aContext.PacketContext().SubSessionHandle())
   197 					{
   201 					{
       
   202                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_6, "TContextDeleteStrategy::Next() - EDeactivateStep - PacketContext::Delete(), contextName = [%S]", aContext.Name());
   198 					aContext.PacketContext().Delete(*aStatus);
   203 					aContext.PacketContext().Delete(*aStatus);
   199 					aContext.SetStrategyStep(EDeleteContextStep);
   204 					aContext.SetStrategyStep(EDeleteContextStep);
   200 					}
   205 					}
   201 				else
   206 				else
   202 					{
   207 					{
       
   208                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_7, "TContextDeleteStrategy::Next() - EDeactivateStep - MbmsPacketContext::SubSessionHandle() returned error, contextName = [%S]", aContext.Name());
   203 					// jump to next step
   209 					// jump to next step
   204 					aContext.SetStrategyStep(EDeleteContextStep);
   210 					aContext.SetStrategyStep(EDeleteContextStep);
   205 					User::RequestComplete( aStatus, err);
   211 					User::RequestComplete( aStatus, err);
   206 					}
   212 					}
   207 				}
   213 				}
   208 			else
   214 			else
   209 				{
   215 				{
   210 				if (aContext.MbmsPacketContext().SubSessionHandle())
   216 				if (aContext.MbmsPacketContext().SubSessionHandle())
   211 					{
   217 					{
       
   218                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_8, "TContextDeleteStrategy::Next() - EDeactivateStep - MbmsPacketContext::Delete(), contextName = [%S]", aContext.Name());
   212 					aContext.MbmsPacketContext().Delete(*aStatus);
   219 					aContext.MbmsPacketContext().Delete(*aStatus);
   213 					aContext.SetStrategyStep(EDeleteContextStep);
   220 					aContext.SetStrategyStep(EDeleteContextStep);
   214 					}
   221 					}
   215 				else
   222 				else
   216 					{
   223 					{
       
   224                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_9, "TContextDeleteStrategy::Next() - EDeactivateStep - MbmsPacketContext::SubSessionHandle() returned error, contextName = [%S]", aContext.Name());
   217 					// jump to next step
   225 					// jump to next step
   218 					aContext.SetStrategyStep(EDeleteContextStep);
   226 					aContext.SetStrategyStep(EDeleteContextStep);
   219 					User::RequestComplete( aStatus, err);
   227 					User::RequestComplete( aStatus, err);
   220 					}	
   228 					}	
   221 				}	
   229 				}	
   225 			
   233 			
   226 		case EDeleteContextStep:
   234 		case EDeleteContextStep:
   227 			{
   235 			{
   228 			if (aContext.ContextType() != SpudMan::EMbms)
   236 			if (aContext.ContextType() != SpudMan::EMbms)
   229 				{
   237 				{
       
   238                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_10, "TContextDeleteStrategy::Next() - EDeleteContextStep - PacketContext::Close(), contextName = [%S]", aContext.Name());
   230 				aContext.PacketContext().Close();
   239 				aContext.PacketContext().Close();
   231 				}
   240 				}
   232 			else
   241 			else
   233 				{
   242 				{
       
   243                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_11, "TContextDeleteStrategy::Next() - EDeleteContextStep - MbmsPacketContext::Close(), contextName = [%S]", aContext.Name());
   234 				aContext.MbmsPacketContext().Close();
   244 				aContext.MbmsPacketContext().Close();
   235 				}	
   245 				}	
   236 			// clear the name
   246 			// clear the name
   237 			aContext.Name().Zero();
   247 			aContext.Name().Zero();
   238 			aContext.SetStrategyStep (EFinishStep);
   248 			aContext.SetStrategyStep (EFinishStep);
   239 			break;
   249 			break;
   240 			}
   250 			}
   241 			
   251 			
   242 		default:
   252 		default:
   243 			// incorrect step
   253 			// incorrect step
   244 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_2, "ERROR: Incorrect case");
   254 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCONTEXTDELETESTRATEGY_NEXT_12, "TContextDeleteStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
   245 			ASSERT(EFalse);
   255 			ASSERT(EFalse);
   246 			err = KErrNotSupported;
   256 			err = KErrNotSupported;
   247 			break;
   257 			break;
   248 				
   258 				
   249 		} // switch
   259 		} // switch
   326 @param aContext - pdp context
   336 @param aContext - pdp context
   327 @param aStatus - request status of this step
   337 @param aStatus - request status of this step
   328 */
   338 */
   329 void TCreate1ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   339 void TCreate1ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   330 	{
   340 	{
   331 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate1ryPdpContextStrategy::Next()");
       
   332 	
       
   333 	TInt err = KErrNone;
   341 	TInt err = KErrNone;
   334 	
   342 	
   335 	// possible steps:
   343 	// possible steps:
   336 	// 	-- open new context
   344 	// 	-- open new context
   337 	//	-- open new QoS
   345 	//	-- open new QoS
   338 	// 	-- initialise context
   346 	// 	-- initialise context
   339 	switch(aContext.StrategyStep())
   347 	switch(aContext.StrategyStep())
   340 		{
   348 		{
   341 		case EStartStep:
   349 		case EStartStep:
   342 			{
   350 			{
       
   351 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate1ryPdpContextStrategy::Next() - EStartStep, PacketContext::OpenNewContext()");  
   343 			err = aContext.PacketContext().OpenNewContext (aContext.PacketService(), aContext.Name());
   352 			err = aContext.PacketContext().OpenNewContext (aContext.PacketService(), aContext.Name());
   344 			if (err)
   353 			if (err)
   345 				{
   354 				{
   346 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_2, "PacketContextOpenNewContext returned %d", err);
   355 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_2, "TCreate1ryPdpContextStrategy::Next() - PacketContext::OpenNewContext() returned %d", err);
   347 				break;
   356 				break;
   348 				}
   357 				}
   349 				
   358 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_3, "TCreate1ryPdpContextStrategy::Next() - PacketContext::InitialiseContext(), contextName = [%S]", aContext.Name());   	
   350 			aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
   359 			aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
   351 			aContext.SetStrategyStep (EInitialiseContextStep);
   360 			aContext.SetStrategyStep (EInitialiseContextStep);
   352 			break;
   361 			break;
   353 			}
   362 			}
   354 			
   363 			
   355 		case EInitialiseContextStep:
   364 		case EInitialiseContextStep:
   356 			{
   365 			{
   357 			// get packet config from fsm
   366 			// get packet config from fsm
   358 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase());
   367 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase());
   359 			// async set config
   368 			// async set config
       
   369 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_4, "TCreate1ryPdpContextStrategy::Next() - EInitialiseContextStep - PacketContext::SetConfig(), contextName = [%S]", aContext.Name()); 
   360 			aContext.PacketContext().SetConfig (*aStatus, aContext.ContextConfig());
   370 			aContext.PacketContext().SetConfig (*aStatus, aContext.ContextConfig());
   361 			// set next step
   371 			// set next step
   362 			aContext.SetStrategyStep (ESetConfigStep);
   372 			aContext.SetStrategyStep (ESetConfigStep);
   363 			break;
   373 			break;
   364 			}
   374 			}
   365 			
   375 			
   366 		case ESetConfigStep:
   376 		case ESetConfigStep:
   367 			{
   377 			{
       
   378 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_5, "TCreate1ryPdpContextStrategy::Next() - ESetConfigStep - PacketQoS::OpenNewQoS(), contextName = [%S]", aContext.Name()); 
   368 			// QoS name is not used anywhere
   379 			// QoS name is not used anywhere
   369 			TName newName;
   380 			TName newName;
   370 			err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName);
   381 			err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName);
   371 			if (err)
   382 			if (err)
   372 				{ 
   383 				{ 
   373 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_3, "PacketQoS OpenNewQoS returned %d", err);
   384 				OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_6, "TCreate1ryPdpContextStrategy::Next() - ESetConfigStep - PacketQoS::OpenNewQoS() returned %d, contextName = [%S]", err, aContext.Name());
   374 				break; 
   385 				break; 
   375 				}
   386 				}
   376 				
   387 				
   377 #ifdef SYMBIAN_NETWORKING_UMTSR5
   388 #ifdef SYMBIAN_NETWORKING_UMTSR5
   378             RPacketQoS::TQoSR5Requested r5;
   389             RPacketQoS::TQoSR5Requested r5;
   387 
   398 
   388 
   399 
   389 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
   400 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
   390             aContext.DumpReqProfileParameters ();
   401             aContext.DumpReqProfileParameters ();
   391 #endif			
   402 #endif			
   392 			aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg());
   403             OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_7, "TCreate1ryPdpContextStrategy::Next() - ESetConfigStep - PacketQoS()::SetProfileParameters(), contextName = [%S]", aContext.Name()); 
       
   404             aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg());
   393 			aContext.SetStrategyStep (ESetProfileParamsStep);
   405 			aContext.SetStrategyStep (ESetProfileParamsStep);
   394 			break;
   406 			break;
   395 			}
   407 			}
   396 			
   408 			
   397 		case ESetProfileParamsStep:
   409 		case ESetProfileParamsStep:
   398 			{
   410 			{
       
   411 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_8, "TCreate1ryPdpContextStrategy::Next() - ESetProfileParamsStep, contextName = [%S]", aContext.Name());    
   399 			aContext.SetStrategyStep (EFinishStep);
   412 			aContext.SetStrategyStep (EFinishStep);
   400 			break;
   413 			break;
   401 			}
   414 			}
   402 			
   415 			
   403 		default:
   416 		default:
   404 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_4, "ERROR: Incorrect case");
   417 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE1RYPDPCONTEXTSTRATEGY_NEXT_9, "TCreate1ryPdpContextStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());   
   405 			ASSERT(EFalse);
   418 			ASSERT(EFalse);
   406 			err = KErrNotSupported;
   419 			err = KErrNotSupported;
   407 			break;
   420 			break;
   408 		}
   421 		}
   409 		
   422 		
   481 @param aContext - pdp context
   494 @param aContext - pdp context
   482 @param aStatus - request status of this step
   495 @param aStatus - request status of this step
   483 */
   496 */
   484 void TCreate2ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   497 void TCreate2ryPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   485 	{
   498 	{
   486 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate2ryPdpContextStrategy::Next()");
       
   487 	
       
   488 	TInt err = KErrNone;
   499 	TInt err = KErrNone;
   489 	
   500 	
   490 	// possible steps:
   501 	// possible steps:
   491 	//	-- open new secondary context
   502 	//	-- open new secondary context
   492 	//	-- open new QoS
   503 	//	-- open new QoS
   494 	switch(aContext.StrategyStep())
   505 	switch(aContext.StrategyStep())
   495 		{
   506 		{
   496 		case EStartStep:
   507 		case EStartStep:
   497 			{
   508 			{
   498 			const TName& existingContextName = aContext.ExistingContextName();
   509 			const TName& existingContextName = aContext.ExistingContextName();
       
   510 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_1, "TCreate2ryPdpContextStrategy::Next() - EStartStep - PacketContext::OpenNewSecondaryContext(), existingContextName = [%S]", existingContextName);    
   499 			aContext.PacketContext().OpenNewSecondaryContext(aContext.PacketService(), existingContextName, aContext.Name());
   511 			aContext.PacketContext().OpenNewSecondaryContext(aContext.PacketService(), existingContextName, aContext.Name());
       
   512 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_2, "TCreate2ryPdpContextStrategy::Next() - EStartStep - PacketContext::InitialiseContext(), contextName = [%S]", aContext.Name());    
   500 			aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
   513 			aContext.PacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
   501 			aContext.SetStrategyStep (EInitialiseContextStep);
   514 			aContext.SetStrategyStep (EInitialiseContextStep);
   502 			break;
   515 			break;
   503 			}
   516 			}
   504 		case EInitialiseContextStep:
   517 		case EInitialiseContextStep:
   505 			{
   518 			{
       
   519 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_3, "TCreate2ryPdpContextStrategy::Next() -  EInitialiseContextStep - PacketQoS::OpenNewQoS(), contextName = [%S]", aContext.Name()); 
   506 			// QoS name is not used anywhere
   520 			// QoS name is not used anywhere
   507 			TName newName;
   521 			TName newName;
   508 			err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName);
   522 			err = aContext.PacketQoS().OpenNewQoS (aContext.PacketContext(), newName);
   509 			if (err)
   523 			if (err)
   510 				{ 
   524 				{ 
   511 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_2, "PacketQoS OpenNewQoS returned %d", err);
   525 				OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_4, "TCreate2ryPdpContextStrategy::Next() - EInitialiseContextStep - PacketQoS OpenNewQoS returned %d, contextName = [%S]", err, aContext.Name());
   512 				break; 
   526 				break; 
   513 				}
   527 				}
   514 			aContext.SetStrategyStep (EFinishStep);
   528 			aContext.SetStrategyStep (EFinishStep);
   515 			break;
   529 			break;
   516 			}
   530 			}
   517 			
   531 			
   518 		default:
   532 		default:
   519 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_3, "ERROR: Incorrect case");
   533 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATE2RYPDPCONTEXTSTRATEGY_NEXT_5, "TCreate2ryPdpContextStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name()); 
   520 			ASSERT(EFalse);
   534 			ASSERT(EFalse);
   521 			err = KErrNotSupported;
   535 			err = KErrNotSupported;
   522 			break;
   536 			break;
   523 		}
   537 		}
   524 		
   538 		
   569 @param aContext - pdp context
   583 @param aContext - pdp context
   570 @param aStatus - request status of this step
   584 @param aStatus - request status of this step
   571 */
   585 */
   572 void TSetQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   586 void TSetQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   573 	{
   587 	{
   574 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_1, "TSetQoSStrategy::Next()");
       
   575 	
       
   576 	TInt err = KErrNone;
   588 	TInt err = KErrNone;
   577 	
   589 	
   578 	// possible steps:
   590 	// possible steps:
   579 	//	-- set QoS profile parameters
   591 	//	-- set QoS profile parameters
   580 	switch(aContext.StrategyStep())
   592 	switch(aContext.StrategyStep())
   581 		{
   593 		{
   582 		case EStartStep:
   594 		case EStartStep:
   583 			{
   595 			{
       
   596 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_1, "TSetQoSStrategy::Next() - EStartStep, contextName = [%S]", aContext.Name());    
   584 #ifdef SYMBIAN_NETWORKING_UMTSR5
   597 #ifdef SYMBIAN_NETWORKING_UMTSR5
   585             RPacketQoS::TQoSR5Requested req;
   598             RPacketQoS::TQoSR5Requested req;
   586 #else
   599 #else
   587             RPacketQoS::TQoSR99_R4Requested req;
   600             RPacketQoS::TQoSR99_R4Requested req;
   588 #endif 
   601 #endif 
   593 
   606 
   594 
   607 
   595 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
   608 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
   596             aContext.DumpReqProfileParameters ();
   609             aContext.DumpReqProfileParameters ();
   597 #endif			
   610 #endif			
       
   611             OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_2, "TSetQoSStrategy::Next() - EStartStep - PacketQoS::SetProfileParameters(), contextName = [%S]", aContext.Name()); 
   598             aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg());
   612             aContext.PacketQoS().SetProfileParameters (*aStatus, aContext.QosRequestedPckg());
   599 			aContext.SetStrategyStep (ESetProfileParamsStep);
   613 			aContext.SetStrategyStep (ESetProfileParamsStep);
   600 			break;
   614 			break;
   601 			}
   615 			}
   602 			
   616 			
   603 		case ESetProfileParamsStep:
   617 		case ESetProfileParamsStep:
   604 			{
   618 			{
       
   619 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_3, "TSetQoSStrategy::Next() - ESetProfileParamsStep, contextName = [%S]", aContext.Name()); 
   605 			aContext.SetStrategyStep (EFinishStep);
   620 			aContext.SetStrategyStep (EFinishStep);
   606 			break;
   621 			break;
   607 			}
   622 			}
   608 			
   623 			
   609 		default:
   624 		default:
   610 			{
   625 			{
   611 			// unexpected
   626 			// unexpected
   612 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_2, "ERROR: Incorrect case");
   627 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETQOSSTRATEGY_NEXT_4, "TSetQoSStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name()); 
   613 			ASSERT(EFalse);
   628 			ASSERT(EFalse);
   614 			err = KErrNotSupported;
   629 			err = KErrNotSupported;
   615 			break;
   630 			break;
   616 			}
   631 			}
   617 		}
   632 		}
   674 @param aContext - pdp context
   689 @param aContext - pdp context
   675 @param aStatus - request status of this step
   690 @param aStatus - request status of this step
   676 */
   691 */
   677 void TSetTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   692 void TSetTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   678 	{
   693 	{
   679 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_1, "TSetTftStrategy::Next()");
       
   680 	
       
   681 	TInt err = KErrNone;
   694 	TInt err = KErrNone;
   682 
   695 
   683 	// possible steps:
   696 	// possible steps:
   684 	// 	-- add filters
   697 	// 	-- add filters
   685 	switch(aContext.StrategyStep())
   698 	switch(aContext.StrategyStep())
   686 		{
   699 		{
   687 		case EStartStep:
   700 		case EStartStep:
   688 			{
   701 			{
       
   702 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_1, "TSetTftStrategy::Next() - EStartStep, contextName = [%S]", aContext.Name());
   689 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode());
   703 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode());
   690 			switch(aContext.TftOperationCode())
   704 			switch(aContext.TftOperationCode())
   691 				{
   705 				{
   692 				case KAddFilters:
   706 				case KAddFilters:
   693 					aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   707 					aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   694 					OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_2, "TftOperationCode - Add Filters %d", aContext.TftInfo().FilterCount());
   708 					OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_2, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - Add Filters %d, contextName = [%S]", aContext.TftInfo().FilterCount(), aContext.Name());
   695 					// Set strategy assumes that TFT has to be created on a first place
   709 					// Set strategy assumes that TFT has to be created on a first place
   696 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_3, "Creating TFT...");
       
   697 					if (aContext.ContextType() != SpudMan::EMbms)
   710 					if (aContext.ContextType() != SpudMan::EMbms)
   698 						{	
   711 						{	
       
   712                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_3, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - PacketContext::CreateNewTFT(), contextName = [%S]", aContext.Name());
   699 						aContext.PacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount());
   713 						aContext.PacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount());
   700 						}
   714 						}
   701 					else
   715 					else
   702 						{
   716 						{
       
   717                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_4, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - MbmsPacketContext::CreateNewTFT, contextName = [%S]", aContext.Name());
   703 						aContext.MbmsPacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount());
   718 						aContext.MbmsPacketContext().CreateNewTFT(*aStatus, aContext.TftInfo().FilterCount());
   704 						}	
   719 						}	
   705 					aContext.SetStrategyStep (ECreateNewTFTStep);
   720 					aContext.SetStrategyStep (ECreateNewTFTStep);
   706 					break;
   721 					break;
   707 
   722 
   708 				case KRemoveFilters:
   723 				case KRemoveFilters:
   709 					err = KErrNotSupported;
   724 					err = KErrNotSupported;
   710 					OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_4, "TftOperationCode - Remove is not supported in a Set strategy, return %d", err);
   725 					OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_5, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - Remove is not supported in a Set strategy, return %d, contextName = [%S]", err, aContext.Name());
   711 					break;
   726 					break;
   712 
   727 
   713 				case KDeleteTFT:
   728 				case KDeleteTFT:
   714 					err = KErrNotSupported;
   729 					err = KErrNotSupported;
   715 					OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_5, "TftOperationCode - Delete is not supported in a Set strategy, return %d", err);
   730 					OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_6, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - Delete is not supported in a Set strategy, return %d, contextName = [%S]", err, aContext.Name());
   716 					break;
   731 					break;
   717 
   732 
   718 				default:
   733 				default:
   719 					// wrong case
   734 					// wrong case
   720 					OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_6, "ERROR: Incorrect case");
   735 					OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_7, "TSetTftStrategy::Next() - EStartStep - TftOperationCode - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
   721 					ASSERT(EFalse);
   736 					ASSERT(EFalse);
   722 					err = KErrNotSupported;
   737 					err = KErrNotSupported;
   723 					break;
   738 					break;
   724 				}
   739 				}
   725 			break;
   740 			break;
   726 			}
   741 			}
   727 	
   742 	
   728 		case ECreateNewTFTStep:
   743 		case ECreateNewTFTStep:
   729 			{
   744 			{
       
   745 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_8, "TSetTftStrategy::Next() - ECreateNewTFTStep, contextName = [%S]", aContext.Name());
   730 			TInt err1st = aContext.FirstFilterV2();
   746 			TInt err1st = aContext.FirstFilterV2();
   731 			if(err1st == KErrNone)
   747 			if(err1st == KErrNone)
   732 				{
   748 				{
   733 				if (aContext.ContextType() != SpudMan::EMbms)
   749 				if (aContext.ContextType() != SpudMan::EMbms)
   734 					{
   750 					{
       
   751                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_9, "TSetTftStrategy::Next() - ECreateNewTFTStep - PacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   735 					aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   752 					aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   736 					}
   753 					}
   737 				else
   754 				else
   738 					{
   755 					{
       
   756                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_10, "TSetTftStrategy::Next() - ECreateNewTFTStep - MbmsPacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   739 					aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   757 					aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   740 					}	
   758 					}	
   741 				aContext.SetStrategyStep (EAddTftStep);
   759 				aContext.SetStrategyStep (EAddTftStep);
   742 				}
   760 				}
   743 			else	// done
   761 			else	// done
   750 			break;
   768 			break;
   751 			}
   769 			}
   752 
   770 
   753 		case EAddTftStep:
   771 		case EAddTftStep:
   754 			{
   772 			{
       
   773 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_11, "TSetTftStrategy::Next() - EAddTftStep, contextName = [%S]", aContext.Name());
   755 			TInt errV2 = aContext.NextFilterV2();
   774 			TInt errV2 = aContext.NextFilterV2();
   756 			if(errV2 == KErrNone)
   775 			if(errV2 == KErrNone)
   757 				{
   776 				{
   758 				if (aContext.ContextType() != SpudMan::EMbms)
   777 				if (aContext.ContextType() != SpudMan::EMbms)
   759 					{
   778 					{
       
   779                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_12, "TSetTftStrategy::Next() - EAddTftStep - PacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   760 					aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   780 					aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   761 					}
   781 					}
   762 				else
   782 				else
   763 					{
   783 					{
       
   784                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_13, "TSetTftStrategy::Next() - EAddTftStep - MbmsPacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   764 					aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   785 					aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   765 					}
   786 					}
   766 				aContext.SetStrategyStep (EAddTftStep);
   787 				aContext.SetStrategyStep (EAddTftStep);
   767 				}
   788 				}
   768 			else	// done
   789 			else	// done
   775 			break;
   796 			break;
   776 			}
   797 			}
   777 
   798 
   778 		default:
   799 		default:
   779 			// unexpected
   800 			// unexpected
   780 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_7, "ERROR: Incorrect case");
   801 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_NEXT_14, "TSetTftStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
   781 			ASSERT(EFalse);
   802 			ASSERT(EFalse);
   782 			err = KErrNotSupported;
   803 			err = KErrNotSupported;
   783 			break;
   804 			break;
   784 		}
   805 		}
   785 		
   806 		
   818 	{
   839 	{
   819 	switch(aContext.StrategyStep())
   840 	switch(aContext.StrategyStep())
   820 		{
   841 		{
   821 		case ECreateNewTFTStep:
   842 		case ECreateNewTFTStep:
   822 			{
   843 			{
   823 			aContext.PacketQoS().CancelAsyncRequest(EPacketContextCreateNewTFT);
       
   824 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketQoS::EPacketContextCreateNewTFT");
   844 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_1, "Cancel PacketQoS::EPacketContextCreateNewTFT");
       
   845 	        aContext.PacketQoS().CancelAsyncRequest(EPacketContextCreateNewTFT);
   825 			break;
   846 			break;
   826 			}
   847 			}
   827 			
   848 			
   828 		case EAddTftStep:
   849 		case EAddTftStep:
   829 			{
   850 			{
       
   851 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketQoS::EPacketContextAddPacketFilter");
   830 			aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilter);
   852 			aContext.PacketQoS().CancelAsyncRequest(EPacketContextAddPacketFilter);
   831 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TSETTFTSTRATEGY_CANCELASYNCREQUEST_2, "Cancel PacketQoS::EPacketContextAddPacketFilter");
       
   832 			break;
   853 			break;
   833 			}
   854 			}
   834 
   855 
   835 		default:
   856 		default:
   836 			// unexpected
   857 			// unexpected
   849 @param aContext - pdp context
   870 @param aContext - pdp context
   850 @param aStatus - request status of this step
   871 @param aStatus - request status of this step
   851 */
   872 */
   852 void TChangeTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   873 void TChangeTftStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
   853 	{
   874 	{
   854 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_1, "TChangeTftStrategy::Next()");
       
   855 	
       
   856 	TInt err = KErrNone;
   875 	TInt err = KErrNone;
   857 
   876 
   858 	// special case. 
   877 	// special case. 
   859 	if(EStartStep == aContext.StrategyStep())
   878 	if(EStartStep == aContext.StrategyStep())
   860 		{
   879 		{
       
   880         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_1, "TChangeTftStrategy::Next() - EStartStep, contextName = [%S]", aContext.Name());
   861 		aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode());
   881 		aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftOperationCode());
   862 		switch(aContext.TftOperationCode())
   882 		switch(aContext.TftOperationCode())
   863 			{
   883 			{
   864 			case KAddFilters:
   884 			case KAddFilters:
   865 				aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   885 				aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   866 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_2, "TftOperationCode - Add Filters %d", aContext.TftInfo().FilterCount());
   886 				OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_2, "TChangeTftStrategy::Next() - EStartStep - TftOperationCode - Add Filters %d, contextName = [%S]", aContext.TftInfo().FilterCount(), aContext.Name());
   867 				aContext.SetStrategyStep (EAddFirstTftStep);
   887 				aContext.SetStrategyStep (EAddFirstTftStep);
   868 				break;
   888 				break;
   869 
   889 
   870 			case KRemoveFilters:
   890 			case KRemoveFilters:
   871 				aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   891 				aContext.PdpFsmInterface().Get (aContext.Id(), aContext.TftInfo());
   872 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_3, "TftOperationCode - Remove %d Filters", aContext.TftInfo().FilterCount());
   892 				OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_3, "TChangeTftStrategy::Next() - EStartStep - TftOperationCode - Remove %d Filters, contextName = [%S]", aContext.TftInfo().FilterCount(), aContext.Name());
   873 				aContext.SetStrategyStep (ERemoveFirstTftStep);
   893 				aContext.SetStrategyStep (ERemoveFirstTftStep);
   874 				break;
   894 				break;
   875 
   895 
   876 			case KDeleteTFT:
   896 			case KDeleteTFT:
   877 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_4, "TftOperationCode - Delete TFT");
   897 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_4, "TChangeTftStrategy::Next() - EStartStep - TftOperationCode - PacketContext::DeleteTFT(), contextName = [%S]", aContext.Name());
   878 				// delete old TFT
   898 				// delete old TFT
   879 				aContext.PacketContext().DeleteTFT(*aStatus);
   899 				aContext.PacketContext().DeleteTFT(*aStatus);
   880 				aContext.SetStrategyStep (EDeleteTftStep);
   900 				aContext.SetStrategyStep (EDeleteTftStep);
   881 				// DeleteTFT() ia an async operation => return 
   901 				// DeleteTFT() ia an async operation => return 
   882 				return;
   902 				return;
   883 
   903 
   884 			default:
   904 			default:
   885 				// wrong case
   905 				// wrong case
   886 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_5, "ERROR: Incorrect case");
   906 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_5, "TChangeTftStrategy::Next() - EStartStep - TftOperationCode - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
   887 				ASSERT(EFalse);
   907 				ASSERT(EFalse);
   888 				err = KErrNotSupported;
   908 				err = KErrNotSupported;
   889 				break;
   909 				break;
   890 			}
   910 			}
   891 		}
   911 		}
   898 		{
   918 		{
   899 		switch(aContext.StrategyStep())
   919 		switch(aContext.StrategyStep())
   900 			{
   920 			{
   901 			case EDeleteTftStep:
   921 			case EDeleteTftStep:
   902 				{
   922 				{
       
   923 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_6, "TChangeTftStrategy::Next() - EDeleteTftStep, contextName = [%S]", aContext.Name());
   903 				aContext.SetStrategyStep (EChangeTftFinished);
   924 				aContext.SetStrategyStep (EChangeTftFinished);
   904 				User::RequestComplete( aStatus, KErrNone);
   925 				User::RequestComplete( aStatus, KErrNone);
   905 				break;
   926 				break;
   906 				}
   927 				}
   907 				
   928 				
   908 			case EAddFirstTftStep:
   929 			case EAddFirstTftStep:
   909 				{
   930 				{
       
   931 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_7, "TChangeTftStrategy::Next() - EAddFirstTftStep, contextName = [%S]", aContext.Name());
   910 				TInt errV2 = aContext.FirstFilterV2();
   932 				TInt errV2 = aContext.FirstFilterV2();
   911 				if(errV2 == KErrNone)
   933 				if(errV2 == KErrNone)
   912 					{
   934 					{
   913 					if (aContext.ContextType() == SpudMan::EMbms)
   935 					if (aContext.ContextType() == SpudMan::EMbms)
   914 						{
   936 						{
       
   937                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_8, "TChangeTftStrategy::Next() - EAddFirstTftStep - MbmsPacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   915 						aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   938 						aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   916 						}
   939 						}
   917 					else
   940 					else
   918 						{	
   941 						{	
       
   942                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_9, "TChangeTftStrategy::Next() - EAddFirstTftStep - PacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   919 						aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   943 						aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   920 						}
   944 						}
   921 					aContext.SetStrategyStep (EAddTftStep);
   945 					aContext.SetStrategyStep (EAddTftStep);
   922 					}
   946 					}
   923 				else	// done
   947 				else	// done
   929 				break;
   953 				break;
   930 				}
   954 				}
   931 
   955 
   932 			case EAddTftStep:
   956 			case EAddTftStep:
   933 				{
   957 				{
       
   958 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_10, "TChangeTftStrategy::Next() - EAddTftStep, contextName = [%S]", aContext.Name());
   934 				TInt errV2 = aContext.NextFilterV2();
   959 				TInt errV2 = aContext.NextFilterV2();
   935 				if(errV2 == KErrNone)
   960 				if(errV2 == KErrNone)
   936 					{
   961 					{
   937 					if (aContext.ContextType() == SpudMan::EMbms)
   962 					if (aContext.ContextType() == SpudMan::EMbms)
   938 						{
   963 						{
       
   964                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_11, "TChangeTftStrategy::Next() - EAddFirstTftStep - MbmsPacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   939 						aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   965 						aContext.MbmsPacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   940 						}
   966 						}
   941 					else
   967 					else
   942 						{
   968 						{
       
   969                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_12, "TChangeTftStrategy::Next() - EAddFirstTftStep - PacketContext::AddPacketFilter(), contextName = [%S]", aContext.Name());
   943 						aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   970 						aContext.PacketContext().AddPacketFilter( *aStatus, aContext.FilterV2Pckg());
   944 						}
   971 						}
   945 					aContext.SetStrategyStep (EAddTftStep);
   972 					aContext.SetStrategyStep (EAddTftStep);
   946 					}
   973 					}
   947 				else	// done
   974 				else	// done
   953 				break;
   980 				break;
   954 				}
   981 				}
   955 
   982 
   956 			case ERemoveFirstTftStep:
   983 			case ERemoveFirstTftStep:
   957 				{
   984 				{
       
   985 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_13, "TChangeTftStrategy::Next() - ERemoveFirstTftStep, contextName = [%S]", aContext.Name());
   958 				TInt errV2 = aContext.FirstFilterV2();
   986 				TInt errV2 = aContext.FirstFilterV2();
   959 				if(errV2 == KErrNone)
   987 				if(errV2 == KErrNone)
   960 					{
   988 					{
   961 					if (aContext.ContextType() == SpudMan::EMbms)
   989 					if (aContext.ContextType() == SpudMan::EMbms)
   962 						{
   990 						{
       
   991                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_14, "TChangeTftStrategy::Next() - EAddFirstTftStep - MbmsPacketContext::RemovePacketFilter(), contextName = [%S]", aContext.Name());
   963 						aContext.MbmsPacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   992 						aContext.MbmsPacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   964 						}
   993 						}
   965 					else
   994 					else
   966 						{
   995 						{
       
   996                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_15, "TChangeTftStrategy::Next() - EAddFirstTftStep - PacketContext::RemovePacketFilter(), contextName = [%S]", aContext.Name());
   967 						aContext.PacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   997 						aContext.PacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   968 						}	
   998 						}	
   969 					aContext.SetStrategyStep (ERemoveTftStep);
   999 					aContext.SetStrategyStep (ERemoveTftStep);
   970 					}
  1000 					}
   971 				else	// done
  1001 				else	// done
   977 				break;
  1007 				break;
   978 				}
  1008 				}
   979 				
  1009 				
   980 			case ERemoveTftStep:
  1010 			case ERemoveTftStep:
   981 				{
  1011 				{
       
  1012 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_16, "TChangeTftStrategy::Next() - ERemoveTftStep, contextName = [%S]", aContext.Name());
   982 				TInt errV2 = aContext.NextFilterV2();
  1013 				TInt errV2 = aContext.NextFilterV2();
   983 				if(errV2 == KErrNone)
  1014 				if(errV2 == KErrNone)
   984 					{
  1015 					{
   985 					if (aContext.ContextType() == SpudMan::EMbms)
  1016 					if (aContext.ContextType() == SpudMan::EMbms)
   986 						{
  1017 						{
       
  1018                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_17, "TChangeTftStrategy::Next() - EAddFirstTftStep - MbmsPacketContext::RemovePacketFilter(), contextName = [%S]", aContext.Name());
   987 						aContext.MbmsPacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
  1019 						aContext.MbmsPacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   988 						}
  1020 						}
   989 					else
  1021 					else
   990 						{				
  1022 						{	
       
  1023                         OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_18, "TChangeTftStrategy::Next() - EAddFirstTftStep - PacketContext::RemovePacketFilter(), contextName = [%S]", aContext.Name());
   991 						aContext.PacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
  1024 						aContext.PacketContext().RemovePacketFilter( *aStatus, aContext.FilterV2().iId);
   992 						}
  1025 						}
   993 					aContext.SetStrategyStep (ERemoveTftStep);
  1026 					aContext.SetStrategyStep (ERemoveTftStep);
   994 					}
  1027 					}
   995 				else	// done
  1028 				else	// done
  1001 				break;
  1034 				break;
  1002 				}
  1035 				}
  1003 
  1036 
  1004 			case EChangeTftFinished:
  1037 			case EChangeTftFinished:
  1005 				{
  1038 				{
       
  1039 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_19, "TChangeTftStrategy::Next() - ERemoveTftStep, contextName = [%S]", aContext.Name());
  1006 				aContext.SetStrategyStep (EFinishStep);
  1040 				aContext.SetStrategyStep (EFinishStep);
  1007 				}
  1041 				}
  1008 				break;
  1042 				break;
  1009 
  1043 
  1010 				
  1044 				
  1011 			default:
  1045 			default:
  1012 				// unexpected
  1046 				// unexpected
  1013 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_6, "ERROR: Incorrect case");
  1047 				OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCHANGETFTSTRATEGY_NEXT_20, "TChangeTftStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
  1014 				ASSERT(EFalse);
  1048 				ASSERT(EFalse);
  1015 				err = KErrNotSupported;
  1049 				err = KErrNotSupported;
  1016 				break;
  1050 				break;
  1017 			}
  1051 			}
  1018 		}
  1052 		}
  1091 @param aContext - pdp context
  1125 @param aContext - pdp context
  1092 @param aStatus - request status of this step
  1126 @param aStatus - request status of this step
  1093 */
  1127 */
  1094 void TActivatePdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1128 void TActivatePdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1095 	{
  1129 	{
  1096 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next()");
       
  1097 	
       
  1098 	TInt err = KErrNone;
  1130 	TInt err = KErrNone;
  1099 	
  1131 	
  1100 	switch(aContext.StrategyStep())
  1132 	switch(aContext.StrategyStep())
  1101 		{
  1133 		{
  1102 		case EStartStep:
  1134 		case EStartStep:
  1103 			{
  1135 			{			 
  1104 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_3, "RPacketContext::Activate()");
  1136 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next() - EStartStep - RPacketContext::Activate(), contextName = [%S]", aContext.Name());
  1105 			aContext.PacketContext().Activate(*aStatus);
  1137 			aContext.PacketContext().Activate(*aStatus);
  1106 			aContext.SetStrategyStep (EActivateStep);
  1138 			aContext.SetStrategyStep (EActivateStep);
  1107 			break;
  1139 			break;
  1108 			}
  1140 			}
  1109 		
  1141 		
  1110 		case EActivateStep:
  1142 		case EActivateStep:
  1111 		case ENotifyStatusChange:
  1143 		case ENotifyStatusChange:
  1112 			{
  1144 			{
  1113             OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_4, "RPacketContext::GetStatus()");
  1145             OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_2, "TActivatePdpStrategy::Next() - ENotifyStatusChange - RPacketContext::GetStatus(), contextName = [%S]", aContext.Name());
  1114 
  1146 
  1115             if (aContext.PacketContext().GetStatus(aContext.ContextStatus()) != KErrNone)
  1147             if (aContext.PacketContext().GetStatus(aContext.ContextStatus()) != KErrNone)
  1116                 {
  1148                 {
  1117                 aContext.ContextStatus() = RPacketContext::EStatusInactive;
  1149                 aContext.ContextStatus() = RPacketContext::EStatusInactive;
  1118                 }
  1150                 }
  1119             
  1151             
  1120             switch (aContext.ContextStatus())
  1152             switch (aContext.ContextStatus())
  1121             	{
  1153             	{
  1122             	case RPacketContext::EStatusActive:
  1154             	case RPacketContext::EStatusActive:
       
  1155             	    OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_3, "TActivatePdpStrategy::Next() - ENotifyStatusChange - EStatusActive, contextName = [%S]", aContext.Name());
  1123                 	// Context is now active
  1156                 	// Context is now active
  1124     	            aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase());
  1157     	            aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextPacketDataConfigBase());
  1125     	            OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_5, "RPacketContext::GetConfig()");
  1158     	            OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_4, "TActivatePdpStrategy::Next() - ENotifyStatusChange - RPacketContext::GetConfig(), contextName = [%S]", aContext.Name());
  1126     				aContext.PacketContext().GetConfig (*aStatus, aContext.ContextConfig());
  1159     				aContext.PacketContext().GetConfig (*aStatus, aContext.ContextConfig());
  1127     				aContext.SetStrategyStep (EGetConfigStep);
  1160     				aContext.SetStrategyStep (EGetConfigStep);
  1128     				break;
  1161     				break;
  1129 
  1162 
  1130             	case RPacketContext::EStatusInactive:
  1163             	case RPacketContext::EStatusInactive:
  1131                     {
  1164                     {
       
  1165                     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_5, "TActivatePdpStrategy::Next() - ENotifyStatusChange - EStatusInactive - PacketContext::GetLastErrorCause(), contextName = [%S]", aContext.Name());
  1132                     // Context is inactive so find out why
  1166                     // Context is inactive so find out why
  1133                     TInt errTsy = KErrNone;
  1167                     TInt errTsy = KErrNone;
  1134                     TInt rc = aContext.PacketContext().GetLastErrorCause(errTsy);
  1168                     TInt rc = aContext.PacketContext().GetLastErrorCause(errTsy);
  1135                     if (rc == KErrNone)
  1169                     if (rc == KErrNone)
  1136                         {
  1170                         {
  1161                     break;
  1195                     break;
  1162                     }
  1196                     }
  1163             	
  1197             	
  1164             	default:
  1198             	default:
  1165             		// Not active, not inactive. Re-request the status and try again
  1199             		// Not active, not inactive. Re-request the status and try again
  1166                     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_6, "RPacketContext::NotifyStatusChange()");
  1200                     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_6, "TActivatePdpStrategy::Next() - ENotifyStatusChange - default - RPacketContext::NotifyStatusChange(), status = %d, contextName = [%S]", aContext.ContextStatus(), aContext.Name());
  1167                     aContext.PacketContext().NotifyStatusChange(*aStatus, aContext.ContextStatus());
  1201                     aContext.PacketContext().NotifyStatusChange(*aStatus, aContext.ContextStatus());
  1168                     aContext.SetStrategyStep (ENotifyStatusChange);
  1202                     aContext.SetStrategyStep (ENotifyStatusChange);
  1169                     break;
  1203                     break;
  1170                 }
  1204                 }
  1171 			break;
  1205 			break;
  1172 			}
  1206 			}
  1173 			
  1207 			
  1174 		case EGetConfigStep:
  1208 		case EGetConfigStep:
  1175 			{
  1209 			{
       
  1210 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_7, "TActivatePdpStrategy::Next() - EGetConfigStep, contextName = [%S]", aContext.Name());
  1176 			aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextPacketDataConfigBase());
  1211 			aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextPacketDataConfigBase());
  1177 			if (KPrimaryContextId == aContext.Id())
  1212 			if (KPrimaryContextId == aContext.Id())
  1178 				{
  1213 				{
       
  1214                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_8, "TActivatePdpStrategy::Next() - EGetConfigStep - PacketQoS::GetProfileParameters(), contextName = [%S]", aContext.Name());
  1179                 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());	
  1215                 aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());	
  1180 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1216 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1181                 aContext.DumpNegProfileParameters ();
  1217                 aContext.DumpNegProfileParameters ();
  1182 #endif
  1218 #endif
  1183                 aContext.SetStrategyStep (EGetProfileParamsStep);
  1219                 aContext.SetStrategyStep (EGetProfileParamsStep);
  1194             break;
  1230             break;
  1195 			}
  1231 			}
  1196 			
  1232 			
  1197 		case EGetProfileParamsStep:
  1233 		case EGetProfileParamsStep:
  1198 			{
  1234 			{
       
  1235 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_9, "TActivatePdpStrategy::Next() - EGetProfileParamsStep, contextName = [%S]", aContext.Name());
  1199 			// start notifications in case of normal creation of a context
  1236 			// start notifications in case of normal creation of a context
  1200 			// -- 	StatusChangeNotifier
  1237 			// -- 	StatusChangeNotifier
  1201 			// --	QoSChangeNotifier
  1238 			// --	QoSChangeNotifier
  1202 			// --	ConfigChangeNotifier
  1239 			// --	ConfigChangeNotifier
  1203 			aContext.StartNotifications();
  1240 			aContext.StartNotifications();
  1205 			break;
  1242 			break;
  1206 			}
  1243 			}
  1207 			
  1244 			
  1208 		default:
  1245 		default:
  1209 			// unexpected
  1246 			// unexpected
  1210 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_2, "ERROR: Incorrect case");
  1247 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEPDPSTRATEGY_NEXT_10, "TActivatePdpStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
  1211 			ASSERT(EFalse);
  1248 			ASSERT(EFalse);
  1212 			err = KErrNotSupported;
  1249 			err = KErrNotSupported;
  1213 			break;
  1250 			break;
  1214 		}
  1251 		}
  1215 		
  1252 		
  1310 @param aContext - pdp context
  1347 @param aContext - pdp context
  1311 @param aStatus - request status of this step
  1348 @param aStatus - request status of this step
  1312 */
  1349 */
  1313 void TGetNegQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1350 void TGetNegQoSStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1314 	{
  1351 	{
  1315 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_1, "TGetNegQoSStrategy::Next()");
       
  1316 	
       
  1317 	TInt err = KErrNone;
  1352 	TInt err = KErrNone;
  1318 	
  1353 	
  1319 	switch(aContext.StrategyStep())
  1354 	switch(aContext.StrategyStep())
  1320 		{
  1355 		{
  1321 		case EStartStep:
  1356 		case EStartStep:
  1322 			{
  1357 			{
       
  1358 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_1, "TGetNegQoSStrategy::Next() - EStartStep - PacketQoS::GetProfileParameters(), contextName = [%S]", aContext.Name());
  1323 			aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());
  1359 			aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());
  1324 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1360 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1325             aContext.DumpNegProfileParameters ();
  1361             aContext.DumpNegProfileParameters ();
  1326 #endif
  1362 #endif
  1327 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1363 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1328 			break;
  1364 			break;
  1329 			}
  1365 			}
  1330 
  1366 
  1331 		case EGetProfileParamsStep:
  1367 		case EGetProfileParamsStep:
  1332 			{
  1368 			{
       
  1369 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_2, "TGetNegQoSStrategy::Next() - EGetProfileParamsStep, contextName = [%S]", aContext.Name());
  1333 			aContext.SetStrategyStep (EFinishStep);
  1370 			aContext.SetStrategyStep (EFinishStep);
  1334 			break;
  1371 			break;
  1335 			}
  1372 			}
  1336 			
  1373 			
  1337 		default:
  1374 		default:
  1338 			// unexpected
  1375 			// unexpected
  1339 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_2, "ERROR: Incorrect case");
  1376 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TGETNEGQOSSTRATEGY_NEXT_3, "TGetNegQoSStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
  1340 			ASSERT(EFalse);
  1377 			ASSERT(EFalse);
  1341 			err = KErrNotSupported;
  1378 			err = KErrNotSupported;
  1342 			break;
  1379 			break;
  1343 		}
  1380 		}
  1344 		
  1381 		
  1414 @param aContext - pdp context
  1451 @param aContext - pdp context
  1415 @param aStatus - request status of this step
  1452 @param aStatus - request status of this step
  1416 */
  1453 */
  1417 void TModifyActiveStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1454 void TModifyActiveStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1418 	{
  1455 	{
  1419 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_1, "TModifyActiveStrategy::Next()");
       
  1420 	
       
  1421 	TInt err = KErrNone;
  1456 	TInt err = KErrNone;
  1422 	
  1457 	
  1423 	switch(aContext.StrategyStep())
  1458 	switch(aContext.StrategyStep())
  1424 		{
  1459 		{
  1425 		case EStartStep:
  1460 		case EStartStep:
  1426 			{
  1461 			{
  1427 			if (aContext.ContextType() != SpudMan::EMbms)
  1462 			if (aContext.ContextType() != SpudMan::EMbms)
  1428 				{
  1463 				{
       
  1464                  OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_1, "TModifyActiveStrategy::Next() - EStartStep - PacketContext::ModifyActiveContext(), contextName = [%S]", aContext.Name());
  1429 				aContext.PacketContext().ModifyActiveContext(*aStatus);
  1465 				aContext.PacketContext().ModifyActiveContext(*aStatus);
  1430 				aContext.SetStrategyStep (EModifyActiveStep);
  1466 				aContext.SetStrategyStep (EModifyActiveStep);
  1431 				}
  1467 				}
  1432 			else
  1468 			else
  1433 				{
  1469 				{
       
  1470                  OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_2, "TModifyActiveStrategy::Next() - EStartStep - MbmsPacketContext::ModifyActiveContext(), contextName = [%S]", aContext.Name());
  1434 				aContext.MbmsPacketContext().ModifyActiveContext(*aStatus);
  1471 				aContext.MbmsPacketContext().ModifyActiveContext(*aStatus);
  1435 				aContext.SetStrategyStep (EGetProfileParamsStep);
  1472 				aContext.SetStrategyStep (EGetProfileParamsStep);
  1436 				}	
  1473 				}	
  1437 			//aContext.SetStrategyStep (EModifyActiveStep);
  1474 			//aContext.SetStrategyStep (EModifyActiveStep);
  1438 			break;
  1475 			break;
  1439 			}
  1476 			}
  1440 		
  1477 		
  1441 		case EModifyActiveStep:
  1478 		case EModifyActiveStep:
  1442 			{
  1479 			{
       
  1480 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_3, "TModifyActiveStrategy::Next() - EModifyActiveStep - PacketQoS::GetProfileParameters(), contextName = [%S]", aContext.Name());
  1443 			aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());
  1481 			aContext.PacketQoS().GetProfileParameters (*aStatus, aContext.QosNegotiatedPckg());
  1444 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1482 #if (OST_TRACE_CATEGORY & OST_TRACE_CATEGORY_DEBUG)
  1445             aContext.DumpNegProfileParameters ();
  1483             aContext.DumpNegProfileParameters ();
  1446 #endif
  1484 #endif
  1447 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1485 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1448 			break;
  1486 			break;
  1449 			}
  1487 			}
  1450 			
  1488 			
  1451 		case EGetProfileParamsStep:
  1489 		case EGetProfileParamsStep:
  1452 			{
  1490 			{
       
  1491 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_4, "TModifyActiveStrategy::Next() - EGetProfileParamsStep, contextName = [%S]", aContext.Name());
  1453 			aContext.SetStrategyStep (EFinishStep);
  1492 			aContext.SetStrategyStep (EFinishStep);
  1454 			break;
  1493 			break;
  1455 			}
  1494 			}
  1456 			
  1495 			
  1457 		default:
  1496 		default:
  1458 			// unexpected
  1497 			// unexpected
  1459 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_2, "ERROR: Incorrect case");
  1498 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMODIFYACTIVESTRATEGY_NEXT_5, "TModifyActiveStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());
  1460 			ASSERT(EFalse);
  1499 			ASSERT(EFalse);
  1461 			err = KErrNotSupported;
  1500 			err = KErrNotSupported;
  1462 			break;
  1501 			break;
  1463 		}
  1502 		}
  1464 		
  1503 		
  1532 			break;
  1571 			break;
  1533 		}
  1572 		}
  1534 	}
  1573 	}
  1535 
  1574 
  1536 
  1575 
  1537 
       
  1538 
       
  1539 
       
  1540 
       
  1541 
       
  1542 
       
  1543 // 
  1576 // 
  1544 //	TCreateMbmsPdpContextStrategy 
  1577 //	TCreateMbmsPdpContextStrategy 
  1545 //
  1578 //
  1546 /** Executes next asynchronous step in a strategy. 
  1579 /** Executes next asynchronous step in a strategy. 
  1547 
  1580 
  1548 @param aContext - pdp context
  1581 @param aContext - pdp context
  1549 @param aStatus - request status of this step
  1582 @param aStatus - request status of this step
  1550 */
  1583 */
  1551 void TCreateMbmsPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1584 void TCreateMbmsPdpContextStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1552 	{
  1585 	{
  1553 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_1, "TCreateMbmsPdpContextStrategy::Next()");
       
  1554 	
       
  1555 	TInt err = KErrNone;
  1586 	TInt err = KErrNone;
  1556 	
  1587 	
  1557 	// possible steps:
  1588 	// possible steps:
  1558 	// 	-- open new context
  1589 	// 	-- open new context
  1559 	// -- Set session information
  1590 	// -- Set session information
  1560 	// 	-- initialise context
  1591 	// 	-- initialise context
  1561 	switch(aContext.StrategyStep())
  1592 	switch(aContext.StrategyStep())
  1562 		{
  1593 		{
  1563 		case EStartStep:
  1594 		case EStartStep:
  1564 			{
  1595 			{
       
  1596 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_1, "TCreateMbmsPdpContextStrategy::Next() - EStartStep - MbmsPacketContext::OpenNewContext()");
  1565 			err = aContext.MbmsPacketContext().OpenNewContext (aContext.PacketService(), aContext.Name());
  1597 			err = aContext.MbmsPacketContext().OpenNewContext (aContext.PacketService(), aContext.Name());
  1566 			if (err)
  1598 			if (err)
  1567 				{
  1599 				{
  1568 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_2, "PacketContextOpenNewContext returned for MBMS %d", err);
  1600 				OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_2, "TCreateMbmsPdpContextStrategy::Next() - EStartStep - PacketContextOpenNewContext returned for MBMS %d, contextName = [%S]", err, aContext.Name());
  1569 				break;
  1601 				break;
  1570 				}
  1602 				}
  1571 				
  1603 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_3, "TCreateMbmsPdpContextStrategy::Next() - EStartStep - MbmsPacketContext::InitialiseContext(), contextName = [%S]", aContext.Name());	
  1572 			aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
  1604 			aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());						
  1573 			aContext.SetStrategyStep (EInitialiseContextStep);
  1605 			aContext.SetStrategyStep (EInitialiseContextStep);
  1574 			break;
  1606 			break;
  1575 			}
  1607 			}
  1576 			
  1608 			
  1577 		case EInitialiseContextStep:
  1609 		case EInitialiseContextStep:
  1578 			{
  1610 			{
       
  1611 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_4, "TCreateMbmsPdpContextStrategy::Next() - EInitialiseContextStep - MbmsPacketContext::SetConfig(), contextName = [%S]", aContext.Name());    
  1579 			// get mbms packet config from fsm
  1612 			// get mbms packet config from fsm
  1580 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextConfigMbms());
  1613 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextConfigMbms());
  1581 			// async set config
  1614 			// async set config
  1582 			aContext.MbmsPacketContext().SetConfig (*aStatus, aContext.ContextConfigMbmsPckg());
  1615 			aContext.MbmsPacketContext().SetConfig (*aStatus, aContext.ContextConfigMbmsPckg());
  1583 			// set next step
  1616 			// set next step
  1584 			aContext.SetStrategyStep (ESetConfigStep);
  1617 			aContext.SetStrategyStep (ESetConfigStep);
  1585 			break;
  1618 			break;
  1586 			}
  1619 			}
  1587 		case ESetConfigStep:
  1620 		case ESetConfigStep:
       
  1621 		    OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_5, "TCreateMbmsPdpContextStrategy::Next() - ESetConfigStep, contextName = [%S]", aContext.Name());    
  1588 			aContext.SetStrategyStep (EFinishStep);
  1622 			aContext.SetStrategyStep (EFinishStep);
  1589 			break;	
  1623 			break;	
  1590 	
  1624 	
  1591 		default:
  1625 		default:
  1592 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_3, "ERROR: Incorrect case");
  1626 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TCREATEMBMSPDPCONTEXTSTRATEGY_NEXT_6, "TCreateMbmsPdpContextStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());    
  1593 			ASSERT(EFalse);
  1627 			ASSERT(EFalse);
  1594 			err = KErrNotSupported;
  1628 			err = KErrNotSupported;
  1595 			break;
  1629 			break;
  1596 		}
  1630 		}
  1597 		
  1631 		
  1657 @param aContext - pdp context
  1691 @param aContext - pdp context
  1658 @param aStatus - request status of this step
  1692 @param aStatus - request status of this step
  1659 */
  1693 */
  1660 void TActivateMbmsPdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1694 void TActivateMbmsPdpStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1661 	{
  1695 	{
  1662 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next()");
       
  1663 	
       
  1664 	TInt err = KErrNone;
  1696 	TInt err = KErrNone;
  1665 	
  1697 	
  1666 	switch(aContext.StrategyStep())
  1698 	switch(aContext.StrategyStep())
  1667 		{
  1699 		{
  1668 		case EStartStep:
  1700 		case EStartStep:
  1669 			{
  1701 			{
       
  1702 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_1, "TActivatePdpStrategy::Next() - EStartStep - MbmsPacketContext::Activate(), contextName = [%S]", aContext.Name());    
  1670 			aContext.MbmsPacketContext().Activate(*aStatus);
  1703 			aContext.MbmsPacketContext().Activate(*aStatus);
  1671 			aContext.SetStrategyStep (EActivateStep);
  1704 			aContext.SetStrategyStep (EActivateStep);
  1672 			break;
  1705 			break;
  1673 			}
  1706 			}
  1674 		
  1707 		
  1675 		case EActivateStep:
  1708 		case EActivateStep:
  1676 			{
  1709 			{
       
  1710 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_2, "TActivatePdpStrategy::Next() - EActivateStep - MbmsPacketContext::GetConfig(), contextName = [%S]", aContext.Name());    
  1677 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextConfigMbms());
  1711 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.ContextConfigMbms());
  1678 			aContext.MbmsPacketContext().GetConfig (*aStatus, aContext.ContextConfigMbmsPckg());
  1712 			aContext.MbmsPacketContext().GetConfig (*aStatus, aContext.ContextConfigMbmsPckg());
  1679 			aContext.SetStrategyStep (EGetConfigStep);
  1713 			aContext.SetStrategyStep (EGetConfigStep);
  1680 			break;
  1714 			break;
  1681 			}
  1715 			}
  1682 			
  1716 			
  1683 		case EGetConfigStep:
  1717 		case EGetConfigStep:
  1684 			{
  1718 			{
       
  1719 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_3, "TActivatePdpStrategy::Next() - EGetConfigStep - MbmsPacketContext::InitialiseContext(), contextName = [%S]", aContext.Name());    
  1685 			aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextConfigMbms());
  1720 			aContext.PdpFsmInterface().Set (aContext.Id(), aContext.ContextConfigMbms());
  1686 			aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());
  1721 			aContext.MbmsPacketContext().InitialiseContext(*aStatus, aContext.DataChannelV2Pckg());
  1687 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1722 			aContext.SetStrategyStep (EGetProfileParamsStep);
  1688 			break;
  1723 			break;
  1689 			}
  1724 			}
  1690 
  1725 
  1691 				
  1726 				
  1692 		case EGetProfileParamsStep:
  1727 		case EGetProfileParamsStep:
  1693 			{
  1728 			{
       
  1729 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_4, "TActivatePdpStrategy::Next() - EGetProfileParamsStep, contextName = [%S]", aContext.Name());    
  1694 			// start notifications in case of normal creation of a context
  1730 			// start notifications in case of normal creation of a context
  1695 			// -- 	StatusChangeNotifier
  1731 			// -- 	StatusChangeNotifier
  1696 			// --	QoSChangeNotifier
  1732 			// --	QoSChangeNotifier
  1697 			// --	ConfigChangeNotifier
  1733 			// --	ConfigChangeNotifier
  1698 			aContext.StartNotifications();
  1734 			aContext.StartNotifications();
  1700 			break;
  1736 			break;
  1701 			}
  1737 			}
  1702 			
  1738 			
  1703 		default:
  1739 		default:
  1704 			// unexpected
  1740 			// unexpected
  1705 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_2, "ERROR: Incorrect case");
  1741 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TACTIVATEMBMSPDPSTRATEGY_NEXT_5, "TActivatePdpStrategy::Next() - ERROR: Incorrect case, contextName = [%S]", aContext.Name());    
  1706 			ASSERT(EFalse);
  1742 			ASSERT(EFalse);
  1707 			err = KErrNotSupported;
  1743 			err = KErrNotSupported;
  1708 			break;
  1744 			break;
  1709 		}
  1745 		}
  1710 		
  1746 		
  1786 @param aContext - pdp context
  1822 @param aContext - pdp context
  1787 @param aStatus - request status of this step
  1823 @param aStatus - request status of this step
  1788 */	
  1824 */	
  1789 void TMbmsSessionUpdateStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1825 void TMbmsSessionUpdateStrategy::Next(CEtelDriverContext& aContext, TRequestStatus* aStatus)
  1790 	{
  1826 	{
  1791 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_1, "TMbmsSessionUpdateStrategy::Next()");
       
  1792 	
       
  1793 	TInt err = KErrNone;
  1827 	TInt err = KErrNone;
  1794 	switch(aContext.StrategyStep())
  1828 	switch(aContext.StrategyStep())
  1795 		{
  1829 		{
  1796 		case EStartStep:
  1830 		case EStartStep:
  1797 			{
  1831 			{
       
  1832 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_1, "TMbmsSessionUpdateStrategy::Next() - EStartStep, contextName = [%S]", aContext.Name());    
  1798 			TInt sessionId=KErrNotFound;
  1833 			TInt sessionId=KErrNotFound;
  1799 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.GetSessionInfo());
  1834 			aContext.PdpFsmInterface().Get (aContext.Id(), aContext.GetSessionInfo());
  1800 			TSessionOperatioInfo sessionInfo = aContext.GetSessionInfo();
  1835 			TSessionOperatioInfo sessionInfo = aContext.GetSessionInfo();
  1801 			TInt count=sessionInfo.iSessionIds.Count();
  1836 			TInt count=sessionInfo.iSessionIds.Count();
  1802 			TInt curSessionIndex = aContext.GetSessionIndex();
  1837 			TInt curSessionIndex = aContext.GetSessionIndex();
  1811 				aContext.SetSessionIndex(0);	//reset index
  1846 				aContext.SetSessionIndex(0);	//reset index
  1812 				}
  1847 				}
  1813 			if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::EAddSession) 
  1848 			if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::EAddSession) 
  1814 				  && (sessionId != KErrNotFound))
  1849 				  && (sessionId != KErrNotFound))
  1815 				{
  1850 				{
       
  1851                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_2, "TMbmsSessionUpdateStrategy::Next() - EStartStep - MbmsPacketContext::UpdateMbmsSessionList() with EAddEntries, contextName = [%S]", aContext.Name());    
  1816 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,EAddEntries,sessionId);
  1852 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,EAddEntries,sessionId);
  1817 				break;
  1853 				break;
  1818 				}
  1854 				}
  1819 			else if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::ERemoveSession) 
  1855 			else if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::ERemoveSession) 
  1820 					&& (sessionId != KErrNotFound))
  1856 					&& (sessionId != KErrNotFound))
  1821 				{
  1857 				{
       
  1858                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_3, "TMbmsSessionUpdateStrategy::Next() - EStartStep - MbmsPacketContext::UpdateMbmsSessionList() with ERemoveEntries, contextName = [%S]", aContext.Name());   
  1822 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,ERemoveEntries,sessionId);
  1859 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,ERemoveEntries,sessionId);
  1823 				break;
  1860 				break;
  1824 				}
  1861 				}
  1825 			else if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::ERemoveAll) 
  1862 			else if ((sessionInfo.iOperation == CSubConMBMSExtensionParamSet::ERemoveAll) 
  1826 					&& (sessionId != KErrNotFound))
  1863 					&& (sessionId != KErrNotFound))
  1827 				{
  1864 				{
       
  1865                 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_4, "TMbmsSessionUpdateStrategy::Next() - EStartStep - MbmsPacketContext::UpdateMbmsSessionList() with ERemoveAllEntries, contextName = [%S]", aContext.Name());   
  1828 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,ERemoveAllEntries,sessionId);
  1866 				aContext.MbmsPacketContext().UpdateMbmsSessionList(*aStatus,ERemoveAllEntries,sessionId);
  1829 				aContext.SetStrategyStep(EUpdateMbmsSessionList);	
  1867 				aContext.SetStrategyStep(EUpdateMbmsSessionList);	
  1830 				break;
  1868 				break;
  1831 				}
  1869 				}
  1832 			//proper session operation is not supplied or the list is empty..
  1870 			//proper session operation is not supplied or the list is empty..
  1840 					
  1878 					
  1841 			} 
  1879 			} 
  1842 
  1880 
  1843 		case EUpdateMbmsSessionList:
  1881 		case EUpdateMbmsSessionList:
  1844 			{
  1882 			{
       
  1883 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_5, "TMbmsSessionUpdateStrategy::Next() - EUpdateMbmsSessionList - CRetrievePcktMbmsSessionList::Start(), contextName = [%S]", aContext.Name());  
  1845 			TRAP_IGNORE(aContext.SetMbmsSession(RPacketMbmsContext::CMbmsSession::NewL()));
  1884 			TRAP_IGNORE(aContext.SetMbmsSession(RPacketMbmsContext::CMbmsSession::NewL()));
  1846 			TRAP_IGNORE(aContext.SetRetrievePcktMbmsSessionList(CRetrievePcktMbmsSessionList::NewL(aContext.MbmsPacketContext(),*aContext.MbmsSession())));
  1885 			TRAP_IGNORE(aContext.SetRetrievePcktMbmsSessionList(CRetrievePcktMbmsSessionList::NewL(aContext.MbmsPacketContext(),*aContext.MbmsSession())));
  1847 			aContext.RetrievePcktMbmsSessionList()->Start(*aStatus);
  1886 			aContext.RetrievePcktMbmsSessionList()->Start(*aStatus);
  1848 			aContext.SetStrategyStep(EPrepareSessionList);	
  1887 			aContext.SetStrategyStep(EPrepareSessionList);	
  1849 			break;
  1888 			break;
  1850 			}
  1889 			}
  1851 			
  1890 			
  1852 		case EPrepareSessionList:
  1891 		case EPrepareSessionList:
  1853 			{
  1892 			{
       
  1893 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_6, "TMbmsSessionUpdateStrategy::Next() - EPrepareSessionList, contextName = [%S]", aContext.Name());  
  1854 			RPacketMbmsContext::CMbmsSession *mbmsSession =	aContext.MbmsSession();
  1894 			RPacketMbmsContext::CMbmsSession *mbmsSession =	aContext.MbmsSession();
  1855 			if (mbmsSession)
  1895 			if (mbmsSession)
  1856 				{
  1896 				{
  1857 				TSessionOperatioInfo sessionInfo;
  1897 				TSessionOperatioInfo sessionInfo;
  1858 				sessionInfo.iSessionIds = mbmsSession->iSessionIdList;
  1898 				sessionInfo.iSessionIds = mbmsSession->iSessionIdList;
  1867 			aContext.SetStrategyStep(EFinishStep);	
  1907 			aContext.SetStrategyStep(EFinishStep);	
  1868 			break;
  1908 			break;
  1869 			}
  1909 			}
  1870 		
  1910 		
  1871 		default: 
  1911 		default: 
       
  1912 		    OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, TMBMSSESSIONUPDATESTRATEGY_NEXT_7, "TMbmsSessionUpdateStrategy::Next() - default, contextName = [%S]", aContext.Name());  
  1872 			CRetrievePcktMbmsSessionList *retrievePktMbmsSessionList=aContext.RetrievePcktMbmsSessionList();
  1913 			CRetrievePcktMbmsSessionList *retrievePktMbmsSessionList=aContext.RetrievePcktMbmsSessionList();
  1873 			if (retrievePktMbmsSessionList)
  1914 			if (retrievePktMbmsSessionList)
  1874 				delete retrievePktMbmsSessionList;
  1915 				delete retrievePktMbmsSessionList;
  1875 			RPacketMbmsContext::CMbmsSession *mbmsSession =	aContext.MbmsSession();	
  1916 			RPacketMbmsContext::CMbmsSession *mbmsSession =	aContext.MbmsSession();	
  1876 			if (mbmsSession)
  1917 			if (mbmsSession)