Implement C++ functions for quitting apps and querying running apps

This commit is contained in:
Cameron Gutman
2018-07-31 22:21:39 -07:00
parent 017362a5d1
commit 3ed5f9edf7
4 changed files with 104 additions and 0 deletions

View File

@@ -446,6 +446,15 @@ void ComputerManager::pairHost(NvComputer* computer, QString pin)
QThreadPool::globalInstance()->start(pairing);
}
void ComputerManager::quitRunningApp(NvComputer* computer)
{
QWriteLocker lock(&computer->lock);
computer->pendingQuit = true;
PendingQuitTask* quit = new PendingQuitTask(this, computer);
QThreadPool::globalInstance()->start(quit);
}
void ComputerManager::stopPollingAsync()
{
QWriteLocker lock(&m_Lock);
@@ -497,6 +506,11 @@ ComputerManager::handleComputerStateChanged(NvComputer* computer)
{
emit computerStateChanged(computer);
if (computer->pendingQuit && computer->currentGameId == 0) {
computer->pendingQuit = false;
emit quitAppCompleted(nullptr);
}
// Save updated hosts to QSettings
saveHosts();
}