History

Add new screenshare error signals

Zach Fox committed 7 years ago

Commit 82552101 parent 50a1eba2 files · +21 −3Browse files

Showing the changes to interface/src/scripting/ScreenshareScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

interface/src/scripting/ScreenshareScriptingInterface.cpp+19−2
@@ -79,6 +79,8 @@ void ScreenshareScriptingInterface::startScreenshare(const QUuid& screenshareZon · 78 unmodified lines
7979 QFileInfo screenshareExecutable(SCREENSHARE_EXE_PATH);
8080 if (!screenshareExecutable.exists() || !screenshareExecutable.isFile()) {
8181 qDebug() << "Screenshare executable doesn't exist at" << SCREENSHARE_EXE_PATH;
82+ stopScreenshare();
83+ emit screenshareError();
8284 return;
8385 }
8486 }
@@ -115,6 +117,7 @@ void ScreenshareScriptingInterface::stopScreenshare() { · 30 unmodified lines
115117
116118 if (_screenshareProcess && _screenshareProcess->state() != QProcess::NotRunning) {
117119 _screenshareProcess->terminate();
120+ emit screenshareProcessTerminated();
118121 }
119122
120123 if (!_screenshareViewerLocalWebEntityUUID.isNull()) {
@@ -138,8 +141,10 @@ void ScreenshareScriptingInterface::handleSuccessfulScreenshareInfoGet(QNetworkR · 17 unmodified lines
138141 QJsonDocument answerJSONObject = QJsonDocument::fromJson(answerByteArray);
139142
140143 QString status = answerJSONObject["status"].toString();
141− if (status == "fail") {
144+ if (status != "success") {
142145 qDebug() << "\n\n MN HERE: SCREENSHARE REPLY FAIL";
146+ stopScreenshare();
147+ emit screenshareError();
143148 return;
144149 }
145150
@@ -148,6 +153,13 @@ void ScreenshareScriptingInterface::handleSuccessfulScreenshareInfoGet(QNetworkR · 2 unmodified lines
148153 _sessionID = answerJSONObject["sessionID"].toString();
149154 qDebug() << "token:" << _token << " projectAPIKey:" << _projectAPIKey << " sessionID: " << _sessionID;
150155
156+ if (_token.isEmpty() || _projectAPIKey.isEmpty() || _sessionID.isEmpty()) {
157+ qDebug() << "Not all Screen Share information was retrieved from the backend. Stopping...";
158+ stopScreenshare();
159+ emit screenshareError();
160+ return;
161+ }
162+
151163 if (_isPresenter) {
152164 QStringList arguments;
153165 arguments << " ";
@@ -164,7 +176,6 @@ void ScreenshareScriptingInterface::handleSuccessfulScreenshareInfoGet(QNetworkR · 10 unmodified lines
164176 connect(_screenshareProcess.get(), QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
165177 [=](int exitCode, QProcess::ExitStatus exitStatus) {
166178 qDebug() << "ZRF QProcess::finished. `exitCode`:" << exitCode << "`exitStatus`:" << exitStatus;
167− emit screenshareStopped();
168179 stopScreenshare();
169180 });
170181
@@ -172,11 +183,15 @@ void ScreenshareScriptingInterface::handleSuccessfulScreenshareInfoGet(QNetworkR · 1 unmodified line
172183 }
173184
174185 if (!_screenshareViewerLocalWebEntityUUID.isNull()) {
186+ stopScreenshare();
187+ emit screenshareError();
175188 return;
176189 }
177190
178191 auto esi = DependencyManager::get<EntityScriptingInterface>();
179192 if (!esi) {
193+ stopScreenshare();
194+ emit screenshareError();
180195 return;
181196 }
182197
@@ -200,6 +215,8 @@ void ScreenshareScriptingInterface::handleSuccessfulScreenshareInfoGet(QNetworkR · 17 unmodified lines
200215
201216 void ScreenshareScriptingInterface::handleFailedScreenshareInfoGet(QNetworkReply* reply) {
202217 qDebug() << "\n\n MN HERE: handleFailedScreenshareInfoGet():" << reply->readAll();
218+ stopScreenshare();
219+ emit screenshareError();
203220 }
204221
205222 void ScreenshareScriptingInterface::onWebEventReceived(const QUuid& entityID, const QVariant& message) {