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
+12
View File
@@ -10,6 +10,8 @@
#include <QThreadPool> #include <QThreadPool>
#include <QCoreApplication> #include <QCoreApplication>
#include <random>
#define SER_HOSTS "hosts" #define SER_HOSTS "hosts"
class PcMonitorThread : public QThread class PcMonitorThread : public QThread
@@ -826,4 +828,14 @@ void ComputerManager::addNewHost(NvAddress address, bool mdns, NvAddress mdnsIpv
QThreadPool::globalInstance()->start(addTask); 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" #include "computermanager.moc"
+2
View File
@@ -181,6 +181,8 @@ public:
void addNewHost(NvAddress address, bool mdns, NvAddress mdnsIpv6Address = NvAddress()); void addNewHost(NvAddress address, bool mdns, NvAddress mdnsIpv6Address = NvAddress());
QString generatePinString();
void pairHost(NvComputer* computer, QString pin); void pairHost(NvComputer* computer, QString pin);
void quitRunningApp(NvComputer* computer); void quitRunningApp(NvComputer* computer);
+1 -8
View File
@@ -2,8 +2,6 @@
#include <QThreadPool> #include <QThreadPool>
#include <random>
ComputerModel::ComputerModel(QObject* object) ComputerModel::ComputerModel(QObject* object)
: QAbstractListModel(object) {} : QAbstractListModel(object) {}
@@ -140,14 +138,9 @@ void ComputerModel::renameComputer(int computerIndex, QString name)
m_ComputerManager->renameHost(m_Computers[computerIndex], name); m_ComputerManager->renameHost(m_Computers[computerIndex], name);
} }
// TODO: Use QRandomGenerator when we drop Qt 5.9 support
QString ComputerModel::generatePinString() QString ComputerModel::generatePinString()
{ {
std::uniform_int_distribution<int> dist(0, 9999); return m_ComputerManager->generatePinString();
std::random_device rd;
std::mt19937 engine(rd());
return QString::asprintf("%04u", dist(engine));
} }
class DeferredTestConnectionTask : public QObject, public QRunnable class DeferredTestConnectionTask : public QObject, public QRunnable