diff --git a/2024/tp4_reseau/main.qml b/2024/tp4_reseau/main.qml index f572c13..287ef38 100644 --- a/2024/tp4_reseau/main.qml +++ b/2024/tp4_reseau/main.qml @@ -7,8 +7,14 @@ Window { visible: true title: qsTr("Hello World") + Row { Text { text: netint.name - font.pointSize: 60 + font.pointSize: 42 + } + Text { + text: netint.address + font.pointSize: 36 + } } } diff --git a/2024/tp4_reseau/networkinterface.cpp b/2024/tp4_reseau/networkinterface.cpp index 16af3fd..3cb994f 100644 --- a/2024/tp4_reseau/networkinterface.cpp +++ b/2024/tp4_reseau/networkinterface.cpp @@ -1,11 +1,11 @@ #include "networkinterface.h" -#include NetworkInterface::NetworkInterface(int interfaceIndex, QObject *parent) - : QObject{parent} + : QObject{parent}, + m_qni{QNetworkInterface::interfaceFromIndex(interfaceIndex)} { - QNetworkInterface qni{QNetworkInterface::interfaceFromIndex(interfaceIndex)}; - setName(qni.name()); + setName(m_qni.name()); + setAddress(m_qni.addressEntries().first().ip().toString()); } QString NetworkInterface::name() const @@ -20,3 +20,16 @@ void NetworkInterface::setName(const QString &newName) m_name = newName; emit nameChanged(); } + +QString NetworkInterface::address() const +{ + return m_address; +} + +void NetworkInterface::setAddress(const QString &newAddress) +{ + if (m_address == newAddress) + return; + m_address = newAddress; + emit addressChanged(); +} diff --git a/2024/tp4_reseau/networkinterface.h b/2024/tp4_reseau/networkinterface.h index 1339f6e..c577dee 100644 --- a/2024/tp4_reseau/networkinterface.h +++ b/2024/tp4_reseau/networkinterface.h @@ -2,22 +2,32 @@ #define NETWORKINTERFACE_H #include +#include class NetworkInterface : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged FINAL) + Q_PROPERTY(QString address READ address WRITE setAddress NOTIFY addressChanged FINAL) public: explicit NetworkInterface(int interfaceIndex, QObject *parent = nullptr); QString name() const; void setName(const QString &newName); + QString address() const; + void setAddress(const QString &newAddress); + signals: void nameChanged(); + void addressChanged(); + private: + + QNetworkInterface m_qni; QString m_name; + QString m_address; }; #endif // NETWORKINTERFACE_H