diff -r 000000000000 -r dd21522fd290 webengine/osswebengine/WebKit/qt/Api/qwebobjectplugin_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/osswebengine/WebKit/qt/Api/qwebobjectplugin_p.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,91 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef QWEBOBJECTPLUGIN_P_H +#define QWEBOBJECTPLUGIN_P_H + +#include +#include + +/* + FIXME: This is copied from qfactoryloader_p.h. + Remove this once we made qfactoryloader public in Qt +*/ +class QFactoryLoaderPrivate; + +class Q_CORE_EXPORT QFactoryLoader : public QObject +{ + Q_OBJECT_FAKE + Q_DECLARE_PRIVATE(QFactoryLoader) + +public: + QFactoryLoader(const char *iid, + const QStringList &paths = QStringList(), + const QString &suffix = QString(), + Qt::CaseSensitivity = Qt::CaseSensitive); + ~QFactoryLoader(); + + QStringList keys() const; + QObject *instance(const QString &key) const; + +}; + +class QWebFrame; + +class QWebFactoryLoader : public QFactoryLoader +{ + Q_OBJECT +public: + QWebFactoryLoader(const char *iid, + const QStringList &paths = QStringList(), + const QString &suffix = QString(), + Qt::CaseSensitivity = Qt::CaseSensitive); + + static QWebFactoryLoader *self(); + + QStringList names() const { return keys(); } + QStringList extensions() const; + QString descriptionForName(const QString &key) const; + QStringList mimetypesForName(const QString &key) const; + QString nameForMimetype(const QString &mimeType) const; + inline bool supportsMimeType(const QString &mimeType) const { + return !nameForMimetype(mimeType).isEmpty(); + } + + QString mimeTypeForExtension(const QString &extension); + + QObject *create(QWebFrame *frame, + const QUrl &url, + const QString &mimeType, + const QStringList &argumentNames, + const QStringList &argumentValues); + + struct MimeInfo { + QString type; + QStringList extensions; + }; + struct Info { + QString name; + QString description; + QList mimes; + }; + QList m_pluginInfo; +}; + +#endif