mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 10:22:55 +00:00
manually manage the QNetworkAddressEntry data pointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
f75d9b1e07
commit
ed014f6145
4 changed files with 21 additions and 18 deletions
|
@ -3,7 +3,7 @@
|
|||
# https://wiki.archlinux.org/index.php/Arch_package_guidelines
|
||||
|
||||
pkgname=katie-git
|
||||
pkgver=4.14.0.r8194.64a1e01ca
|
||||
pkgver=4.14.0.r8207.bd53fa415
|
||||
pkgrel=1
|
||||
pkgdesc='C++ toolkit derived from the Qt 4.8 framework'
|
||||
arch=('i486' 'i686' 'pentium4' 'x86_64' 'arm')
|
||||
|
|
|
@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
|
|||
Constructs an empty QNetworkAddressEntry object.
|
||||
*/
|
||||
QNetworkAddressEntry::QNetworkAddressEntry()
|
||||
: d(new QNetworkAddressEntryPrivate)
|
||||
: d(new QNetworkAddressEntryPrivate())
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -60,8 +60,11 @@ QNetworkAddressEntry::QNetworkAddressEntry()
|
|||
object \a other.
|
||||
*/
|
||||
QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)
|
||||
: d(new QNetworkAddressEntryPrivate(*other.d.data()))
|
||||
: d(new QNetworkAddressEntryPrivate())
|
||||
{
|
||||
d->address = other.d->address;
|
||||
d->netmask = other.d->netmask;
|
||||
d->broadcast = other.d->broadcast;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -69,7 +72,9 @@ QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)
|
|||
*/
|
||||
QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)
|
||||
{
|
||||
*d.data() = *other.d.data();
|
||||
d->address = other.d->address;
|
||||
d->netmask = other.d->netmask;
|
||||
d->broadcast = other.d->broadcast;
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -78,6 +83,7 @@ QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry
|
|||
*/
|
||||
QNetworkAddressEntry::~QNetworkAddressEntry()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -86,11 +92,11 @@ QNetworkAddressEntry::~QNetworkAddressEntry()
|
|||
*/
|
||||
bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const
|
||||
{
|
||||
if (d == other.d) return true;
|
||||
if (!d || !other.d) return false;
|
||||
return d->address == other.d->address &&
|
||||
return (
|
||||
d->address == other.d->address &&
|
||||
d->netmask == other.d->netmask &&
|
||||
d->broadcast == other.d->broadcast;
|
||||
d->broadcast == other.d->broadcast
|
||||
);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -22,16 +22,14 @@
|
|||
#ifndef QNETWORKINTERFACE_H
|
||||
#define QNETWORKINTERFACE_H
|
||||
|
||||
#include <QtCore/qlist.h>
|
||||
#include <QtCore/qshareddata.h>
|
||||
#include <QtCore/qscopedpointer.h>
|
||||
#include <QtNetwork/qhostaddress.h>
|
||||
|
||||
#ifndef QT_NO_NETWORKINTERFACE
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
template<typename T> class QList;
|
||||
|
||||
class QNetworkAddressEntryPrivate;
|
||||
class QNetworkInterfacePrivate;
|
||||
|
||||
|
@ -42,6 +40,7 @@ public:
|
|||
QNetworkAddressEntry(const QNetworkAddressEntry &other);
|
||||
QNetworkAddressEntry &operator=(const QNetworkAddressEntry &other);
|
||||
~QNetworkAddressEntry();
|
||||
|
||||
bool operator==(const QNetworkAddressEntry &other) const;
|
||||
inline bool operator!=(const QNetworkAddressEntry &other) const
|
||||
{ return !(*this == other); }
|
||||
|
@ -53,7 +52,7 @@ public:
|
|||
private:
|
||||
friend QNetworkInterfacePrivate;
|
||||
|
||||
QScopedPointer<QNetworkAddressEntryPrivate> d;
|
||||
QNetworkAddressEntryPrivate *d;
|
||||
};
|
||||
|
||||
class Q_NETWORK_EXPORT QNetworkInterface
|
||||
|
|
|
@ -55,17 +55,15 @@ public:
|
|||
class QNetworkInterfacePrivate: public QSharedData
|
||||
{
|
||||
public:
|
||||
QNetworkInterfacePrivate() : index(0), flags(0)
|
||||
{ }
|
||||
~QNetworkInterfacePrivate()
|
||||
{ }
|
||||
QNetworkInterfacePrivate()
|
||||
: index(0), flags(0)
|
||||
{
|
||||
}
|
||||
|
||||
int index; // interface index, if known
|
||||
QNetworkInterface::InterfaceFlags flags;
|
||||
|
||||
QString name;
|
||||
QString hardwareAddress;
|
||||
|
||||
QList<QNetworkAddressEntry> addressEntries;
|
||||
|
||||
static QList<QNetworkInterfacePrivate *> scan();
|
||||
|
|
Loading…
Add table
Reference in a new issue