webengine/osswebengine/WebKit/s60/plugins/PluginHandler.h
changeset 1 7c90e6132015
parent 0 dd21522fd290
child 10 a359256acfc6
equal deleted inserted replaced
0:dd21522fd290 1:7c90e6132015
    19 
    19 
    20 #ifndef PluginHandler_H
    20 #ifndef PluginHandler_H
    21 #define PluginHandler_H
    21 #define PluginHandler_H
    22 
    22 
    23 //  INCLUDES
    23 //  INCLUDES
       
    24 #include <e32std.h>
    24 #include <npupp.h>
    25 #include <npupp.h>
    25 #include <f32file.h>
    26 #include <f32file.h>
    26 #include <badesca.h>
    27 #include <badesca.h>
    27 
    28 #include <wtf/HashSet.h>
    28 #include <ECom/ImplementationInformation.h>    // ecom
    29 #include <ECom/ImplementationInformation.h>    // ecom
    29 #include "EcomBrowserPluginInterface.h"
    30 #include "EcomBrowserPluginInterface.h"
    30 #include "WebCorePluginHandler.h"
    31 #include "WebCorePluginHandler.h"
    31 
    32 
    32 // FORWARD DECLARATIONS
    33 // FORWARD DECLARATIONS
    33 class PluginInfo;
    34 class PluginInfo;
    34 class WebView;
    35 class WebView;
    35 
    36 class PluginSkin;
    36 
    37 
    37 // CLASS DECLARATION
    38 // CLASS DECLARATION
    38 
    39 
    39 /**
    40 /**
    40 * Primarily deals with the loading and unloading of plugins as well as
    41 * Primarily deals with the loading and unloading of plugins as well as
   134         * @param aUrl the url to extract the dot-extension and to compare against, may be NULL.
   135         * @param aUrl the url to extract the dot-extension and to compare against, may be NULL.
   135         *
   136         *
   136         * @return ETrue or EFalse.
   137         * @return ETrue or EFalse.
   137         */
   138         */
   138         TBool isSupported(const TDesC& contType, const TDesC8& url);
   139         TBool isSupported(const TDesC& contType, const TDesC8& url);
       
   140         void  storePluginObject(PluginSkin* pluginObj);
       
   141         void  removePluginObject(PluginSkin* pluginObj);
       
   142         WTF::HashSet<PluginSkin*>& pluginObjects() { return m_pluginObjects; };
       
   143         PluginSkin*  pluginToActivate() { return m_pluginToActivate; };
       
   144         void  setPluginToActivate(PluginSkin* pluginObj) {m_pluginToActivate = pluginObj; };
       
   145         PluginSkin*  activePlugin() { return m_activePlugin; };
       
   146         void setActivePlugin(PluginSkin* pluginObj) { m_activePlugin = pluginObj; };
   139 
   147 
   140     private: // New functions
   148     private: // New functions
   141 
   149 
   142         /**
   150         /**
   143         * Scans for new plugins.
   151         * Scans for new plugins.
   179 
   187 
   180     private:    // Data
   188     private:    // Data
   181 
   189 
   182         // Array of information about existing plugins
   190         // Array of information about existing plugins
   183         RPointerArray<PluginInfo>   m_pluginInfoArray;
   191         RPointerArray<PluginInfo>   m_pluginInfoArray;
       
   192         WTF::HashSet<PluginSkin*>   m_pluginObjects;
   184         TInt                        m_nextHandle;
   193         TInt                        m_nextHandle;
   185         TBool                       m_pluginsLoaded;
   194         TBool                       m_pluginsLoaded;
   186         TBool                       m_enablePlugins;
   195         TBool                       m_enablePlugins;
   187         TBool                       m_asyncLoading;      //ETrue for Async scanning of drives
   196         TBool                       m_asyncLoading;      //ETrue for Async scanning of drives
   188                                                         //EFalse for sync scanning and loading
   197                                                         //EFalse for sync scanning and loading
   189 
   198 
   190         CIdle*                      m_idle;              //Active Object to initailise
   199         CIdle*                      m_idle;              //Active Object to initailise
   191                                                         //the plugins from drives
   200                                                         //the plugins from drives
       
   201         PluginSkin*                 m_pluginToActivate;
       
   202         PluginSkin*                 m_activePlugin;
   192     };
   203     };
   193 
   204 
   194 
   205 
   195 /**
   206 /**
   196 * A private helper class used by PluginHandler which is used
   207 * A private helper class used by PluginHandler which is used