|
@@ -24,9 +24,9 @@ typedef const SCHEMA_MODEL_ROLES *LPCSCHEMA_MODEL_ROLES;
|
|
|
|
|
|
static const SCHEMA_MODEL_ROLES g_roles[] =
|
|
|
{
|
|
|
- {QGfaMySqlSchemaModel::SMR_Name, "name"},
|
|
|
- {QGfaMySqlSchemaModel::SMR_Info, "infoRaw"},
|
|
|
- {QGfaMySqlSchemaModel::SMR_InfoFormatted, "infoFormatted"}
|
|
|
+ {QGfaNetInterfacesSchemaModel::SMR_Name, "name"},
|
|
|
+ {QGfaNetInterfacesSchemaModel::SMR_Info, "infoRaw"},
|
|
|
+ {QGfaNetInterfacesSchemaModel::SMR_InfoFormatted, "infoFormatted"}
|
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
@@ -368,227 +368,7 @@ QObject* QGfaNetInterfacesSchemaModel::getChildObject(QObject *parent, std::vect
|
|
|
return obj;
|
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
-void QGfaNetInterfacesSchemaModel::setModelData(LPETC_NETWORK_INTERFACES pnif)
|
|
|
-{
|
|
|
- int i;
|
|
|
- beginResetModel();
|
|
|
- m_pRootItem->clear();
|
|
|
-
|
|
|
- for(auto itfb = pnif->ibl.begin(); itfb != pnif->ibl.end(); ++itfb)
|
|
|
- {
|
|
|
- const ITF_IFACE_BLOCK &ifb = *itfb;
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pNiTi = new QGfaNetInterfacesSchemaTreeItem(ifb.cfgName.c_str(), (quint32)ifb.method, ::GetIfaceMethodStr(ifb.method), m_pRootItem);
|
|
|
-
|
|
|
- if(ifb.proto != IFP_Unknown)
|
|
|
- {
|
|
|
- const char *pszProto;
|
|
|
- switch(ifb.proto)
|
|
|
- {
|
|
|
- case IFP_Inet:
|
|
|
- pszProto = "IPv4";
|
|
|
- break;
|
|
|
- case IFP_Inet6:
|
|
|
- pszProto = "IPv6";
|
|
|
- break;
|
|
|
- default:
|
|
|
- pszProto = ::GetIfaceProtoStr(ifb.proto);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Protocol", pszProto, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!ifb.inherits.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Inherits", ifb.inherits.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Up", ifb.up, ifb.up ? "yes" : "no", pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Running", ifb.running, ifb.running ? "yes" : "no", pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(ifb.method == IFM_Static)
|
|
|
- {
|
|
|
- const IFACE_INET_STATIC &inet4s = ifb.inet4s;
|
|
|
-
|
|
|
- if(inet4s.addr.s_addr != INADDR_ANY)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Address", (quint32)inet4s.addr.s_addr, ::inet_ntoa(inet4s.addr), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.netmask.s_addr != INADDR_ANY)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Netmask", (quint32)inet4s.netmask.s_addr, ::inet_ntoa(inet4s.netmask), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.gate.s_addr != INADDR_ANY)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Gateway", (quint32)inet4s.gate.s_addr, ::inet_ntoa(inet4s.gate), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.bcast.s_addr != INADDR_ANY)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Broadcast", (quint32)inet4s.bcast.s_addr, ::inet_ntoa(inet4s.bcast), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.pointopoint.s_addr != INADDR_ANY)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("PointToPoint", (quint32)inet4s.pointopoint.s_addr, ::inet_ntoa(inet4s.pointopoint), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- for(i = 0; i < (int)_countof(inet4s.namesvr); ++i)
|
|
|
- {
|
|
|
- if(inet4s.namesvr[i].s_addr)
|
|
|
- {
|
|
|
- char szName[32];
|
|
|
- sprintf(szName, "DNS %d", i + 1);
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem(szName, (quint32)inet4s.namesvr[i].s_addr, ::inet_ntoa(inet4s.namesvr[i]), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.metric != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Metric", (quint32)inet4s.metric, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4s.mtu != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("MTU", (quint32)inet4s.mtu, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4s.hwaddr.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("HW-Address", inet4s.hwaddr.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4s.scope.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("HW-Address", inet4s.scope.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- i = 0;
|
|
|
- for(auto it = inet4s.dnss.begin(); it != inet4s.dnss.end(); ++it)
|
|
|
- {
|
|
|
- const std::string &s = *it;
|
|
|
- if(!s.empty())
|
|
|
- {
|
|
|
- char szName[32];
|
|
|
- sprintf(szName, "DNSS %d", i + 1);
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem(szName, s.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- else if(ifb.method == IFM_Dhcp)
|
|
|
- {
|
|
|
- const IFACE_INET_DHCP &inet4d = ifb.inet4d;
|
|
|
-
|
|
|
- if(inet4d.leasetime != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Lease time", (qint32)inet4d.leasetime, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4d.leasehours != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Lease hours", (qint32)inet4d.leasehours, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(inet4d.metric != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Metric", (quint32)inet4d.metric, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4d.hostname.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Hostname", inet4d.hostname.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4d.vendor.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Vendor", inet4d.vendor.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4d.client.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("Client", inet4d.client.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4d.hwaddr.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("HW-Address", inet4d.hwaddr.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
- else if(ifb.method == IFM_Manual)
|
|
|
- {
|
|
|
- const IFACE_INET_MANUAL &inet4m = ifb.inet4m;
|
|
|
-
|
|
|
- if(inet4m.mtu != -1)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("MTU", (quint32)inet4m.mtu, QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
-
|
|
|
- if(!inet4m.hwaddr.empty())
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem("HW-Address", inet4m.hwaddr.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- for(auto it = ifb.cmds.begin(); it != ifb.cmds.end(); ++it)
|
|
|
- {
|
|
|
- const IFACE_COMMAND &cmd = *it;
|
|
|
- if(cmd.cmd != IFC_Unknown)
|
|
|
- {
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem(::GetIfaceCommandsStr(cmd.cmd), cmd.args.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- for(auto it = ifb.unparsed.begin(); it != ifb.unparsed.end(); ++it)
|
|
|
- {
|
|
|
- const std::string &s = *it;
|
|
|
- if(!s.empty())
|
|
|
- {
|
|
|
- char szName[32];
|
|
|
- sprintf(szName, "CMD %d", i + 1);
|
|
|
- QGfaNetInterfacesSchemaTreeItem *pTmpTi = new QGfaNetInterfacesSchemaTreeItem(szName, s.c_str(), QVariant(), pNiTi);
|
|
|
- pNiTi->appendChild(pTmpTi);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- m_pRootItem->appendChild(pNiTi);
|
|
|
- }
|
|
|
-
|
|
|
- endResetModel();
|
|
|
-}
|
|
|
-#endif
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
void QGfaNetInterfacesSchemaModel::setModelData(QObject *pifs)
|
|
|
{
|
|
@@ -801,6 +581,24 @@ void QGfaNetInterfacesSchemaModel::setModelData(QObject *pifs)
|
|
|
{
|
|
|
if(af == QInterface::AF_Inet)
|
|
|
{
|
|
|
+ QObject *pManu, *pAddr;
|
|
|
+
|
|
|
+ if((pManu = getChildObject(pif, {"inet", "manu"})))
|
|
|
+ {
|
|
|
+ if((pAddr = getChildObject(pManu, {"ipAddress"})))
|
|
|
+ {
|
|
|
+ pTmpTi = new QGfaNetInterfacesSchemaTreeItem(*this, "Address", pAddr->property("addr"), &QGfaNetInterfacesSchemaModel::ipV4String, pNiTi);
|
|
|
+ QObject::connect(pAddr, SIGNAL(addrChanged(const QVariant&)), pTmpTi, SLOT(onValueChanged(const QVariant&)));
|
|
|
+ pNiTi->appendChild(pTmpTi);
|
|
|
+ }
|
|
|
+
|
|
|
+ if((pAddr = getChildObject(pManu, {"netMask"})))
|
|
|
+ {
|
|
|
+ pTmpTi = new QGfaNetInterfacesSchemaTreeItem(*this, "Netmask", pAddr->property("addr"), &QGfaNetInterfacesSchemaModel::ipV4String, pNiTi);
|
|
|
+ QObject::connect(pAddr, SIGNAL(addrChanged(const QVariant&)), pTmpTi, SLOT(onValueChanged(const QVariant&)));
|
|
|
+ pNiTi->appendChild(pTmpTi);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -998,7 +796,6 @@ bool QNetworkInterfaces::initialize(void)
|
|
|
m_interfaces.append(new QInterface(ibl, static_cast<NotificationSink&>(*this), this));
|
|
|
}
|
|
|
|
|
|
-// m_netInterfacesSchemaModel.setModelData(&m_eni);
|
|
|
m_netInterfacesSchemaModel.setModelData(this);
|
|
|
|
|
|
emit interfacesChanged();
|
|
@@ -1017,7 +814,6 @@ bool QNetworkInterfaces::save(void)
|
|
|
if( ::WriteEtcNetworkInterfaces(m_eni, NULL) &&
|
|
|
initialize())
|
|
|
{
|
|
|
-// m_netInterfacesSchemaModel.setModelData(&m_eni);
|
|
|
m_netInterfacesSchemaModel.setModelData(this);
|
|
|
return true;
|
|
|
}
|
|
@@ -1033,7 +829,6 @@ bool QNetworkInterfaces::saveAs(const QString &path)
|
|
|
if( ::WriteEtcNetworkInterfaces(m_eni, pszPath) &&
|
|
|
initialize())
|
|
|
{
|
|
|
-// m_netInterfacesSchemaModel.setModelData(&m_eni);
|
|
|
m_netInterfacesSchemaModel.setModelData(this);
|
|
|
return true;
|
|
|
}
|
|
@@ -1045,7 +840,6 @@ bool QNetworkInterfaces::reload(void)
|
|
|
m_netInterfacesSchemaModel.clearAll();
|
|
|
if(initialize())
|
|
|
{
|
|
|
-// m_netInterfacesSchemaModel.setModelData(&m_eni);
|
|
|
m_netInterfacesSchemaModel.setModelData(this);
|
|
|
return true;
|
|
|
}
|
|
@@ -1525,8 +1319,11 @@ void QNetworkInterfaces::onNetmonEvent(unsigned int nEvtType, const void *pData,
|
|
|
|
|
|
void QNetworkInterfaces::onStaticNetmonEvent(unsigned int nEvtType, const void *pData, LPCRT_ATTRIBUTE pAtts, size_t nMaxAtts, void *pParam)
|
|
|
{
|
|
|
- QNetworkInterfaces *pThis = (QNetworkInterfaces*)pParam;
|
|
|
- pThis->onNetmonEvent(nEvtType, pData, pAtts, nMaxAtts);
|
|
|
+ if(pParam)
|
|
|
+ {
|
|
|
+ QNetworkInterfaces *pThis = static_cast<QNetworkInterfaces*>(pParam);
|
|
|
+ pThis->onNetmonEvent(nEvtType, pData, pAtts, nMaxAtts);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
@@ -1928,6 +1725,7 @@ void QInterface::onNetmonEvent(unsigned int nEvtType, const void *pData, LPCRT_A
|
|
|
{
|
|
|
case RTM_DELLINK:
|
|
|
bDelLink = true;
|
|
|
+ // FALLTHRU
|
|
|
case RTM_NEWLINK:
|
|
|
if(af() == AF_Inet)
|
|
|
{
|
|
@@ -1966,6 +1764,7 @@ void QInterface::onNetmonEvent(unsigned int nEvtType, const void *pData, LPCRT_A
|
|
|
break;
|
|
|
case RTM_DELADDR:
|
|
|
bDelAddr = true;
|
|
|
+ // FALLTHRU
|
|
|
case RTM_NEWADDR:
|
|
|
if((af() == AF_Inet))
|
|
|
{
|
|
@@ -1973,12 +1772,23 @@ void QInterface::onNetmonEvent(unsigned int nEvtType, const void *pData, LPCRT_A
|
|
|
|
|
|
if((am.ifa_family == AF_INET) && (nMaxAtts > IFA_LOCAL))
|
|
|
{
|
|
|
- if(method() == IM_Dhcp)
|
|
|
+ switch(method())
|
|
|
+ {
|
|
|
+ case IM_Dhcp:
|
|
|
{
|
|
|
const struct in_addr &addr = *(const struct in_addr*)pAtts[IFA_LOCAL].pData;
|
|
|
const struct in_addr mask = {_PREFIX_TO_MASK(am.ifa_prefixlen)};
|
|
|
m_inet.dhcp()->setDynamicAddr(addr, mask, bDelAddr);
|
|
|
}
|
|
|
+ break;
|
|
|
+ case IM_Manual:
|
|
|
+ {
|
|
|
+ const struct in_addr &addr = *(const struct in_addr*)pAtts[IFA_LOCAL].pData;
|
|
|
+ const struct in_addr mask = {_PREFIX_TO_MASK(am.ifa_prefixlen)};
|
|
|
+ m_inet.manu()->setAddr(addr, mask, bDelAddr);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -1994,6 +1804,7 @@ void QInterface::onNetmonEvent(unsigned int nEvtType, const void *pData, LPCRT_A
|
|
|
QInet::QInet(ITF_IFACE_BLOCK &ifb, NotificationSink ¬ifyer, QObject *pParent) : QObject(pParent),
|
|
|
m_static(ifb.inet4s, notifyer, this),
|
|
|
m_dhcp(ifb.inet4d, notifyer, this),
|
|
|
+ m_manual(ifb.inet4m, notifyer, this),
|
|
|
m_rNotifyer(notifyer)
|
|
|
{
|
|
|
setObjectName("QInet");
|
|
@@ -2013,6 +1824,11 @@ QDhcp* QInet::dhcp(void)
|
|
|
return &m_dhcp;
|
|
|
}
|
|
|
|
|
|
+QManual* QInet::manu(void)
|
|
|
+{
|
|
|
+ return &m_manual;
|
|
|
+}
|
|
|
+
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
QStatic::QStatic(IFACE_INET_STATIC &itfs, NotificationSink ¬ifyer, QObject *pParent) : QObject(pParent),
|
|
@@ -2174,6 +1990,39 @@ QIPv4Address* QDhcp::netMask(void)
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
+QManual::QManual(IFACE_INET_MANUAL &itfm, NotificationSink ¬ifyer, QObject *pParent) : QObject(pParent),
|
|
|
+ m_itfm(itfm),
|
|
|
+ m_addr{0},
|
|
|
+ m_mask{0},
|
|
|
+ m_ipAddr(m_addr, notifyer, this),
|
|
|
+ m_netMask(m_mask, notifyer, this, _IsValidNetmask),
|
|
|
+ m_rNotifyer(notifyer)
|
|
|
+{
|
|
|
+ setObjectName("QManual");
|
|
|
+}
|
|
|
+
|
|
|
+QManual::~QManual(void)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+void QManual::setAddr(const struct in_addr &addr, const struct in_addr &mask, bool bDelete)
|
|
|
+{
|
|
|
+ m_ipAddr.setAddr(bDelete ? 0.0 : addr.s_addr);
|
|
|
+ m_netMask.setAddr(bDelete ? 0.0 : mask.s_addr);
|
|
|
+}
|
|
|
+
|
|
|
+QIPv4Address* QManual::ipAddress(void)
|
|
|
+{
|
|
|
+ return &m_ipAddr;
|
|
|
+}
|
|
|
+
|
|
|
+QIPv4Address* QManual::netMask(void)
|
|
|
+{
|
|
|
+ return &m_netMask;
|
|
|
+}
|
|
|
+
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
QIPv4Address::QIPv4Address(struct in_addr &addr, NotificationSink ¬ifyer, QObject *pParent, PFN_ADDRESS_VALIDATOR pfnAddrValidator) : QObject(pParent),
|
|
|
m_addr(addr),
|
|
|
m_pfnAddrValidator(pfnAddrValidator),
|
|
@@ -2217,7 +2066,6 @@ int QIPv4Address::b3(void) const
|
|
|
|
|
|
QVariant QIPv4Address::addr(void) const
|
|
|
{
|
|
|
-// return ::ntohl(m_addr.s_addr);
|
|
|
return m_addr.s_addr;
|
|
|
}
|
|
|
|
|
@@ -2324,7 +2172,6 @@ void QIPv4Address::setB3(int b)
|
|
|
|
|
|
void QIPv4Address::setAddr(const QVariant &val)
|
|
|
{
|
|
|
-// unsigned int addr = ::htonl(val.toUInt());
|
|
|
unsigned int addr = val.toUInt();
|
|
|
|
|
|
if(m_addr.s_addr != addr)
|