CDiscoverer Class Reference
class CDiscoverer : public CBase
|
-
Since
-
7.0 Responsible for Interface Implementation Collections, installed in the Interface Implementation Collection directories.
Nested Classes and Structures
Constructor & Destructor Documentation
CDiscoverer(MDiscovererObserver &, RFs &)
Intended Usage : Standardised default c'tor Error Condition : None
-
Since
-
7.0
-
Pre-condition
-
None
-
Post-condition
-
CDiscoverer
is fully constructed
Parameters
MDiscovererObserver
& aDiscovererObserver
|
A reference to the owning client of the CDiscoverer
|
RFs
& aFs
|
A reference to an connected file server instance.
|
~CDiscoverer()
Intended Usage : Standard default d'tor Error Condition : None
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
CDiscoverer
is totally destroyed.
Member Functions Documentation
CompleteNotificationProcessing()
void
|
CompleteNotificationProcessing
|
(
|
)
|
[private]
|
Intended Usage : Signal that the directory change notification has been fully processed on all drives. Error Condition : None
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
An asynchronous re-scan of the Interface Implementation Collection directories is complete.
ConstructL()
void
|
ConstructL
|
(
|
)
|
[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
-
CDiscoverer
is fully constructed.
-
Post-condition
-
CDiscoverer
is fully initialised.
DriveMountedL(TDriveUnit)
void
|
DriveMountedL
|
(
|
TDriveUnit
|
aDrive
|
)
|
[private]
|
Intended Usage : Signal a drive is available. Error Condition : Depends on the observer implementation.
-
leave
-
Depends on the observer implementation.
CRegistrar
.
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The drive mount has been signalled to the observer.
Parameters
TDriveUnit
aDrive
|
The drive to be noted as available.
|
DriveUnmountedL(TDriveUnit)
void
|
DriveUnmountedL
|
(
|
TDriveUnit
|
aDrive
|
)
|
[private]
|
Intended Usage : Signal a drive is unavailable. Error Condition : Leaves with an error code
-
leave
-
KErrNoMemory
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The drive dismount has been signalled to the observer.
Parameters
TDriveUnit
aDrive
|
The drive to be noted as unavailable.
|
InitialiseEvent()
void
|
InitialiseEvent
|
(
|
)
|
[private]
|
Intended Usage : called during the CDiscoverer's construction to change the state.
-
Pre-condition
-
: non
-
Post-condition
-
: State is changed from EDisc_Undefined to EDisc_NoPluginsDisc.
IsAnyDllRegisteredWithDriveL(const TDriveUnit)
TBool
|
IsAnyDllRegisteredWithDriveL
|
(
|
const
TDriveUnit
|
aDrive
|
)
|
const [private]
|
LanguageChangeNotificationL()
void
|
LanguageChangeNotificationL
|
(
|
)
|
[private]
|
Intended Usage : Called by iLanguageChangeNotifier when it is notified of language downgrade path changed. Error Condition : None
-
Since
-
9.3
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
CDiscoverer
has been notified that a rescan may be required
LocaleChangedL(TAny *)
TInt
|
LocaleChangedL
|
(
|
TAny
*
|
|
)
|
[private, static]
|
Intended Usage : Callback function to be attached to an instance of
CEnvironmentChangeNotifier
to rebuild registry data. Note that this has to be a static member function.
-
Pre-condition
-
:
CDiscoverer
is fully constructed.
-
Post-condition
-
: Call LanguageChangeNotificationL method to rescan resource files.
NewL(MDiscovererObserver &, RFs &)
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
-
CDiscoverer
is fully constructed, and initialised.
Parameters
MDiscovererObserver
& aDiscovererObserver
|
A reference to the owning client of the CDiscoverer
|
RFs
& aFs
|
A reference to a connected file server instance.
|
NotificationL(TInt, const TDriveUnit &)
ProcessDNEventL(TNotificationFlag, const TDriveUnit &)
ProcessEntryL(const TDriveName &, CPluginBase *&, TBool)
Intended Usage : Verify that a Interface Implementation Collection directories entry is valid discovery. Error Condition : Depends on the observer implementation.
-
leave
-
Depends on the observer implementation. (
CRegistrar
).
-
Since
-
9.1
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The directory entry has been processed by the observer.
Parameters
const
TDriveName
& aDrive
|
the drive name containing this entry
|
CPluginBase
*& aEntry
|
A directory entry for an Interface Implementation Collection.
|
TBool
aAnyDllDiscovered
|
a flag to tell if any Dll is discovered in the drive.
|
ProcessSSAEventL(TStartupStateIdentifier)
RediscoveryScanDirectoryL(const TDriveUnit &)
void
|
RediscoveryScanDirectoryL
|
(
|
const
TDriveUnit
&
|
aDriveUnit
|
)
|
[private]
|
Resume()
Intended Usage : Re-enable the Discoverer to continue checking for new interface implementations. Error Condition : Where resume of the discoverer fails. KErrResumeFailed.
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The operation of the discoverer has been resumed. Or where resumption failed, no change.
ScanDirectoryCancel()
void
|
ScanDirectoryCancel
|
(
|
)
|
[private]
|
Intended Usage : Cancel any scan of the Interface Implementation Collection directories in progress. Error Condition : None
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The re-scan of the Interface Implementation Collection directories has beed aborted.
SetBurChangeCallBack(const TCallBackWithArg &)
Set the iBurChangeCallBack member
SetSwiChangeCallBack(const TCallBackWithArg &)
Set the iSwiChangeCallBack member
StartNotifiers()
void
|
StartNotifiers
|
(
|
)
|
[private]
|
Intended Usage : start the iRscDirNotifierList and iSwiChangeNotifier when EDisc_AllPlugins state is reached.
-
Pre-condition
-
:
CDiscoverer
is fully constructed. and iRscDirNotifierList and iSwiChangeNotifier are fully constructed.
-
Post-condition
-
: iRscDirNotifierList Activate and iSwiChangeNotifier Subscribe methods are called.
Suspend()
Intended Usage : Temporarily stop looking for new interface implementations. Error Condition : Where suspension of the discoverer fails. KErrSuspendFailed.
-
Since
-
7.0
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
The operation of the discoverer has been suspended. Or where suspend failed, no change.
SwiChangeNotificationL(TInt)
void
|
SwiChangeNotificationL
|
(
|
TInt
|
aSwiOperation
|
)
|
[private]
|
Intended Usage : Called by iSwiChangeNotifier when it is notified of a SWI changed. Error Condition : None
-
Since
-
9.2
-
Pre-condition
-
CDiscoverer
is fully constructed.
-
Post-condition
-
CDiscoverer
has been notified that a re-scan of the removable plugin directories is required and has stored current SWI operation.
Parameters
TInt
aSwiOperation
|
the SWI operation that is currently taking place
|
SwiOperationInProgress()
TBool
|
SwiOperationInProgress
|
(
|
)
|
[private]
|
Intended Usage : Determine if any SWI operation is currently in progress
-
Pre-condition
-
:
CDiscoverer
is fully constructed.
-
Post-condition
-
: None
ValidateEntryL(const TEntry &, const TDriveName &, CPluginBase *&, TBool)
Intended Usage : Verify that a Interface Implementation Collection directories entry is valid discovery. Error Condition : No memory
-
leave
-
KErrNoMemory
-
Since
-
9.1
-
Pre-condition
-
CDiscoverer
is fully constructed, aEntry, aPath and aEntryToFill are all valid references.
-
Post-condition
-
aEntryToFill is created and valid, with the full path and filename as its name entry.
Parameters
const
TEntry
& aEntry
|
A directory entry for an Interface Implementation Collection.
|
const
TDriveName
& aDriveName
|
The drive containing this entry
|
CPluginBase
*& aEntryToFill
|
A newly created directory entry with the filename updated to include the full path.
|
TBool
aIsRO
|
Indicates whether current drive is Read Only
|
ValidateEntryL(RResourceArchive &, CPluginBase *&)
Intended Usage : Verify that a Interface Implementation Collection directories entry is valid discovery. Error Condition : No memory
-
leave
-
KErrNoMemory
-
Since
-
9.1
-
Pre-condition
-
CDiscoverer
is fully constructed,
-
Post-condition
-
aEntryToFill is created and valid, with the full path and filename as its name entry.
Parameters
RResourceArchive
& aRscArchive
|
A referernce to the resource archive
|
CPluginBase
*& aEntryToFill
|
A newly created directory entry with the filename updated to include the full path.
|
Member Enumerations Documentation
Enum TDiscovererState
Enumerators
EDisc_Undefined
|
Undefined state
|
EDisc_NoPluginsDisc
|
Initialize state
|
EDisc_CriticalPluginsDisc
|
Discover plugins on Ro Internal drive units
|
EDisc_AllPluginsDisc
|
All plugins are discovered.
|
EDisc_PluginsDirty
|
Plugins added or removed, going to rediscover all plugins
|
Enum TNotificationFlag
Transition flag for Notification
Enumerators
EPluginsModified
|
A new plugin added or removed
|
EPluginsRediscover
|
should do a rediscovery
|
Member Type Definitions Documentation
Typedef RDirChangeNotifierPointerArray
Member Data Documentation
TCallBackWithArg
iBurChangeCallBack
CEComCachedDriveInfo * iCachedDriveInfo
cached info of drives A to Z
CDirScanner * iDirScanner
The internal Interface Implementation Collection identifier and registration handler
MDiscovererObserver & iDiscovererObserver
RArray< TUint > iDrivesDiscovered
The list of existing drives
RFs & iFs
A reference to the connected file server instance
TBool
iLanguageChangeDiscoveryPending
TBool
|
iLanguageChangeDiscoveryPending
|
[private]
|
CEnvironmentChangeNotifier * iLanguageChangeNotifier
RDirChangeNotifierPointerArray
iRscDirNotifierList
CIdleScanningTimer * iScanningTimer
TCallBackWithArg
iSwiChangeCallBack
TBool
iSwiChangeDiscoveryPending
TBool
|
iSwiChangeDiscoveryPending
|
[private]
|
CSwiChangeNotifier * iSwiChangeNotifier
TInt
iSwiOperation
TInt
|
iSwiOperation
|
[private]
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.