1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // 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
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __EIKLIBRY_H__
17 #define __EIKLIBRY_H__
27 typedef SEikControlInfo (*TCreateByTypeFunction)(TInt);
31 Abstract base class specifying the interface for a dynamically-loaded DLL
32 which goes on to configure other Uikon statically-loaded DLLs.
37 class CEikLibrary : public CBase
40 // When EikEnv dynamically loads a DLL, it calls its InitializeL function
41 // which will set up any variables which EikEnv requires.
42 virtual void InitializeL() = 0;
43 // These functions give the EikEnv access to the libraries
44 // resources and Control Factories.
45 virtual CArrayFix<TFileName>* ResourceFileArrayL() const = 0;
46 virtual CArrayFix<TCreateByTypeFunction>* ControlFactoryArrayL() const = 0;
47 IMPORT_C virtual void PostAppUiInitializeL();
52 Abstract base class specifying the interface for a ECom plugin DLL
53 which goes on to configure other Uikon statically-loaded DLLs.
58 class CEikLibrary2 : public CEikLibrary
62 IMPORT_C virtual ~CEikLibrary2();
63 IMPORT_C static CEikLibrary2* LoadLibraryL(TUid aImplementationUid);
65 // UID of the implementation instantiated.
69 #endif // __EIKLIBRY_H__