diff -r 8bda91a87a00 -r 8ee96d21d9bf gsprofilesrv_plat/settings_framework_api/inc/MGSWatchDog.h --- a/gsprofilesrv_plat/settings_framework_api/inc/MGSWatchDog.h Thu Aug 19 10:12:30 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -/* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - - -#ifndef GSWATCHDOG_INTERFACE_H -#define GSWATCHDOG_INTERFACE_H - -// System includes -#include - -#ifdef _DEBUG - #define GS_ENABLE_WATCH_DOG -#endif - - -// CONSTANTS - -// CLASS DECLARATION - -/** -* 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 -*/ -class MGSWatchDog - { - public: // New - - /** - * 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(). - * - * @param aPluginUid uid of the quarantined plugin. - */ - virtual void QuarantineL( TUid aPluginUid ) = 0; - - /** - * Removes plugin from quarantine. In case plugin is not removed from - * quarantine before GS exits, the plugin will be blacklisted during - * next GS startup. - * - * @param aPluginUid uid of the plugin to be removed from quarantine. - */ - virtual void RemoveFromQuarantineL( TUid aPluginUid ) = 0; - - /** - * @return ETrue if GS exited cleanly last time. - * EFalse if GS crashed during last execution. - */ - virtual TBool WasCleanExitL() = 0; - - /** - * 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. - */ - virtual void ReportCleanExitL() = 0; - - /** - * Checks if plugin is in blacklist. This can be used to determine if - * plugin should be loaded. - * - * @return ETrue in case plugin is in blacklist and should not be loaded. - * EFalse in case plugin should not be loaded - */ - virtual TBool IsInBlackList( TUid aPluginUid ) = 0; - - }; - -#endif // GSWATCHDOG_INTERFACE_H -// End of File