DEADHEAD: Fix for bug 2549 included in Nokia drop 7c5dd702d6d3.
/** Copyright (c) 2008 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: Classes for executing GOOM actions (e.g. closing applications and running plugins).**/#ifndef GOOMRUNPLUGIN_H_#define GOOMRUNPLUGIN_H_#include "goomaction.h"class CGOomRunPlugin;class CGOomRunPluginConfig;class MGOomActionObserver;class CGOomPluginWaiter;class CGOomMonitorPlugin;class CGOomMonitorPluginV2;class CGOomActionConfig;/* * The GOOM action of running an GOOM plug-in to free up memory. * * @lib oommonitor.lib * @since S60 v5.0 */NONSHARABLE_CLASS(CGOomRunPlugin) : public CGOomAction {public: static CGOomRunPlugin* NewL(TUint aPluginId, CGOomRunPluginConfig& aConfig, MGOomActionObserver& aStateChangeObserver, CGOomMonitorPlugin& aPlugin); ~CGOomRunPlugin(); // Run the GOOM plugin in order to free memory // Call the CGOomAction::MemoryFreed when it is done virtual void FreeMemory(TInt aBytesRequested, TBool aUseSwRendering); // Call the memory good function on the plugin but... // only if there is an outstanding FreeMemory request void MemoryGood(); inline TBool IsRunning(); // To be called by the CGOomPluginWaiter inline void WaitCompleted(); TUint Id();protected: void ConstructL(CGOomRunPluginConfig& aPluginConfig); inline CGOomActionConfig& GetConfig(); private: CGOomRunPlugin(TUint aPluginId, CGOomRunPluginConfig& aConfig, MGOomActionObserver& aStateChangeObserver, CGOomMonitorPlugin& aPlugin); TUint iPluginId; CGOomMonitorPlugin& iPlugin; CGOomRunPluginConfig& iConfig; CGOomPluginWaiter* iPluginWaiter; TBool iFreeMemoryCalled; // True if FreeMemory has been called since the last call to MemoryGood TBool iFreeMemoryWithSwRenderingCalled; };#include "goomrunplugin.inl"#endif /*GOOMRUNPLUGIN_H_*/