diff -r 000000000000 -r 4e1aa6a622a0 resourcemgmt/hwresourcesmgr/server/plugininc/HWRMPowerStatePlugin.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/hwresourcesmgr/server/plugininc/HWRMPowerStatePlugin.inl Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,67 @@ +/* +* Copyright (c) 2006-2009 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: +* +*/ + + + + +// INCLUDES +#include + +// CONSTANTS +// Plugin name defined by default_data in resource file +_LIT8( KPluginName, "HWRMPowerState" ); + + +// ----------------------------------------------------------------------------- +// CHWRMPowerStatePlugin::~CHWRMPowerStatePlugin +// Destructor informs ECom that implementation has been destroyed. +// ----------------------------------------------------------------------------- +// +inline CHWRMPowerStatePlugin::~CHWRMPowerStatePlugin() + { + REComSession::DestroyedImplementation(iDestructorIDKey); + } + +// ----------------------------------------------------------------------------- +// CHWRMPowerStatePlugin::NewL +// Factory method to create implementation. Implementation is found via ECom. +// ----------------------------------------------------------------------------- +// +inline CHWRMPowerStatePlugin* CHWRMPowerStatePlugin::NewL( + MHWRMPowerStatePluginCallback* aNotificationCallback ) + { + // Set resolve parameters to find correct implementation + TEComResolverParams resolverParams; + resolverParams.SetDataType( KPluginName ); + resolverParams.SetGenericMatch( EFalse ); + + // Create instance using ECom + TAny* interface = REComSession::CreateImplementationL( + KCHWRMPowerStatePluginInterfaceUid, + _FOFF(CHWRMPowerStatePlugin, iDestructorIDKey), + resolverParams, + KRomOnlyResolverUid ); + + CHWRMPowerStatePlugin* service = reinterpret_cast(interface); + + // Set notification callback pointer + service->iNotificationCallback = aNotificationCallback; + + return service; + } + +// End of File