--- 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