2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Defines screensaver plugin Ecom interface.
18 #ifndef SCREEN_SAVER_PLUGIN_INT_DEF_H
19 #define SCREEN_SAVER_PLUGIN_INT_DEF_H
23 #include <ecom/implementationinformation.h>
24 #include <screensaverplugin.h>
32 // FUNCTION PROTOTYPES
34 // FORWARD DECLARATIONS
39 * This base class for screensaver ECom plugin implemenation. Every plugin module
40 * must inherit and implement this class.
42 class CScreensaverPluginInterfaceDefinition: public CBase,
43 public MScreensaverPlugin
47 * Function which instantiates an object of this type
49 inline static CScreensaverPluginInterfaceDefinition* NewL(TUid aImplementationUid);
52 * Function which lists the currently available screensaver implementations
54 * * @param aImplInfoArray A reference to a client-owned array, which on return
55 * is filled with interface implementation data.
56 * Any existing data in the array is destroyed.
58 inline static void ListImplementationsL(RImplInfoPtrArray& aImplInfoArray);
61 * Virtual desctructor.
63 inline virtual ~CScreensaverPluginInterfaceDefinition();
67 * Required attribute for the framework
68 * (An identifier used during destruction)
73 #include "ScreensaverpluginIntDef.inl"
75 #endif // SCREEN_SAVER_PLUGIN_INT_DEF_H