williamr@2: /* williamr@2: * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Defines screensaver plugin Ecom interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: #ifndef SCREEN_SAVER_PLUGIN_INT_DEF_H williamr@2: #define SCREEN_SAVER_PLUGIN_INT_DEF_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: // CONSTANTS williamr@2: williamr@2: // MACROS williamr@2: williamr@2: // DATA TYPES williamr@2: williamr@2: // FUNCTION PROTOTYPES williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * This base class for screensaver ECom plugin implemenation. Every plugin module williamr@2: * must inherit and implement this class. williamr@2: */ williamr@2: class CScreensaverPluginInterfaceDefinition: public CBase, williamr@2: public MScreensaverPlugin williamr@2: { williamr@2: public: williamr@2: /* williamr@2: * Function which instantiates an object of this type williamr@2: */ williamr@2: inline static CScreensaverPluginInterfaceDefinition* NewL(TUid aImplementationUid); williamr@2: williamr@2: /* williamr@2: * Function which lists the currently available screensaver implementations williamr@2: * williamr@2: * * @param aImplInfoArray A reference to a client-owned array, which on return williamr@2: * is filled with interface implementation data. williamr@2: * Any existing data in the array is destroyed. williamr@2: */ williamr@2: inline static void ListImplementationsL(RImplInfoPtrArray& aImplInfoArray); williamr@2: williamr@2: /** williamr@2: * Virtual desctructor. williamr@2: */ williamr@2: inline virtual ~CScreensaverPluginInterfaceDefinition(); williamr@2: williamr@2: private: williamr@2: /** williamr@2: * Required attribute for the framework williamr@2: * (An identifier used during destruction) williamr@2: */ williamr@2: TUid iDtor_ID_Key; williamr@2: }; williamr@2: williamr@2: #include "ScreensaverpluginIntDef.inl" williamr@2: williamr@2: #endif // SCREEN_SAVER_PLUGIN_INT_DEF_H williamr@2: // End of file.