diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-07-15 15:19:50 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-08-04 13:34:52 +0000 |
commit | 2f190e21c82c7b20f6cf1b9e5671316cd831f684 (patch) | |
tree | 14c7fbd2226842894518b0c964f7e6ce97796ea1 /src/plugins/qmltooling/qmldbg_tcp | |
parent | a010f3a8f92a9a364e9d17d12b06074fde6f8a17 (diff) |
Use QQmlDebugPluginManager for loading connection plugins
Also remove all the hacks that deal with static builds, QT_NO_LIBRARY
and friends. QQmlDebugPluginManager handles those cases.
Change-Id: I62f13b787292108fa25d09fabc775332394989be
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_tcp')
4 files changed, 21 insertions, 3 deletions
diff --git a/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro b/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro index 15ba7c730a..b6d25e0e9e 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro +++ b/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro @@ -2,7 +2,7 @@ TARGET = qmldbg_tcp QT = qml-private network PLUGIN_TYPE = qmltooling -PLUGIN_CLASS_NAME = QTcpServerConnection +PLUGIN_CLASS_NAME = QTcpServerConnectionFactory load(qt_plugin) SOURCES += \ @@ -15,3 +15,6 @@ HEADERS += \ INCLUDEPATH += $$PWD \ $$PWD/../shared + +OTHER_FILES += \ + $$PWD/qtcpserverconnection.json diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp index 7734e5ed0d..689c98f2b9 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp @@ -189,4 +189,9 @@ void QTcpServerConnection::newConnection() d->debugServer->setDevice(d->socket); } +QQmlDebugServerConnection *QTcpServerConnectionFactory::create(const QString &key) +{ + return (key == QLatin1String("QTcpServerConnection") ? new QTcpServerConnection : 0); +} + QT_END_NAMESPACE diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h index 8b2aed0b55..f405e83aac 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h @@ -44,8 +44,6 @@ class QTcpServerConnection : public QObject, public QQmlDebugServerConnection Q_OBJECT Q_DECLARE_PRIVATE(QTcpServerConnection) Q_DISABLE_COPY(QTcpServerConnection) - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlDebugServerConnection") - Q_INTERFACES(QQmlDebugServerConnection) public: QTcpServerConnection(); @@ -70,6 +68,15 @@ private: QTcpServerConnectionPrivate *d_ptr; }; +class QTcpServerConnectionFactory : public QQmlDebugServerConnectionFactory +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlDebugServerConnectionFactory_iid FILE "qtcpserverconnection.json") + Q_INTERFACES(QQmlDebugServerConnectionFactory) +public: + QQmlDebugServerConnection *create(const QString &key); +}; + QT_END_NAMESPACE #endif // QTCPSERVERCONNECTION_H diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.json b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.json new file mode 100644 index 0000000000..201a1b3fcb --- /dev/null +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "QTcpServerConnection" ] +} |