History

modifying screenshare API for viewer

milad committed 7 years ago

Commit 894b4121 parent a7427bc3 files · +34 −27Browse files

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

Unified · Split

interface/src/scripting/ScreenshareScriptingInterface.cpp+31−25
@@ -25,27 +25,29 @@ ScreenshareScriptingInterface::~ScreenshareScriptingInterface() { · 24 unmodified lines
2525 stopScreenshare();
2626 }
2727
28−void ScreenshareScriptingInterface::startScreenshare(const QString& roomName) {
28+void ScreenshareScriptingInterface::startScreenshare(const bool& isPresenter) {
2929 if (QThread::currentThread() != thread()) {
3030 // We must start a new QProcess from the main thread.
3131 QMetaObject::invokeMethod(
3232 this, "startScreenshare",
33− Q_ARG(const QString&, roomName)
33+ Q_ARG(const bool&, isPresenter)
3434 );
3535 return;
3636 }
3737
38− if (_screenshareProcess && _screenshareProcess->state() != QProcess::NotRunning) {
38+ if (isPresenter && _screenshareProcess && _screenshareProcess->state() != QProcess::NotRunning) {
3939 qDebug() << "Screenshare process already running. Aborting...";
4040 return;
4141 }
4242
43− _screenshareProcess.reset(new QProcess(this));
43+ if (isPresenter) {
44+ _screenshareProcess.reset(new QProcess(this));
4445
45− QFileInfo screenshareExecutable(SCREENSHARE_EXE_PATH);
46− if (!screenshareExecutable.exists() || !screenshareExecutable.isFile()) {
47− qDebug() << "Screenshare executable doesn't exist at" << SCREENSHARE_EXE_PATH;
48− return;
46+ QFileInfo screenshareExecutable(SCREENSHARE_EXE_PATH);
47+ if (!screenshareExecutable.exists() || !screenshareExecutable.isFile()) {
48+ qDebug() << "Screenshare executable doesn't exist at" << SCREENSHARE_EXE_PATH;
49+ return;
50+ }
4951 }
5052
5153 QUuid currentDomainID = DependencyManager::get<AddressManager>()->getDomainID();
@@ -59,23 +61,27 @@ void ScreenshareScriptingInterface::startScreenshare(const QString& roomName) { · 7 unmodified lines
5961 QString apiKey = "";
6062 QString sessionID = "";
6163
62− QStringList arguments;
63− arguments << "--token=" + token;
64− arguments << "--apiKey=" + apiKey;
65− arguments << "--sessionID=" + sessionID;
66−
67− connect(_screenshareProcess.get(), &QProcess::errorOccurred,
68− [=](QProcess::ProcessError error) { qDebug() << "ZRF QProcess::errorOccurred. `error`:" << error; });
69− connect(_screenshareProcess.get(), &QProcess::started, [=]() { qDebug() << "ZRF QProcess::started"; });
70− connect(_screenshareProcess.get(), &QProcess::stateChanged,
71− [=](QProcess::ProcessState newState) { qDebug() << "ZRF QProcess::stateChanged. `newState`:" << newState; });
72− connect(_screenshareProcess.get(), QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
73− [=](int exitCode, QProcess::ExitStatus exitStatus) {
74− qDebug() << "ZRF QProcess::finished. `exitCode`:" << exitCode << "`exitStatus`:" << exitStatus;
75− emit screenshareStopped();
76− });
77−
78− _screenshareProcess->start(SCREENSHARE_EXE_PATH, arguments);
64+ if (isPresenter) {
65+ QStringList arguments;
66+ arguments << "--token=" + token;
67+ arguments << "--apiKey=" + apiKey;
68+ arguments << "--sessionID=" + sessionID;
69+
70+ connect(_screenshareProcess.get(), &QProcess::errorOccurred,
71+ [=](QProcess::ProcessError error) { qDebug() << "ZRF QProcess::errorOccurred. `error`:" << error; });
72+ connect(_screenshareProcess.get(), &QProcess::started, [=]() { qDebug() << "ZRF QProcess::started"; });
73+ connect(_screenshareProcess.get(), &QProcess::stateChanged,
74+ [=](QProcess::ProcessState newState) { qDebug() << "ZRF QProcess::stateChanged. `newState`:" << newState; });
75+ connect(_screenshareProcess.get(), QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
76+ [=](int exitCode, QProcess::ExitStatus exitStatus) {
77+ qDebug() << "ZRF QProcess::finished. `exitCode`:" << exitCode << "`exitStatus`:" << exitStatus;
78+ emit screenshareStopped();
79+ });
80+
81+ _screenshareProcess->start(SCREENSHARE_EXE_PATH, arguments);
82+ } else {
83+
84+ }
7985 };
8086
8187 void ScreenshareScriptingInterface::stopScreenshare() {