Use new plugin system in QtDeclarative.

- Use prefix "org.qt-project" for interfaces.
- Use new macros, add json files.

Change-Id: I53df83f95153c5c9c462098584606284470a5ae0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
This commit is contained in:
Friedemann Kleint 2012-02-21 10:55:34 +01:00 committed by Qt by Nokia
parent dc31651788
commit fb3889a423
55 changed files with 102 additions and 56 deletions

View File

@ -87,6 +87,7 @@ public:
class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin class ImageProviderExtensionPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "imageprovider.json")
public: public:
void registerTypes(const char *uri) void registerTypes(const char *uri)
{ {
@ -101,7 +102,8 @@ public:
}; };
#define QDeclarativeExtensionInterface_iid "org.qt-project.Qt.QDeclarativeExtensionInterface"
#include "imageprovider.moc" #include "imageprovider.moc"
Q_EXPORT_PLUGIN(ImageProviderExtensionPlugin);

View File

@ -7,6 +7,8 @@ TARGET = qmlimageproviderplugin
SOURCES += imageprovider.cpp SOURCES += imageprovider.cpp
OTHER_FILES += imageprovider.json
sources.files = $$SOURCES imageprovider.qml imageprovider.pro sources.files = $$SOURCES imageprovider.qml imageprovider.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/declarative/imageprovider sources.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/declarative/imageprovider

View File

@ -141,6 +141,8 @@ MinuteTimer *TimeModel::timer=0;
class QExampleQmlPlugin : public QDeclarativeExtensionPlugin class QExampleQmlPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "plugin.json")
public: public:
void registerTypes(const char *uri) void registerTypes(const char *uri)
{ {
@ -151,7 +153,3 @@ public:
//![plugin] //![plugin]
#include "plugin.moc" #include "plugin.moc"
//![export]
Q_EXPORT_PLUGIN2(qmlqtimeexampleplugin, QExampleQmlPlugin);
//![export]

View File

@ -0,0 +1 @@
{}

View File

@ -7,6 +7,8 @@ TARGET = qmlqtimeexampleplugin
SOURCES += plugin.cpp SOURCES += plugin.cpp
OTHER_FILES += "plugin.json"
qdeclarativesources.files += \ qdeclarativesources.files += \
com/nokia/TimeExample/qmldir \ com/nokia/TimeExample/qmldir \
com/nokia/TimeExample/center.png \ com/nokia/TimeExample/center.png \

View File

@ -0,0 +1 @@
{}

View File

@ -46,11 +46,10 @@
class TextBalloonPlugin : public QDeclarativeExtensionPlugin class TextBalloonPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "textballoon.json")
public: public:
void registerTypes(const char *uri) void registerTypes(const char *uri)
{ {
qmlRegisterType<TextBalloon>(uri, 1, 0, "TextBalloon"); qmlRegisterType<TextBalloon>(uri, 1, 0, "TextBalloon");
} }
}; };
Q_EXPORT_PLUGIN2(qmltextballoonplugin, TextBalloonPlugin);

View File

@ -9,6 +9,8 @@ HEADERS += TextBalloonPlugin/plugin.h \
SOURCES += textballoon.cpp SOURCES += textballoon.cpp
OTHER_FILES += textballoon.json
DESTDIR = TextBalloonPlugin DESTDIR = TextBalloonPlugin
qdeclarativesources.files += \ qdeclarativesources.files += \

View File

@ -49,6 +49,5 @@ void ChartsPlugin::registerTypes(const char *uri)
qmlRegisterType<PieSlice>(uri, 1, 0, "PieSlice"); qmlRegisterType<PieSlice>(uri, 1, 0, "PieSlice");
} }
Q_EXPORT_PLUGIN2(chartsplugin, ChartsPlugin);
//![0] //![0]

View File

@ -46,6 +46,8 @@
class ChartsPlugin : public QDeclarativeExtensionPlugin class ChartsPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "chartsplugin.json")
public: public:
void registerTypes(const char *uri); void registerTypes(const char *uri);
}; };

View File

@ -49,6 +49,3 @@ void DialogPlugin::registerTypes(const char *uri)
qmlRegisterType<Directory>(uri, 1, 0, "Directory"); qmlRegisterType<Directory>(uri, 1, 0, "Directory");
qmlRegisterType<File>(uri,1,0,"File"); qmlRegisterType<File>(uri,1,0,"File");
} }
//FileDialog is the plugin name (same as the TARGET in the project file) and DialogPlugin is the plugin classs
Q_EXPORT_PLUGIN2(FileDialog, DialogPlugin);

View File

@ -46,6 +46,7 @@
class DialogPlugin : public QDeclarativeExtensionPlugin class DialogPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "dialogplugin.json")
public: public:
//registerTypes is inherited from QDeclarativeExtensionPlugin //registerTypes is inherited from QDeclarativeExtensionPlugin

View File

@ -75,7 +75,9 @@ public:
virtual bool waitForMessage() = 0; virtual bool waitForMessage() = 0;
}; };
Q_DECLARE_INTERFACE(QDeclarativeDebugServerConnection, "com.trolltech.Qt.QDeclarativeDebugServerConnection/1.0") #define QDeclarativeDebugServerConnection_iid "org.qt-project.Qt.QDeclarativeDebugServerConnection"
Q_DECLARE_INTERFACE(QDeclarativeDebugServerConnection, QDeclarativeDebugServerConnection_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -74,7 +74,9 @@ public:
virtual void clientMessage(const QByteArray &message) = 0; virtual void clientMessage(const QByteArray &message) = 0;
}; };
Q_DECLARE_INTERFACE(QDeclarativeInspectorInterface, "com.trolltech.Qt.QDeclarativeInspectorInterface/1.0") #define QDeclarativeInspectorInterface_iid "org.qt-project.Qt."
Q_DECLARE_INTERFACE(QDeclarativeInspectorInterface, QDeclarativeInspectorInterface_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -65,8 +65,13 @@ public:
virtual void initializeEngine(QDeclarativeEngine *engine, const char *uri) = 0; virtual void initializeEngine(QDeclarativeEngine *engine, const char *uri) = 0;
}; };
#define QDeclarativeTypesExtensionInterface_iid "org.qt-project.Qt.QDeclarativeTypesExtensionInterface"
Q_DECLARE_INTERFACE(QDeclarativeTypesExtensionInterface, "org.qt-project.Qt.QDeclarativeTypesExtensionInterface/1.0") Q_DECLARE_INTERFACE(QDeclarativeTypesExtensionInterface, "org.qt-project.Qt.QDeclarativeTypesExtensionInterface/1.0")
Q_DECLARE_INTERFACE(QDeclarativeExtensionInterface, "org.qt-project.Qt.QDeclarativeExtensionInterface/1.0")
#define QDeclarativeExtensionInterface_iid "org.qt-project.Qt.QDeclarativeExtensionInterface"
Q_DECLARE_INTERFACE(QDeclarativeExtensionInterface, QDeclarativeExtensionInterface_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -66,7 +66,10 @@ public:
virtual void setTarget(const QDeclarativeProperty &property) = 0; virtual void setTarget(const QDeclarativeProperty &property) = 0;
virtual void write(const QVariant &value) = 0; virtual void write(const QVariant &value) = 0;
}; };
Q_DECLARE_INTERFACE(QDeclarativePropertyValueInterceptor, "com.trolltech.qml.QDeclarativePropertyValueInterceptor")
#define QDeclarativePropertyValueInterceptor_iid "org.qt-project.Qt.QDeclarativePropertyValueInterceptor"
Q_DECLARE_INTERFACE(QDeclarativePropertyValueInterceptor, QDeclarativePropertyValueInterceptor_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -57,7 +57,10 @@ public:
virtual ~QDeclarativePropertyValueSource(); virtual ~QDeclarativePropertyValueSource();
virtual void setTarget(const QDeclarativeProperty &) = 0; virtual void setTarget(const QDeclarativeProperty &) = 0;
}; };
Q_DECLARE_INTERFACE(QDeclarativePropertyValueSource, "com.trolltech.qml.QDeclarativePropertyValueSource")
#define QDeclarativePropertyValueSource_iid "org.qt-project.Qt.QDeclarativePropertyValueSource"
Q_DECLARE_INTERFACE(QDeclarativePropertyValueSource, QDeclarativePropertyValueSource_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -0,0 +1 @@
{}

View File

@ -50,6 +50,8 @@ QT_BEGIN_NAMESPACE
class QmlFolderListModelPlugin : public QDeclarativeExtensionPlugin class QmlFolderListModelPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "folderlistmodel.json")
public: public:
virtual void registerTypes(const char *uri) virtual void registerTypes(const char *uri)
{ {
@ -64,8 +66,3 @@ public:
QT_END_NAMESPACE QT_END_NAMESPACE
#include "plugin.moc" #include "plugin.moc"
//![plugin export decl]
Q_EXPORT_PLUGIN2(qmlfolderlistmodelplugin, QT_PREPEND_NAMESPACE(QmlFolderListModelPlugin));
//![plugin export decl]

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -6,10 +6,12 @@ QT += sql declarative declarative-private v8-private core-private
SOURCES += plugin.cpp SOURCES += plugin.cpp
OTHER_FILES += localstorage.json
DESTDIR = $$QT.declarative.imports/$$TARGETPATH DESTDIR = $$QT.declarative.imports/$$TARGETPATH
target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
qmldir.files += $$PWD/qmldir qmldir.files += $$PWD/qmldir
qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
INSTALLS += target qmldir INSTALLS += target qmldir

View File

@ -651,6 +651,8 @@ static QObject *module_api_factory(QDeclarativeEngine *engine, QJSEngine *script
class QDeclarativeLocalStoragePlugin : public QDeclarativeExtensionPlugin class QDeclarativeLocalStoragePlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "localstorage.json")
public: public:
QDeclarativeLocalStoragePlugin() QDeclarativeLocalStoragePlugin()
{ {
@ -664,5 +666,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, QDeclarativeLocalStoragePlugin);

View File

@ -0,0 +1 @@
{}

View File

@ -135,6 +135,8 @@ QT_BEGIN_NAMESPACE
class QTestQmlModule : public QDeclarativeExtensionPlugin class QTestQmlModule : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "testlib.json")
public: public:
virtual void registerTypes(const char *uri) virtual void registerTypes(const char *uri)
{ {
@ -152,5 +154,3 @@ public:
QT_END_NAMESPACE QT_END_NAMESPACE
#include "main.moc" #include "main.moc"
Q_EXPORT_PLUGIN2(qmltestplugin, QT_PREPEND_NAMESPACE(QTestQmlModule))

View File

@ -0,0 +1 @@
{}

View File

@ -7,7 +7,8 @@ CONFIG += qt plugin
QT += declarative quick qmltest qmltest-private v8-private declarative-private core-private testlib QT += declarative quick qmltest qmltest-private v8-private declarative-private core-private testlib
SOURCES += main.cpp SOURCES += main.cpp
HEADERS +=
OTHER_FILES += testlib.json
DESTDIR = $$QT.declarative.imports/$$TARGETPATH DESTDIR = $$QT.declarative.imports/$$TARGETPATH

View File

@ -49,6 +49,8 @@ QT_BEGIN_NAMESPACE
class QmlXmlListModelPlugin : public QDeclarativeExtensionPlugin class QmlXmlListModelPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "xmllistmodel.json")
public: public:
virtual void registerTypes(const char *uri) virtual void registerTypes(const char *uri)
{ {
@ -61,5 +63,3 @@ public:
QT_END_NAMESPACE QT_END_NAMESPACE
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(qmlxmllistmodelplugin, QT_PREPEND_NAMESPACE(QmlXmlListModelPlugin));

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,3 @@
{
"Keys": [ "QQuickView", "QQuickItem" ]
}

View File

@ -59,6 +59,9 @@ QT_BEGIN_NAMESPACE
class AccessibleQuickFactory : public QAccessiblePlugin class AccessibleQuickFactory : public QAccessiblePlugin
{ {
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QAccessibleFactoryInterface" FILE "accessible.json")
public: public:
AccessibleQuickFactory(); AccessibleQuickFactory();
@ -105,9 +108,8 @@ QAccessibleInterface *AccessibleQuickFactory::create(const QString &classname, Q
return 0; return 0;
} }
Q_EXPORT_STATIC_PLUGIN(AccessibleQuickFactory)
Q_EXPORT_PLUGIN2(qtaccessiblequick, AccessibleQuickFactory)
QT_END_NAMESPACE QT_END_NAMESPACE
#include "main.moc"
#endif // QT_NO_ACCESSIBILITY #endif // QT_NO_ACCESSIBILITY

View File

@ -19,5 +19,7 @@ SOURCES += \
HEADERS += \ HEADERS += \
qaccessiblequickview.h \ qaccessiblequickview.h \
qaccessiblequickitem.h qaccessiblequickitem.h
OTHERFILES += accessible.json
} }

View File

@ -27,5 +27,7 @@ HEADERS += \
../shared/qdeclarativeinspectorprotocol.h \ ../shared/qdeclarativeinspectorprotocol.h \
../shared/qmlinspectorconstants.h ../shared/qmlinspectorconstants.h
OTHER_FILES += qtquick2plugin.json
target.path += $$[QT_INSTALL_PLUGINS]/qmltooling target.path += $$[QT_INSTALL_PLUGINS]/qmltooling
INSTALLS += target INSTALLS += target

View File

@ -84,5 +84,3 @@ void QtQuick2Plugin::clientMessage(const QByteArray &message)
} // namespace QtQuick2 } // namespace QtQuick2
} // namespace QmlJSDebugger } // namespace QmlJSDebugger
Q_EXPORT_PLUGIN2(qmldbg_qtquick2, QmlJSDebugger::QtQuick2::QtQuick2Plugin)

View File

@ -55,6 +55,7 @@ class QtQuick2Plugin : public QObject, public QDeclarativeInspectorInterface
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(QtQuick2Plugin) Q_DISABLE_COPY(QtQuick2Plugin)
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeInspectorInterface" FILE "qtquick2plugin.json")
Q_INTERFACES(QDeclarativeInspectorInterface) Q_INTERFACES(QDeclarativeInspectorInterface)
public: public:

View File

@ -0,0 +1,2 @@
{}

View File

@ -14,5 +14,7 @@ SOURCES += \
HEADERS += \ HEADERS += \
qtcpserverconnection.h qtcpserverconnection.h
OTHER_FILES += qtcpserverconnection.json
target.path += $$[QT_INSTALL_PLUGINS]/qmltooling target.path += $$[QT_INSTALL_PLUGINS]/qmltooling
INSTALLS += target INSTALLS += target

View File

@ -193,7 +193,5 @@ void QTcpServerConnection::invalidPacket()
qWarning("QDeclarativeDebugServer: Received a corrupted packet! Giving up ..."); qWarning("QDeclarativeDebugServer: Received a corrupted packet! Giving up ...");
} }
Q_EXPORT_PLUGIN2(tcpserver, QTcpServerConnection)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -54,9 +54,9 @@ class QTcpServerConnection : public QObject, public QDeclarativeDebugServerConne
Q_OBJECT Q_OBJECT
Q_DECLARE_PRIVATE(QTcpServerConnection) Q_DECLARE_PRIVATE(QTcpServerConnection)
Q_DISABLE_COPY(QTcpServerConnection) Q_DISABLE_COPY(QTcpServerConnection)
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeDebugServerConnection" FILE "qtcpserverconnection.json")
Q_INTERFACES(QDeclarativeDebugServerConnection) Q_INTERFACES(QDeclarativeDebugServerConnection)
public: public:
QTcpServerConnection(); QTcpServerConnection();
~QTcpServerConnection(); ~QTcpServerConnection();

View File

@ -0,0 +1 @@
{}

View File

@ -121,7 +121,9 @@ public:
virtual QObject *proxiedObject() = 0; virtual QObject *proxiedObject() = 0;
}; };
Q_DECLARE_INTERFACE(QQuickVisualAdaptorModelProxyInterface, "com.trolltech.qml.QQuickVisualAdaptorModelProxyInterface") #define QQuickVisualAdaptorModelProxyInterface_iid "org.qt-project.Qt.QQuickVisualAdaptorModelProxyInterface"
Q_DECLARE_INTERFACE(QQuickVisualAdaptorModelProxyInterface, QQuickVisualAdaptorModelProxyInterface_iid)
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -62,7 +62,7 @@ struct Q_QUICK_EXPORT QSGContextFactoryInterface : public QFactoryInterface
}; };
#define QSGContextFactoryInterface_iid \ #define QSGContextFactoryInterface_iid \
"com.trolltech.Qt.QSGContextFactoryInterface" "org.qt-project.Qt.QSGContextFactoryInterface"
Q_DECLARE_INTERFACE(QSGContextFactoryInterface, QSGContextFactoryInterface_iid) Q_DECLARE_INTERFACE(QSGContextFactoryInterface, QSGContextFactoryInterface_iid)
class Q_QUICK_EXPORT QSGContextPlugin : public QObject, public QSGContextFactoryInterface class Q_QUICK_EXPORT QSGContextPlugin : public QObject, public QSGContextFactoryInterface

View File

@ -67,7 +67,8 @@ public:
}; };
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(MyInterface, "com.trolltech.Qt.Test.MyInterface"); #define MyInterface_iid "org.qt-project.Qt.Test.MyInterface"
Q_DECLARE_INTERFACE(MyInterface, MyInterface_iid);
QT_END_NAMESPACE QT_END_NAMESPACE
QML_DECLARE_INTERFACE(MyInterface); QML_DECLARE_INTERFACE(MyInterface);

View File

@ -0,0 +1 @@
{}

View File

@ -66,6 +66,8 @@ private:
class MyPlugin : public QDeclarativeExtensionPlugin class MyPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyPlugin() MyPlugin()
{ {
@ -80,5 +82,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyPlugin);

View File

@ -66,6 +66,8 @@ private:
class MyPlugin : public QDeclarativeExtensionPlugin class MyPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyPlugin() MyPlugin()
{ {
@ -80,5 +82,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyPlugin);

View File

@ -65,6 +65,8 @@ private:
class MyPlugin : public QDeclarativeExtensionPlugin class MyPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyPlugin() MyPlugin()
{ {
@ -79,5 +81,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyPlugin);

View File

@ -56,6 +56,8 @@ public:
class MyMixedPlugin : public QDeclarativeExtensionPlugin class MyMixedPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyMixedPlugin() MyMixedPlugin()
{ {
@ -69,5 +71,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyMixedPlugin);

View File

@ -56,6 +56,8 @@ public:
class MyMixedPlugin : public QDeclarativeExtensionPlugin class MyMixedPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyMixedPlugin() MyMixedPlugin()
{ {
@ -69,5 +71,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyMixedPlugin);

View File

@ -46,6 +46,8 @@
class MyPlugin : public QDeclarativeExtensionPlugin class MyPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
void registerTypes(const char *uri) void registerTypes(const char *uri)
{ {
@ -54,5 +56,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyPlugin);

View File

@ -65,6 +65,8 @@ private:
class MyPlugin : public QDeclarativeExtensionPlugin class MyPlugin : public QDeclarativeExtensionPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface" FILE "../empty.json")
public: public:
MyPlugin() MyPlugin()
{ {
@ -79,5 +81,3 @@ public:
}; };
#include "plugin.moc" #include "plugin.moc"
Q_EXPORT_PLUGIN2(plugin, MyPlugin);