CDiscoverer::CIdleScanningTimer Class Reference

class CDiscoverer::CIdleScanningTimer : public CTimer
Since
7.0 The timer Active object for providing incremental plugin directory scanning. Note that task execution is dependant upon the task priority The default priority is idle time execution only. This object controls the yielding of time to other processes by having a low priority but requesting immediate reactivation, after each incremental part of the directory scan. It is launched by the CDirChangeNotifier's notification call.

Inherits from

Constructor & Destructor Documentation

CIdleScanningTimer(CDiscoverer &)

CIdleScanningTimer(CDiscoverer &aDiscoverer)[private, explicit]
Intended Usage : Standardised default c'tor made explicit to avoid unintentional conversion construction by the compiler. Error Condition : None
Since
7.0
Pre-condition
None
Post-condition
CIdleScanningTimer is fully constructed

Parameters

CDiscoverer & aDiscovererA reference to its owning class instance.

~CIdleScanningTimer()

~CIdleScanningTimer()[virtual]
Intended Usage : Standard default d'tor Error Condition : None
Since
7.0
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is totally destroyed

Member Functions Documentation

AddDriveL(const TDriveUnit)

voidAddDriveL(const TDriveUnitaDrive)[inline]
Intended Usage : Add a drive for processing notification Error Condition : None
leave
System wide error codes.
Post-condition
The drive number added into pending list only if it has not been added before

Parameters

const TDriveUnit aDriveThe drive to be added.

ConstructL()

voidConstructL()[private]
Intended Usage : Standardised 2nd, (Initialisation) phase of two phase construction. Error Condition : Leaves with error code : usually KErrNoMemory.
leave
KErrNoMemory.
Since
7.0
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is fully initialised.

DoCancel()

voidDoCancel()[private, virtual]
Intended Usage : The cancel action called by CActive::Cancel(). Error Condition : None
Since
7.0
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is no longer active on the current scheduler.

IsAnyNotificationProcessingPending()

TBool IsAnyNotificationProcessingPending()[inline]

Intended Usage : To check if there is any notification waiting to be processed.

NewL(CDiscoverer &)

CIdleScanningTimer *NewL(CDiscoverer &aDiscoverer)[static]
Intended Usage : Standardised safe construction which leaves nothing on the cleanup stack. Error Condition : Not enough memory available.
leave
KErrNoMemory
Since
7.0
Pre-condition
None
Post-condition
CIdleScanningTimer is fully constructed, and initialised.

Parameters

CDiscoverer & aDiscovererA reference to the owning CDiscoverer

RestartScanPeriod()

voidRestartScanPeriod()
Intended Usage : Called to restart the scanning period. Error Condition : None
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is activated and will process pending drives list, if the timer has not been suspended

Resume()

voidResume()
Intended Usage : Called to resume the scanning timer, and enable scanning to be restarted. Error Condition : None
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is set as resumed. Re-discovery will take place.

RunError(TInt)

TInt RunError(TIntaError)[private, virtual]
Intended Usage : Called when the directory change notification processing failed by leaving.
Since
7.0
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is non-active.

Parameters

TInt aErrorThe error code that the RunL left with.

RunL()

voidRunL()[private, virtual]
Intended Usage : When the object activates, this method calls the CDiscoverer to continue the incremental scan of the Interface Implementation Collection directories. Error Condition : Not enough memory available to add to complete the scan.
leave
KErrNoMemory
Since
7.0
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
The Interface Implementation Collection directories Scan has completed another step and the CIdleScanningTimer has been re-activated for the next step OR The Interface Implementation Collection directories Scan is complete and the CDirChangeNotifier has been re-activated.

Suspend()

voidSuspend()
Intended Usage : Called to suspend the scanning timer, disabling the scanning from being restarted. Error Condition : None
Pre-condition
CIdleScanningTimer is fully constructed.
Post-condition
CIdleScanningTimer is set as suspended. No re-discovery will take place.

Member Data Documentation

CDiscoverer & iDiscoverer

CDiscoverer &iDiscoverer[private]

A reference to its owning class instance

RArray< TUint > iPendingDriveList

RArray< TUint >iPendingDriveList[private]

An array of drives to be processed.

TBool iSuspended

TBool iSuspended[private]

A flag to indicate if the timer is suspended or not.