qwebpluginfactory.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:2k
源码类别:

系统编程

开发平台:

Unix_Linux

  1. /*
  2.     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
  3.     This library is free software; you can redistribute it and/or
  4.     modify it under the terms of the GNU Library General Public
  5.     License as published by the Free Software Foundation; either
  6.     version 2 of the License, or (at your option) any later version.
  7.     This library is distributed in the hope that it will be useful,
  8.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  10.     Library General Public License for more details.
  11.     You should have received a copy of the GNU Library General Public License
  12.     along with this library; see the file COPYING.LIB.  If not, write to
  13.     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  14.     Boston, MA 02110-1301, USA.
  15. */
  16. #ifndef QWEBPLUGINFACTORY_H
  17. #define QWEBPLUGINFACTORY_H
  18. #include "qwebkitglobal.h"
  19. #include <QtCore/qobject.h>
  20. #include <QtCore/qstringlist.h>
  21. QT_BEGIN_NAMESPACE
  22. class QUrl;
  23. class QWebPluginFactoryPrivate;
  24. class QString;
  25. QT_END_NAMESPACE
  26. class QWEBKIT_EXPORT QWebPluginFactory : public QObject
  27. {
  28.     Q_OBJECT
  29. public:
  30.     struct MimeType {
  31.         QString name;
  32.         QString description;
  33.         QStringList fileExtensions;
  34.     };
  35.     struct Plugin {
  36.         QString name;
  37.         QString description;
  38.         QList<MimeType> mimeTypes;
  39.     };
  40.     explicit QWebPluginFactory(QObject *parent = 0);
  41.     virtual ~QWebPluginFactory();
  42.     virtual QList<Plugin> plugins() const = 0;
  43.     virtual void refreshPlugins();
  44.     virtual QObject *create(const QString &mimeType,
  45.                             const QUrl &url,
  46.                             const QStringList &argumentNames,
  47.                             const QStringList &argumentValues) const = 0;
  48.     enum Extension {
  49.     };
  50.     class ExtensionOption
  51.     {};
  52.     class ExtensionReturn
  53.     {};
  54.     virtual bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0);
  55.     virtual bool supportsExtension(Extension extension) const;
  56. private:
  57.     QWebPluginFactoryPrivate *d;
  58. };
  59. #endif