equal
deleted
inserted
replaced
281 |
281 |
282 DTestResManLddFactory::~DTestResManLddFactory() |
282 DTestResManLddFactory::~DTestResManLddFactory() |
283 { |
283 { |
284 if(iDfcQ) |
284 if(iDfcQ) |
285 iDfcQ->Destroy(); |
285 iDfcQ->Destroy(); |
286 if(iStaticRes) |
|
287 delete iStaticRes; |
|
288 if(iStaticResArray[0]) |
|
289 delete iStaticResArray[0]; |
|
290 if(iStaticResArray[2]) |
|
291 delete iStaticResArray[2]; |
|
292 } |
286 } |
293 |
287 |
294 /** Entry point for this driver */ |
288 /** Entry point for this driver */ |
295 DECLARE_STANDARD_LDD() |
289 DECLARE_STANDARD_LDD() |
296 { |
290 { |
317 p->iDfcQ->Destroy(); |
311 p->iDfcQ->Destroy(); |
318 p->AsyncDelete(); |
312 p->AsyncDelete(); |
319 return NULL; |
313 return NULL; |
320 } |
314 } |
321 //Allocating memory earlier so that during failure conditions can cleanup easily |
315 //Allocating memory earlier so that during failure conditions can cleanup easily |
322 p->iStaticRes = new DLaterRegisterStaticResource(); |
316 p->iStaticRes = new DLaterRegisterStaticResource(); // it will be registered, and later destroyed by the ResourceManager |
323 if(!p->iStaticRes) |
317 if(!p->iStaticRes) |
324 { |
318 { |
325 delete p->iClient.pName; |
319 delete p->iClient.pName; |
326 p->iDfcQ->Destroy(); |
320 p->iDfcQ->Destroy(); |
327 p->AsyncDelete(); |
321 p->AsyncDelete(); |
328 return NULL; |
322 return NULL; |
329 } |
323 } |
330 p->iStaticResArray[0] = new DLaterRegisterStaticResource1(); |
324 p->iStaticResArray[0] = new DLaterRegisterStaticResource1(); // it will be registered, and later destroyed by the ResourceManager |
331 if(!p->iStaticResArray[0]) |
325 if(!p->iStaticResArray[0]) |
332 { |
326 { |
333 delete p->iStaticRes; |
327 delete p->iStaticRes; |
334 delete p->iClient.pName; |
328 delete p->iClient.pName; |
335 p->iDfcQ->Destroy(); |
329 p->iDfcQ->Destroy(); |
1335 iPostBootNotiCount++; |
1329 iPostBootNotiCount++; |
1336 DPowerResourceNotification *ptr = (DPowerResourceNotification*)aParam; |
1330 DPowerResourceNotification *ptr = (DPowerResourceNotification*)aParam; |
1337 TInt r = PowerResourceManager::CancelNotification(iClient.iClientId, aResId, *ptr); |
1331 TInt r = PowerResourceManager::CancelNotification(iClient.iClientId, aResId, *ptr); |
1338 if(r == KErrCancel) |
1332 if(r == KErrCancel) |
1339 { |
1333 { |
1340 delete ptr; |
1334 ptr->AsyncDelete(); |
1341 if(iPostBootNotiCount == EXPECTED_POST_NOTI_COUNT) |
1335 if(iPostBootNotiCount == EXPECTED_POST_NOTI_COUNT) |
1342 { |
1336 { |
1343 r = PowerResourceManager::DeRegisterClient(DTestResManLddFactory::iClient.iClientId); |
1337 r = PowerResourceManager::DeRegisterClient(DTestResManLddFactory::iClient.iClientId); |
1344 if(r != KErrNone) |
1338 if(r != KErrNone) |
1345 Kern::Fault("PRM CLIENT DEREGISTER FAILED", __LINE__); |
1339 Kern::Fault("PRM CLIENT DEREGISTER FAILED", __LINE__); |