S60 3rd Edition API Reference: pluginadapterinterface.h Source File

pluginadapterinterface.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : PluginAdapterInterface.h
00004 *  Part of     : WebKit / Plugin
00005 *  Interface   : Browser Plugin API, MPluginAdapter
00006 *  Description : The plug-in can use this interface to communicate with the browser.
00007 *  Version     : 1.01
00008 *
00009 *    Copyright (c) 2006, Nokia Corporation
00010 *    All rights reserved.
00011 *  
00012 *   Redistribution and use in source and binary forms, with or without
00013 *   modification, are permitted provided that the following conditions
00014 *   are met:
00015 *  
00016 *      * Redistributions of source code must retain the above copyright
00017 *        notice, this list of conditions and the following disclaimer.
00018 *      * Redistributions in binary form must reproduce the above copyright
00019 *        notice, this list of conditions and the following disclaimer in
00020 *        the documentation and/or other materials provided with the
00021 *        distribution.
00022 *      * Neither the name of the Nokia Corporation nor the names of its
00023 *        contributors may be used to endorse or promote products derived
00024 *        from this software without specific prior written permission.
00025 *  
00026 *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00027 *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00028 *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00029 *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00030 *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00031 *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00032 *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00033 *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00034 *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00035 *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
00036 *   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
00037 *   DAMAGE.
00038 *  
00039 *    Please see file patentlicense.txt for further grants.
00040 * ==============================================================================
00041 */
00042 
00043 
00044 #ifndef MPLUGINADAPTER_H
00045 #define MPLUGINADAPTER_H
00046 
00047 //  INCLUDES
00048 #include "coecntrl.h"
00049 #include "coecobs.h"
00050 #include "npupp.h"
00051 
00052 // FORWARD DECLARATIONS
00053 class MPluginNotifier;
00054 
00055 #start_since SINCE_3_1_SDK
00056 class MOptionMenuHandler;
00057 class CEikMenuPane;
00058 #end_since SINCE_3_1_SDK
00059 
00060 // CLASS DECLARATION
00061 
00068 class MPluginAdapter
00069     {
00070     public: // New functions
00071         
00077     virtual TUint16 GetVersion()=0;
00078 
00086     virtual void PluginConstructedL(CCoeControl* aPluginControl)=0;
00087 
00094     virtual void PluginFinishedL()=0;
00095 
00101     virtual CCoeControl* GetParentControl()=0;
00102 
00108     virtual MCoeControlObserver* GetParentControlObserver()=0;
00109 
00116     virtual void SetPluginNotifier(MPluginNotifier *aNotifier)=0;
00117         
00118 #start_since SINCE_3_1_SDK
00119 
00128     virtual void SetOptionMenuHandler(MOptionMenuHandler* /*aOptionMenuHandler*/) {};
00129 #end_since SINCE_3_1_SDK
00130     };
00131 
00132 
00140 class MPluginNotifier
00141     {
00142     public:     // Data
00143         // Types of notifications which can be passed to the plugin.
00144     enum TNotificationType {
00145        EEditCut,
00146        EEditCopy, 
00147        EEditPaste, 
00148        EEditDelete, 
00149        EApplicationFocusChanged, 
00150        ESystemNotification
00151 #start_since SINCE_3_1_SDK
00152       ,EPluginInvisible
00153 #end_since SINCE_3_1_SDK
00154                 };
00155 
00156     public: // New functions
00157         
00165     virtual TInt NotifyL (TNotificationType aCallType, TAny *aParam)=0;
00166 
00167     };
00168 
00169 #start_since SINCE_3_1_SDK
00170 
00177 class MOptionMenuHandler
00178     {
00179     public: // New functions
00180         
00192     virtual void AddPluginOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aCommandBase, TInt aAfter)=0;
00193     
00203     virtual void HandlePluginCommandL(TInt aCommandId)=0;
00204 
00205     };
00206 #end_since SINCE_3_1_SDK
00207 
00208 // MPLUGINADAPTER_H   
00209 #endif
00210 
00211             
00212 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top