aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/qmldbg_local
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_local
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_local')
-rw-r--r--src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.cpp5
-rw-r--r--src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.h11
-rw-r--r--src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.json3
-rw-r--r--src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro5
4 files changed, 21 insertions, 3 deletions
diff --git a/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.cpp b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.cpp
index cf4512cc6e..993bafcf9f 100644
--- a/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.cpp
+++ b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.cpp
@@ -142,4 +142,9 @@ void QLocalClientConnection::connectionEstablished()
d->debugServer->setDevice(d->socket);
}
+QQmlDebugServerConnection *QLocalClientConnectionFactory::create(const QString &key)
+{
+ return (key == QLatin1String("QLocalClientConnection") ? new QLocalClientConnection : 0);
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.h b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.h
index 4d20b8db2f..119f29921b 100644
--- a/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.h
+++ b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.h
@@ -44,8 +44,6 @@ class QLocalClientConnection : public QObject, public QQmlDebugServerConnection
Q_OBJECT
Q_DECLARE_PRIVATE(QLocalClientConnection)
Q_DISABLE_COPY(QLocalClientConnection)
- Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlDebugServerConnection")
- Q_INTERFACES(QQmlDebugServerConnection)
public:
QLocalClientConnection();
@@ -70,6 +68,15 @@ private:
QLocalClientConnectionPrivate *d_ptr;
};
+class QLocalClientConnectionFactory : public QQmlDebugServerConnectionFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlDebugServerConnectionFactory_iid FILE "qlocalclientconnection.json")
+ Q_INTERFACES(QQmlDebugServerConnectionFactory)
+public:
+ QQmlDebugServerConnection *create(const QString &key);
+};
+
QT_END_NAMESPACE
#endif // QLOCALCLIENTCONNECTION_H
diff --git a/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.json b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.json
new file mode 100644
index 0000000000..5f8fd49296
--- /dev/null
+++ b/src/plugins/qmltooling/qmldbg_local/qlocalclientconnection.json
@@ -0,0 +1,3 @@
+{
+ "Keys": [ "QLocalClientConnection" ]
+}
diff --git a/src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro b/src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro
index 4fa05234e6..f190368441 100644
--- a/src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro
+++ b/src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro
@@ -2,7 +2,7 @@ TARGET = qmldbg_local
QT = qml-private
PLUGIN_TYPE = qmltooling
-PLUGIN_CLASS_NAME = QLocalClientConnection
+PLUGIN_CLASS_NAME = QLocalClientConnectionFactory
load(qt_plugin)
SOURCES += \
@@ -15,3 +15,6 @@ HEADERS += \
INCLUDEPATH += $$PWD \
$$PWD/../shared
+
+OTHER_FILES += \
+ $$PWD/qlocalclientconnection.json