telephonyprotocols/pdplayer/src/pdpmcpr.cpp
changeset 73 70d75957b98f
parent 69 b982c3e940f3
equal deleted inserted replaced
69:b982c3e940f3 73:70d75957b98f
    84 	}
    84 	}
    85 
    85 
    86 CPdpErrorRecoveryActivity::CPdpErrorRecoveryActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode, TUint aActivitiesCount)
    86 CPdpErrorRecoveryActivity::CPdpErrorRecoveryActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode, TUint aActivitiesCount)
    87 :	MeshMachine::CNodeParallelActivityBase(aActivitySig, aNode, aActivitiesCount)
    87 :	MeshMachine::CNodeParallelActivityBase(aActivitySig, aNode, aActivitiesCount)
    88 	{
    88 	{
       
    89     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPERRORRECOVERYACTIVITY_CONSTRUCTOR_1, "Constructor");
    89 	}
    90 	}
    90 	
    91 	
    91 CPdpErrorRecoveryActivity::~CPdpErrorRecoveryActivity()
    92 CPdpErrorRecoveryActivity::~CPdpErrorRecoveryActivity()
    92 	{	
    93 	{
       
    94     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPERRORRECOVERYACTIVITY_DESTRUCTOR_1, "Destructor");
    93 	}
    95 	}
    94 }
    96 }
    95 
    97 
    96 //-=========================================================
    98 //-=========================================================
    97 //
    99 //
   141         // the PDP layer MCPR is being used in conjunction with a PDP.SCPR
   143         // the PDP layer MCPR is being used in conjunction with a PDP.SCPR
   142         // in this case we can rightly assume that the PDP.SCPR will create
   144         // in this case we can rightly assume that the PDP.SCPR will create
   143         // the access point config for that connection.
   145         // the access point config for that connection.
   144         // code from the PDP.SCPR will need to be moved into the PDP.CPR when
   146         // code from the PDP.SCPR will need to be moved into the PDP.CPR when
   145         // that component becomes available for use.
   147         // that component becomes available for use.
       
   148         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONSTRUCTL_1, "Configuring PDP SCPR specific information");
   146         ConfigurePDPLayerL();
   149         ConfigurePDPLayerL();
   147         }
   150         }
   148     else
   151     else
   149         {
   152         {
   150         // non-PDP.SCPR specific behaviour
   153         // non-PDP.SCPR specific behaviour
   151         // this is legacy for any layers that are constructed expecting the previous behaviour
   154         // this is legacy for any layers that are constructed expecting the previous behaviour
       
   155         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONSTRUCTL_2, "Non-PDP SCPR used...Configuring Non-PDP SCPR specific information");
   152         SetAccessPointConfigFromDbL();
   156         SetAccessPointConfigFromDbL();
   153         }
   157         }
   154     }
   158     }
   155 
   159 
   156 CPdpMetaConnectionProvider::CPdpMetaConnectionProvider(CMetaConnectionProviderFactoryBase& aFactory, const TProviderInfo& aProviderInfo)
   160 CPdpMetaConnectionProvider::CPdpMetaConnectionProvider(CMetaConnectionProviderFactoryBase& aFactory, const TProviderInfo& aProviderInfo)
   157 :	CAgentMetaConnectionProvider(aFactory, aProviderInfo, PdpMCprStates::stateMap::Self())
   161 :	CAgentMetaConnectionProvider(aFactory, aProviderInfo, PdpMCprStates::stateMap::Self())
   158 	{
   162 	{
   159 	LOG_NODE_CREATE(KPdpMCprSubTag, CPdpMetaConnectionProvider);
   163 	LOG_NODE_CREATE(KPdpMCprSubTag, CPdpMetaConnectionProvider);
       
   164 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONSTRUCTOR_1, "Constructor");
   160 	}
   165 	}
   161 
   166 
   162 CPdpMetaConnectionProvider::~CPdpMetaConnectionProvider()
   167 CPdpMetaConnectionProvider::~CPdpMetaConnectionProvider()
   163 	{
   168 	{
   164 	CPdpMetaConnectionProvider::CancelAvailabilityMonitoring(); //Don't call virtual for obvious reasons!
   169 	CPdpMetaConnectionProvider::CancelAvailabilityMonitoring(); //Don't call virtual for obvious reasons!
   165 	LOG_NODE_DESTROY(KPdpMCprSubTag, CPdpMetaConnectionProvider);
   170 	LOG_NODE_DESTROY(KPdpMCprSubTag, CPdpMetaConnectionProvider);
       
   171 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_DESTRUCTOR_1, "Destructor");
   166 	}
   172 	}
   167 
   173 
   168 void CPdpMetaConnectionProvider::ReceivedL(const TRuntimeCtxId& aSender, const TNodeId& aRecipient, TSignatureBase& aMessage)
   174 void CPdpMetaConnectionProvider::ReceivedL(const TRuntimeCtxId& aSender, const TNodeId& aRecipient, TSignatureBase& aMessage)
   169     {
   175     {
   170     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_RECEIVEDL_1, "CPdpMetaConnectionProvider [this=%08x]::ReceivedL() aMessage=%d",(TUint)this, aMessage.MessageId().MessageId());
   176     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_RECEIVEDL_1, "Realm Id [%u] Message Id [%u]", aMessage.MessageId().Realm(), aMessage.MessageId().MessageId());
   171 
   177 
   172 	ESOCK_DEBUG_MESSAGE_INTERCEPT(aSender, aMessage, aRecipient);
   178 	ESOCK_DEBUG_MESSAGE_INTERCEPT(aSender, aMessage, aRecipient);
   173 
   179 
   174 	TNodeContext<CPdpMetaConnectionProvider> ctx(*this, aMessage, aSender, aRecipient);
   180 	TNodeContext<CPdpMetaConnectionProvider> ctx(*this, aMessage, aSender, aRecipient);
   175     CCoreMetaConnectionProvider::Received(ctx);
   181     CCoreMetaConnectionProvider::Received(ctx);
   273 	CleanupStack::PopAndDestroy(&mec);
   279 	CleanupStack::PopAndDestroy(&mec);
   274 	}
   280 	}
   275 
   281 
   276 void CPdpMetaConnectionProvider::StartAvailabilityMonitoringL(const TNodeCtxId& aAvailabilityActivity)
   282 void CPdpMetaConnectionProvider::StartAvailabilityMonitoringL(const TNodeCtxId& aAvailabilityActivity)
   277 	{
   283 	{
       
   284     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_STARTAVAILABILITYMONITORINGL_1, "Start Monitoring PSD Availability");
   278 	ASSERT(iAvailabilityListener==NULL); //Only one start allowed from the av activity!
   285 	ASSERT(iAvailabilityListener==NULL); //Only one start allowed from the av activity!
   279 	const CTSYProvision& config = static_cast<const CTSYProvision&>(AccessPointConfig().FindExtensionL(STypeId::CreateSTypeId(CTSYProvision::EUid, CTSYProvision::ETypeId)));
   286 	const CTSYProvision& config = static_cast<const CTSYProvision&>(AccessPointConfig().FindExtensionL(STypeId::CreateSTypeId(CTSYProvision::EUid, CTSYProvision::ETypeId)));
   280 	iAvailabilityListener = CPsdAvailabilityListener::NewL(aAvailabilityActivity, config, ProviderInfo().APId(), GetTierManager()->IsUnavailableDueToContention(this));
   287 	iAvailabilityListener = CPsdAvailabilityListener::NewL(aAvailabilityActivity, config, ProviderInfo().APId(), GetTierManager()->IsUnavailableDueToContention(this));
   281 	AddClientL(iAvailabilityListener->Id(), TClientType(TCFClientType::ERegistrar, TCFClientType::EAvailabilityProvider));
   288 	AddClientL(iAvailabilityListener->Id(), TClientType(TCFClientType::ERegistrar, TCFClientType::EAvailabilityProvider));
   282 	}
   289 	}
   283 
   290 
   284 void CPdpMetaConnectionProvider::CancelAvailabilityMonitoring()
   291 void CPdpMetaConnectionProvider::CancelAvailabilityMonitoring()
   285 	{
   292 	{
       
   293     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CANCELAVAILABILITYMONITORINGL_1, "Cancel Monitoring PSD Availability");
   286 	if (iAvailabilityListener)
   294 	if (iAvailabilityListener)
   287 		{
   295 		{
   288 		RemoveClient(iAvailabilityListener->Id());
   296 		RemoveClient(iAvailabilityListener->Id());
   289 		iAvailabilityListener = NULL; //iAvailabilityListener will delete itself when cancelled from the availability activity
   297 		iAvailabilityListener = NULL; //iAvailabilityListener will delete itself when cancelled from the availability activity
   290 		}
   298 		}
   293 #ifdef SYMBIAN_NETWORKING_CONTENTION_MANAGEMENT
   301 #ifdef SYMBIAN_NETWORKING_CONTENTION_MANAGEMENT
   294 void CPdpMetaConnectionProvider::ContentionOccured()
   302 void CPdpMetaConnectionProvider::ContentionOccured()
   295 	{
   303 	{
   296 	// Send a stop request to the stop activity.
   304 	// Send a stop request to the stop activity.
   297 	TInt stopCode = KErrConnectionContention;
   305 	TInt stopCode = KErrConnectionContention;
       
   306 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONTENTIONOCCURED_1, "Contention Occured: Error Code [%d]", stopCode);
   298 	RClientInterface::OpenPostMessageClose(NodeId(), NodeId(), TCFDataClient::TStop(stopCode).CRef());
   307 	RClientInterface::OpenPostMessageClose(NodeId(), NodeId(), TCFDataClient::TStop(stopCode).CRef());
   299 	}
   308 	}
   300 
   309 
   301 void CPdpMetaConnectionProvider::ContentionResolved(const Messages::TNodeId& aPendingCprId, TBool aResult)
   310 void CPdpMetaConnectionProvider::ContentionResolved(const Messages::TNodeId& aPendingCprId, TBool aResult)
   302 	{
   311 	{
       
   312     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONTENTIONRESOLVED_1, "Contention Resolved: Result [%d]", aResult);
   303 	TPDPMessages::TPdpContentionResultMessage msg(aPendingCprId, aResult);
   313 	TPDPMessages::TPdpContentionResultMessage msg(aPendingCprId, aResult);
   304 	TRAP_IGNORE(ReceivedL(TNodeId(Id()), TNodeId(Id()), msg));
   314 	TRAP_IGNORE(ReceivedL(TNodeId(Id()), TNodeId(Id()), msg));
   305 	}
   315 	}
   306 
   316 
   307 
   317 
   308 void CPdpMetaConnectionProvider::ReportContentionAvailabilityStatus(const TAvailabilityStatus& aAvailabilityStatus) const
   318 void CPdpMetaConnectionProvider::ReportContentionAvailabilityStatus(const TAvailabilityStatus& aAvailabilityStatus) const
   309 	{
   319 	{
   310 	if (iAvailabilityListener)
   320     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CPDPMETACONNECTIONPROVIDER_CONTENTIONAVAILABILITYSTATUS_1, "Contention Availability Status [%d]", aAvailabilityStatus.Score());
       
   321     if (iAvailabilityListener)
   311 		{
   322 		{
   312 		iAvailabilityListener->ReportContentionAvailabilityStatusIfRequired(aAvailabilityStatus);
   323 		iAvailabilityListener->ReportContentionAvailabilityStatusIfRequired(aAvailabilityStatus);
   313 		}
   324 		}
   314 	}
   325 	}
   315 #endif
   326 #endif