Move PIN generation into ComputerManager to be shared with CLI pairing

This commit is contained in:
Cameron Gutman
2022-08-24 00:21:25 -05:00
parent f4acd629a1
commit 692942e5be
3 changed files with 15 additions and 8 deletions

View File

@@ -10,6 +10,8 @@
#include <QThreadPool>
#include <QCoreApplication>
#include <random>
#define SER_HOSTS "hosts"
class PcMonitorThread : public QThread
@@ -826,4 +828,14 @@ void ComputerManager::addNewHost(NvAddress address, bool mdns, NvAddress mdnsIpv
QThreadPool::globalInstance()->start(addTask);
}
// TODO: Use QRandomGenerator when we drop Qt 5.9 support
QString ComputerManager::generatePinString()
{
std::uniform_int_distribution<int> dist(0, 9999);
std::random_device rd;
std::mt19937 engine(rd());
return QString::asprintf("%04u", dist(engine));
}
#include "computermanager.moc"

View File

@@ -181,6 +181,8 @@ public:
void addNewHost(NvAddress address, bool mdns, NvAddress mdnsIpv6Address = NvAddress());
QString generatePinString();
void pairHost(NvComputer* computer, QString pin);
void quitRunningApp(NvComputer* computer);

View File

@@ -2,8 +2,6 @@
#include <QThreadPool>
#include <random>
ComputerModel::ComputerModel(QObject* object)
: QAbstractListModel(object) {}
@@ -140,14 +138,9 @@ void ComputerModel::renameComputer(int computerIndex, QString name)
m_ComputerManager->renameHost(m_Computers[computerIndex], name);
}
// TODO: Use QRandomGenerator when we drop Qt 5.9 support
QString ComputerModel::generatePinString()
{
std::uniform_int_distribution<int> dist(0, 9999);
std::random_device rd;
std::mt19937 engine(rd());
return QString::asprintf("%04u", dist(engine));
return m_ComputerManager->generatePinString();
}
class DeferredTestConnectionTask : public QObject, public QRunnable