WebCore/plugins/PluginPackage.h
changeset 2 303757a437d3
parent 0 4f2f89ce4247
equal deleted inserted replaced
0:4f2f89ce4247 2:303757a437d3
    47 
    47 
    48     class PluginPackage : public RefCounted<PluginPackage> {
    48     class PluginPackage : public RefCounted<PluginPackage> {
    49     public:
    49     public:
    50         ~PluginPackage();
    50         ~PluginPackage();
    51         static PassRefPtr<PluginPackage> createPackage(const String& path, const time_t& lastModified);
    51         static PassRefPtr<PluginPackage> createPackage(const String& path, const time_t& lastModified);
       
    52 #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
       
    53         static PassRefPtr<PluginPackage> createPackageFromCache(const String& path, const time_t& lastModified, const String& name, const String& description, const String& mimeDescription);
       
    54 #endif
    52 
    55 
    53         const String& name() const { return m_name; }
    56         const String& name() const { return m_name; }
    54         const String& description() const { return m_description; }
    57         const String& description() const { return m_description; }
    55         const String& path() const { return m_path; }
    58         const String& path() const { return m_path; }
    56         const String& fileName() const { return m_fileName; }
    59         const String& fileName() const { return m_fileName; }
    78         const PlatformModuleVersion& version() const { return m_moduleVersion; }
    81         const PlatformModuleVersion& version() const { return m_moduleVersion; }
    79 #if OS(SYMBIAN)
    82 #if OS(SYMBIAN)
    80         NPInterface* npInterface() const { return m_npInterface; }
    83         NPInterface* npInterface() const { return m_npInterface; }
    81 #endif // OS(SYMBIAN)
    84 #endif // OS(SYMBIAN)
    82 
    85 
       
    86 #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
       
    87         bool ensurePluginLoaded();
       
    88         void setMIMEDescription(const String& mimeDescription);
       
    89         String fullMIMEDescription() const { return m_fullMIMEDescription;}
       
    90 #endif
    83     private:
    91     private:
    84         PluginPackage(const String& path, const time_t& lastModified);
    92         PluginPackage(const String& path, const time_t& lastModified);
    85 
    93 
    86 #if OS(SYMBIAN)
    94 #if OS(SYMBIAN)
    87         NPInterface* m_npInterface;
    95         NPInterface* m_npInterface;
   119         void freeLibrarySoon();
   127         void freeLibrarySoon();
   120         void freeLibraryTimerFired(Timer<PluginPackage>*);
   128         void freeLibraryTimerFired(Timer<PluginPackage>*);
   121         Timer<PluginPackage> m_freeLibraryTimer;
   129         Timer<PluginPackage> m_freeLibraryTimer;
   122 
   130 
   123         PluginQuirkSet m_quirks;
   131         PluginQuirkSet m_quirks;
       
   132 #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
       
   133         String m_fullMIMEDescription;
       
   134         bool m_infoIsFromCache;
       
   135 #endif
   124     };
   136     };
   125 
   137 
   126     struct PluginPackageHash {
   138     struct PluginPackageHash {
   127         static unsigned hash(const uintptr_t key) { return reinterpret_cast<PluginPackage*>(key)->hash(); }
   139         static unsigned hash(const uintptr_t key) { return reinterpret_cast<PluginPackage*>(key)->hash(); }
   128         static unsigned hash(const RefPtr<PluginPackage>& key) { return key->hash(); }
   140         static unsigned hash(const RefPtr<PluginPackage>& key) { return key->hash(); }