2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "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.
18 #ifndef CECOMBROWSERPLUGININTERFACE_H
19 #define CECOMBROWSERPLUGININTERFACE_H
23 #include <ecom/ecom.h>
27 #include "BrowserPluginInterface.h"
31 NPNetscapeFuncs* iNetscapeFuncs;
32 NPPluginFuncs* iPluginFuncs;
36 // The ECOM interface definition for a Netscape plugin interface class.
38 class CEcomBrowserPluginInterface: public CBase
42 inline static CEcomBrowserPluginInterface* CreatePluginL(
43 TUid aImplementationUid,
44 NPNetscapeFuncs* aNetscapeFuncs,
45 NPPluginFuncs* aPluginFuncs);
47 inline virtual ~CEcomBrowserPluginInterface();
52 // The ECom destructor key identifier
62 inline CEcomBrowserPluginInterface* CEcomBrowserPluginInterface::CreatePluginL(
63 TUid aImplementationUid,
64 NPNetscapeFuncs* aNetscapeFuncs,
65 NPPluginFuncs* aPluginFuncs)
69 initParams.iNetscapeFuncs = aNetscapeFuncs;
70 initParams.iPluginFuncs = aPluginFuncs;
72 TAny* ptr = REComSession::CreateImplementationL(aImplementationUid,
73 _FOFF(CEcomBrowserPluginInterface, iEcomDtorID),
76 return REINTERPRET_CAST(CEcomBrowserPluginInterface*, ptr);
79 inline CEcomBrowserPluginInterface::~CEcomBrowserPluginInterface()
81 REComSession::DestroyedImplementation(iEcomDtorID);
85 #endif // CECOMBROWSERPLUGININTERFACE_H