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 |