aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/qmldbg_tcp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-15 15:19:50 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-04 13:34:52 +0000
commit2f190e21c82c7b20f6cf1b9e5671316cd831f684 (patch)
tree14c7fbd2226842894518b0c964f7e6ce97796ea1 /src/plugins/qmltooling/qmldbg_tcp
parenta010f3a8f92a9a364e9d17d12b06074fde6f8a17 (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')
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro5
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp5
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h11
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.json3
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" ]
+}