qt5base-lts/examples/network/secureudpserver/nicselector.cpp
Lucie Gérard 05fc3aef53 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Task-number: QTBUG-67283
Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-05-16 16:37:38 +02:00

49 lines
1.3 KiB
C++

// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <limits>
#include <QtCore>
#include <QtNetwork>
#include "nicselector.h"
#include "ui_nicselector.h"
NicSelector::NicSelector(QWidget *parent) :
QDialog(parent),
ui(new Ui::NicSelector)
{
ui->setupUi(this);
auto portValidator = new QIntValidator(0, int(std::numeric_limits<quint16>::max()),
ui->portSelector);
ui->portSelector->setValidator(portValidator);
ui->portSelector->setText(QStringLiteral("22334"));
const QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
availableAddresses.reserve(ipAddressesList.size());
for (const QHostAddress &ip : ipAddressesList) {
if (ip != QHostAddress::LocalHost && ip.toIPv4Address()) {
availableAddresses.push_back(ip);
ui->ipSelector->addItem(ip.toString());
}
}
}
NicSelector::~NicSelector()
{
delete ui;
}
QHostAddress NicSelector::selectedIp() const
{
if (!availableAddresses.size())
return {};
return availableAddresses[ui->ipSelector->currentIndex()];
}
quint16 NicSelector::selectedPort() const
{
return quint16(ui->portSelector->text().toUInt());
}