diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mw/pluginadapterinterface.h --- a/epoc32/include/mw/pluginadapterinterface.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/mw/pluginadapterinterface.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,183 @@ -pluginadapterinterface.h +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: The plug-in can use this interface to communicate with the browser. +* +*/ + + +#ifndef MPLUGINADAPTER_H +#define MPLUGINADAPTER_H + +// INCLUDES +#include "coecntrl.h" +#include "coecobs.h" +#include "npupp.h" + +// FORWARD DECLARATIONS +class MPluginNotifier; + + +class MOptionMenuHandler; +class CEikMenuPane; + +// CLASS DECLARATION + +/** +* The plug-in can use this interface to communicate with the browser. +* +* @lib PluginAdapterUtil in Series 80 Platforms and the Nokia 7710 smartphone +* @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone +*/ +class MPluginAdapter + { + public: // New functions + + /** + * Gets the pointer to the minor version number of the plug-in version number of the Browser Plug-in API. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @return Series 60 returns 1. Series 80 and the Nokia 7710 smartphone return 101. + */ + virtual TUint16 GetVersion()=0; + + /** + * Called when the plug-in has completed its creation. + * This function is called from the constructL function of the plug-in. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @param aPluginControl A pointer to the plug-in control window + * @return None + */ + virtual void PluginConstructedL(CCoeControl* aPluginControl)=0; + + /** + * Called after the plug-in has been deleted. + * This function is called from the destructor of the plug-in. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @return None + */ + virtual void PluginFinishedL()=0; + + /** + * Returns the window system level control object for the plug-in. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @return A pointer to the parent control window. + */ + virtual CCoeControl* GetParentControl()=0; + + /** + * Returns the observer for the plug-in control. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @return Observer that the plug-in can use to send events to the browser. + */ + virtual MCoeControlObserver* GetParentControlObserver()=0; + + /** + * Sets the plug-in notifier allowing the plug-in to control portions of the browser. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @param aNotifier Pointer to an interface that the browser can use to send events to the plug-in. + * @return None + */ + virtual void SetPluginNotifier(MPluginNotifier *aNotifier)=0; + + + /** + * Sets the plug-in option menu handler allowing the plug-in to handle the custom menu commands + * from the browser. + * @since Series 60 3nd Edition + * @param aOptionMenuHandler Pointer to an interface that the browser can use to send option menu + * commands to the plug-in. + * @return None + */ + virtual void SetOptionMenuHandler(MOptionMenuHandler* /*aOptionMenuHandler*/) {}; + }; + + +/** +* Contains notification ability for plug-ins. +* These methods are implemented in the plugin. +* +* @lib +* @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone +*/ +class MPluginNotifier + { + public: // Data + // Types of notifications which can be passed to the plugin. + enum TNotificationType { + EEditCut, + EEditCopy, + EEditPaste, + EEditDelete, + EApplicationFocusChanged, + ESystemNotification, + EPluginInvisible, + EPluginActivated, + EPluginDeactivated, + EMenuOptionEnableDecider, + EPluginPause + }; + + + public: // New functions + + /** + * Notifies the plugin of an event. + * @since Series 60 2nd Edition, Feature Pack 2 and Series 80 Platforms and the Nokia 7710 smartphone + * @param aCallType The event type that is passed to the plug-in + * @param aParam The parameter associated with the event + * @return Not used + */ + virtual TInt NotifyL (TNotificationType aCallType, TAny *aParam)=0; + + }; + + +/** +* Contains the ability for plug-ins to handle the menu option commands. +* These methods are implemented in the plugin. +* +* @lib +* @since Series 60 3rd Edition +*/ +class MOptionMenuHandler + { + public: // New functions + + /** + * AddPluginOptionMenuItemsL + * Add the Option Menu items to the menuPane, these will be handled by plugin. + * + * @since 3.1 + * @param aMenuPane handle of the menu that will contain the options + * @param aCommandBase base id that needs to be added to the command ID + * @param aAfter Plugin options should be added after this index + * @return void + */ + virtual void AddPluginOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aCommandBase, TInt aAfter)=0; + + /** + * HandlePluginCommandL + * Handle the user command from the option menu to the plugin. + * + * @since 3.1 + * @param aCommandId the command ID of the option + * @return void + */ + virtual void HandlePluginCommandL(TInt aCommandId)=0; + + }; + +#endif // MPLUGINADAPTER_H + + +// End of File