os/persistentdata/traceservices/tracefw/ulogger/src/pluginframework/pluginallocator.h
Update contrib.
1 // Copyright (c) 2007-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 "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // ULogger plug-in allocator header file
24 #ifndef PLUGINALLOCATOR_H_
25 #define PLUGINALLOCATOR_H_
29 #include "uloggeroutputplugin.h"
30 #include "uloggerinputplugin.h"
36 /*!CPluginAllocator class.
38 class CPluginAllocator : public CBase
41 IMPORT_C static CPluginAllocator* NewL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
42 IMPORT_C static CPluginAllocator* NewLC(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
43 IMPORT_C ~CPluginAllocator();
44 IMPORT_C void ConstructL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
45 IMPORT_C MOutputPlugin* GetOutputPlugin();
46 IMPORT_C MInputPlugin* GetInputPlugin();
49 Requests a list of all available implementations which
50 satisfy this given interface in a ECOM framework
52 IMPORT_C static void ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray);
56 TInt CreateChannelsL(const TPtrC8& aOutputPluginName, const TPtrC8& aInputPluginName);
59 CPlugin *iOutputPluginBase; //output plugin instance
61 TFileName iOutputLibName;
63 CPlugin *iInputPluginBase; //input plugin instance
65 TFileName iInputLibName;
66 }; //</CPluginAllocator>
68 } //</namespace ULogger>
69 #endif /*PLUGINALLOCATOR_H_*/