forked from qt-creator/qt-creator
Utils: Make port.h slimmer
Fix the fallout. Also make comparisons hidden friends. Change-Id: Ib16a294391f5732f94f9f411a48220b497691de2 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -25,8 +25,11 @@
|
|||||||
|
|
||||||
#include "port.h"
|
#include "port.h"
|
||||||
|
|
||||||
|
#include "qtcassert.h"
|
||||||
#include "stringutils.h"
|
#include "stringutils.h"
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
|
||||||
/*! \class Utils::Port
|
/*! \class Utils::Port
|
||||||
|
|
||||||
\brief The Port class implements a wrapper around a 16 bit port number
|
\brief The Port class implements a wrapper around a 16 bit port number
|
||||||
@@ -35,6 +38,21 @@
|
|||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
|
|
||||||
|
Port::Port(int port)
|
||||||
|
: m_port((port < 0 || port > std::numeric_limits<quint16>::max()) ? -1 : port)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Port::Port(uint port)
|
||||||
|
: m_port(port > std::numeric_limits<quint16>::max() ? -1 : port)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
quint16 Port::number() const
|
||||||
|
{
|
||||||
|
QTC_ASSERT(isValid(), return -1); return quint16(m_port);
|
||||||
|
}
|
||||||
|
|
||||||
QList<Port> Port::parseFromSedOutput(const QByteArray &output)
|
QList<Port> Port::parseFromSedOutput(const QByteArray &output)
|
||||||
{
|
{
|
||||||
QList<Port> ports;
|
QList<Port> ports;
|
||||||
|
|||||||
@@ -27,14 +27,10 @@
|
|||||||
|
|
||||||
#include "utils_global.h"
|
#include "utils_global.h"
|
||||||
|
|
||||||
#include "qtcassert.h"
|
|
||||||
|
|
||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include <limits>
|
|
||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT Port
|
class QTCREATOR_UTILS_EXPORT Port
|
||||||
@@ -42,17 +38,10 @@ class QTCREATOR_UTILS_EXPORT Port
|
|||||||
public:
|
public:
|
||||||
Port() = default;
|
Port() = default;
|
||||||
explicit Port(quint16 port) : m_port(port) {}
|
explicit Port(quint16 port) : m_port(port) {}
|
||||||
explicit Port(int port) :
|
explicit Port(int port);
|
||||||
m_port((port < 0 || port > std::numeric_limits<quint16>::max()) ? -1 : port)
|
explicit Port(uint port);
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
explicit Port(uint port) :
|
quint16 number() const;
|
||||||
m_port(port > std::numeric_limits<quint16>::max() ? -1 : port)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
quint16 number() const { QTC_ASSERT(isValid(), return -1); return quint16(m_port); }
|
|
||||||
bool isValid() const { return m_port != -1; }
|
bool isValid() const { return m_port != -1; }
|
||||||
|
|
||||||
QString toString() const { return QString::number(m_port); }
|
QString toString() const { return QString::number(m_port); }
|
||||||
@@ -60,25 +49,25 @@ public:
|
|||||||
static QList<Port> parseFromSedOutput(const QByteArray &output);
|
static QList<Port> parseFromSedOutput(const QByteArray &output);
|
||||||
static QList<Port> parseFromNetstatOutput(const QByteArray &output);
|
static QList<Port> parseFromNetstatOutput(const QByteArray &output);
|
||||||
|
|
||||||
private:
|
friend bool operator<(const Port &p1, const Port &p2) { return p1.number() < p2.number(); }
|
||||||
int m_port = -1;
|
friend bool operator<=(const Port &p1, const Port &p2) { return p1.number() <= p2.number(); }
|
||||||
};
|
friend bool operator>(const Port &p1, const Port &p2) { return p1.number() > p2.number(); }
|
||||||
|
friend bool operator>=(const Port &p1, const Port &p2) { return p1.number() >= p2.number(); }
|
||||||
|
|
||||||
inline bool operator<(const Port &p1, const Port &p2) { return p1.number() < p2.number(); }
|
friend bool operator==(const Port &p1, const Port &p2)
|
||||||
inline bool operator<=(const Port &p1, const Port &p2) { return p1.number() <= p2.number(); }
|
|
||||||
inline bool operator>(const Port &p1, const Port &p2) { return p1.number() > p2.number(); }
|
|
||||||
inline bool operator>=(const Port &p1, const Port &p2) { return p1.number() >= p2.number(); }
|
|
||||||
|
|
||||||
inline bool operator==(const Port &p1, const Port &p2)
|
|
||||||
{
|
{
|
||||||
return p1.isValid() ? (p2.isValid() && p1.number() == p2.number()) : !p2.isValid();
|
return p1.isValid() ? (p2.isValid() && p1.number() == p2.number()) : !p2.isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool operator!=(const Port &p1, const Port &p2)
|
friend bool operator!=(const Port &p1, const Port &p2)
|
||||||
{
|
{
|
||||||
return p1.isValid() ? (!p2.isValid() || p1.number() != p2.number()) : p2.isValid();
|
return p1.isValid() ? (!p2.isValid() || p1.number() != p2.number()) : p2.isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_port = -1;
|
||||||
|
};
|
||||||
|
|
||||||
} // Utils
|
} // Utils
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(Utils::Port)
|
Q_DECLARE_METATYPE(Utils::Port)
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
#include <projectexplorer/session.h>
|
#include <projectexplorer/session.h>
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
|
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/qtcprocess.h>
|
#include <utils/qtcprocess.h>
|
||||||
#include <utils/runextensions.h>
|
#include <utils/runextensions.h>
|
||||||
#include <utils/url.h>
|
#include <utils/url.h>
|
||||||
@@ -53,10 +54,8 @@
|
|||||||
#include <QLoggingCategory>
|
#include <QLoggingCategory>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QTimer>
|
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
#include <QTimer>
|
||||||
#include <utils/qtcprocess.h>
|
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
|
|||||||
@@ -30,6 +30,8 @@
|
|||||||
|
|
||||||
#include <qmldebug/qmldebugcommandlinearguments.h>
|
#include <qmldebug/qmldebugcommandlinearguments.h>
|
||||||
|
|
||||||
|
#include <utils/port.h>
|
||||||
|
|
||||||
#include <QFuture>
|
#include <QFuture>
|
||||||
|
|
||||||
namespace Android {
|
namespace Android {
|
||||||
|
|||||||
@@ -39,8 +39,10 @@
|
|||||||
#include <projectexplorer/session.h>
|
#include <projectexplorer/session.h>
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
#include <projectexplorer/toolchain.h>
|
#include <projectexplorer/toolchain.h>
|
||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/fileutils.h>
|
#include <utils/filepath.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QSignalSpy>
|
#include <QSignalSpy>
|
||||||
#include <QElapsedTimer>
|
#include <QElapsedTimer>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
#include <utils/environment.h>
|
#include <utils/environment.h>
|
||||||
#include <utils/filepath.h>
|
#include <utils/filepath.h>
|
||||||
#include <utils/hostosinfo.h>
|
#include <utils/hostosinfo.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/qtcprocess.h>
|
#include <utils/qtcprocess.h>
|
||||||
|
|
||||||
#include <cppeditor/clangdiagnosticconfigsmodel.h>
|
#include <cppeditor/clangdiagnosticconfigsmodel.h>
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
#include <utils/aspects.h>
|
#include <utils/aspects.h>
|
||||||
#include <utils/environment.h>
|
#include <utils/environment.h>
|
||||||
#include <utils/macroexpander.h>
|
#include <utils/macroexpander.h>
|
||||||
#include <utils/port.h>
|
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
#include <utils/fancylineedit.h>
|
#include <utils/fancylineedit.h>
|
||||||
#include <utils/layoutbuilder.h>
|
#include <utils/layoutbuilder.h>
|
||||||
#include <utils/pathchooser.h>
|
#include <utils/pathchooser.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/qtcprocess.h>
|
#include <utils/qtcprocess.h>
|
||||||
#include <utils/utilsicons.h>
|
#include <utils/utilsicons.h>
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/infobar.h>
|
#include <utils/infobar.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/qtcprocess.h>
|
#include <utils/qtcprocess.h>
|
||||||
#include <utils/runextensions.h>
|
#include <utils/runextensions.h>
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/layoutbuilder.h>
|
#include <utils/layoutbuilder.h>
|
||||||
#include <utils/mimeutils.h>
|
#include <utils/mimeutils.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user