MGSWatchDog Class Reference

class MGSWatchDog

MGSWatchDog is responsible for quarantining plugins and updating blacklist for crashing GS plugins. This is the class responsible for keeping GS application functional even if some plugin to panics all the time.

This is the interface for GSWatchDog. Client has no need to know the actual implementation as it is owned by GS application.

Since
Series60_3.2

Member Functions Documentation

IsInBlackList(TUid)

TBool IsInBlackList(TUidaPluginUid)[pure virtual]

Checks if plugin is in blacklist. This can be used to determine if plugin should be loaded.

Parameters

TUid aPluginUid

QuarantineL(TUid)

voidQuarantineL(TUidaPluginUid)[pure virtual]

Adds plugin to quarantine. In case GS crashes, quarantined plugin will be blacklisted so it is not loaded in next GS run. Same plugin can be quarantined multiple times or even have several uid instances in quarantine if needed as long as all these are removed correspondingly.

NOTE: Plugin must ALWAYS be removed from quarantine after plugin's function execution. 1. QuarantineL(). 2. Call quarantined plugin function. 3. RemoveFromQuarantineL().

Parameters

TUid aPluginUiduid of the quarantined plugin.

RemoveFromQuarantineL(TUid)

voidRemoveFromQuarantineL(TUidaPluginUid)[pure virtual]

Removes plugin from quarantine. In case plugin is not removed from quarantine before GS exits, the plugin will be blacklisted during next GS startup.

Parameters

TUid aPluginUiduid of the plugin to be removed from quarantine.

ReportCleanExitL()

voidReportCleanExitL()[pure virtual]

This must be called in all the cases GS exits normally. If GS panics, this will not be called resulting in banning of all quarantined plugins.Increments iRunsAfterCrash counter for blacklisted plugins. Sets iGSAppRunning to EFalse.

WasCleanExitL()

TBool WasCleanExitL()[pure virtual]