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 
00056 class MOptionMenuHandler;
00057 class CEikMenuPane;
00058 
00059 // CLASS DECLARATION
00060 
00067 class MPluginAdapter
00068     {
00069     public: // New functions
00070         
00076     virtual TUint16 GetVersion()=0;
00077 
00085     virtual void PluginConstructedL(CCoeControl* aPluginControl)=0;
00086 
00093     virtual void PluginFinishedL()=0;
00094 
00100     virtual CCoeControl* GetParentControl()=0;
00101 
00107     virtual MCoeControlObserver* GetParentControlObserver()=0;
00108 
00115     virtual void SetPluginNotifier(MPluginNotifier *aNotifier)=0;
00116         
00117 
00126     virtual void SetOptionMenuHandler(MOptionMenuHandler* /*aOptionMenuHandler*/) {};
00127     };
00128 
00129 
00137 class MPluginNotifier
00138     {
00139     public:     // Data
00140         // Types of notifications which can be passed to the plugin.
00141     enum TNotificationType {
00142        EEditCut,
00143        EEditCopy, 
00144        EEditPaste, 
00145        EEditDelete, 
00146        EApplicationFocusChanged, 
00147        ESystemNotification,
00148        EPluginInvisible,
00149        EPluginActivated,
00150        EPluginDeactivated};
00151 
00152     public: // New functions
00153         
00161     virtual TInt NotifyL (TNotificationType aCallType, TAny *aParam)=0;
00162 
00163     };
00164 
00165 
00173 class MOptionMenuHandler
00174     {
00175     public: // New functions
00176         
00187     virtual void AddPluginOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aCommandBase, TInt aAfter)=0;
00188     
00197     virtual void HandlePluginCommandL(TInt aCommandId)=0;
00198 
00199     };
00200 
00201 // MPLUGINADAPTER_H   
00202 #endif
00203 
00204             
00205 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top