forked from qt-creator/qt-creator
QmlDesigner: Introduce multiple node instance server
For capturing data we need a atomic mechanism. So in one process multiple node instance server can be started and then a command is send back that a scene is created. It can be used to ensure that captured data of views is up to date. Task-number: QDS-2630 Change-Id: Iea8d0b036b6384c9c1b0f91af401f2b1f1978c12 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
committed by
Thomas Hartmann
parent
a535196c41
commit
0f9010d381
@@ -27,7 +27,8 @@
|
||||
|
||||
#include <QCoreApplication>
|
||||
|
||||
#include "qt5capturenodeinstanceserver.h"
|
||||
#include "capturenodeinstanceserverdispatcher.h"
|
||||
#include "qt5capturepreviewnodeinstanceserver.h"
|
||||
#include "qt5informationnodeinstanceserver.h"
|
||||
#include "qt5previewnodeinstanceserver.h"
|
||||
#include "qt5rendernodeinstanceserver.h"
|
||||
@@ -62,6 +63,10 @@ Qt5NodeInstanceClientProxy::Qt5NodeInstanceClientProxy(QObject *parent) :
|
||||
initializeCapturedStream(QCoreApplication::arguments().at(2));
|
||||
readDataStream();
|
||||
QCoreApplication::exit();
|
||||
} else if (QCoreApplication::arguments().at(2).contains(',')) {
|
||||
const QStringList serverNames = QCoreApplication::arguments().at(2).split(',');
|
||||
setNodeInstanceServer(std::make_unique<CaptureNodeInstanceServerDispatcher>(serverNames, this));
|
||||
initializeSocket();
|
||||
} else if (QCoreApplication::arguments().at(2) == QLatin1String("previewmode")) {
|
||||
setNodeInstanceServer(std::make_unique<Qt5PreviewNodeInstanceServer>(this));
|
||||
initializeSocket();
|
||||
@@ -72,7 +77,7 @@ Qt5NodeInstanceClientProxy::Qt5NodeInstanceClientProxy(QObject *parent) :
|
||||
setNodeInstanceServer(std::make_unique<Qt5RenderNodeInstanceServer>(this));
|
||||
initializeSocket();
|
||||
} else if (QCoreApplication::arguments().at(2) == QLatin1String("capturemode")) {
|
||||
setNodeInstanceServer(std::make_unique<Qt5CaptureNodeInstanceServer>(this));
|
||||
setNodeInstanceServer(std::make_unique<Qt5CapturePreviewNodeInstanceServer>(this));
|
||||
initializeSocket();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user