uifw/AknGlobalUI/AknNfySrv/src/AknNfySrv.cpp
branchRCL_3
changeset 38 c52421ed5f07
parent 0 2f259fa3e83a
child 55 aecbbf00d063
equal deleted inserted replaced
29:a8834a2e9a96 38:c52421ed5f07
    18 #include <AknNotifierWrapperDefs.h>
    18 #include <AknNotifierWrapperDefs.h>
    19 #include <AknNotifierControllerPlugin.h>
    19 #include <AknNotifierControllerPlugin.h>
    20 #include "AknNfySrv.h"
    20 #include "AknNfySrv.h"
    21 
    21 
    22 const TUid KDllUid = {0x10000079};
    22 const TUid KDllUid = {0x10000079};
    23 
    23 const TInt KCheckInterval = 1000000 / 64;
    24     
    24     
    25 class CAknNotifierEntry: public CBase
    25 class CAknNotifierEntry: public CBase
    26     {
    26     {
    27 public:   
    27 public:   
    28     CAknNotifierEntry():iNotifier(0),iLibraryName(0){}
    28     CAknNotifierEntry():iNotifier(0),iLibraryName(0){}
    63         if (me->iLibraryArray[ii]->iReferenceCount == 0)
    63         if (me->iLibraryArray[ii]->iReferenceCount == 0)
    64             {
    64             {
    65             if (me->iLibraryArray[ii]->iNestingLevel >= CActiveScheduler::Current()->StackDepth())
    65             if (me->iLibraryArray[ii]->iNestingLevel >= CActiveScheduler::Current()->StackDepth())
    66                 {
    66                 {
    67                 me->DoUnload(me->iLibraryArray[ii]->iLibraryName->Des());
    67                 me->DoUnload(me->iLibraryArray[ii]->iLibraryName->Des());
       
    68                 me->iLibraryRemover->Cancel();
    68                 }
    69                 }
    69             else
    70             else
    70                 {
    71                 {
    71                 foundPending = ETrue;
    72                 foundPending = ETrue;
    72                 }   
    73                 }   
   109 
   110 
   110 void CAknNfySrv::CheckPendingRemovalsL()
   111 void CAknNfySrv::CheckPendingRemovalsL()
   111     {
   112     {
   112     if (!iLibraryRemover)
   113     if (!iLibraryRemover)
   113         {
   114         {
   114         iLibraryRemover = CIdle::NewL(CActive::EPriorityIdle); // there is no hurry
   115         iLibraryRemover = CPeriodic::NewL(CActive::EPriorityIdle); // there is no hurry
   115         }
   116         }
   116     else if (iLibraryRemover->IsActive())
   117     else if (iLibraryRemover->IsActive())
   117         {
   118         {
   118         if (CheckUnusedLibraries((TAny*) this))
   119         if (CheckUnusedLibraries((TAny*) this))
   119             {
   120             {
   289                         }
   290                         }
   290                     else
   291                     else
   291                         {                            
   292                         {                            
   292                         if (!iLibraryRemover->IsActive())
   293                         if (!iLibraryRemover->IsActive())
   293                             {
   294                             {
   294                             iLibraryRemover->Start(TCallBack(CheckUnusedLibraries, this));
   295                             iLibraryRemover->Start(0, KCheckInterval, TCallBack(CheckUnusedLibraries, this));
   295                             }
   296                             }
   296                         }
   297                         }
   297                     }
   298                     }
   298                 }    
   299                 }    
   299             break;               
   300             break;