-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | examples/opienet/miniwellenreiter/miniwellenreiter.cpp | 2 | ||||
-rw-r--r-- | examples/opienet/onetworkdemo/onetworkdemo.cpp | 2 | ||||
-rw-r--r-- | libopie2/opienet/onetutils.cpp | 19 | ||||
-rw-r--r-- | libopie2/opienet/onetutils.h | 8 | ||||
-rw-r--r-- | libopie2/opienet/onetwork.cpp | 43 | ||||
-rw-r--r-- | libopie2/opienet/onetwork.h | 7 | ||||
-rw-r--r-- | noncore/applets/networkapplet/networkapplet.cpp | 6 | ||||
-rw-r--r-- | noncore/net/opiestumbler/opiestumbler.cpp | 2 |
9 files changed, 47 insertions, 44 deletions
@@ -28,4 +28,6 @@ * Rewrite OFileNotification to use the upcoming inotify interface instead of the deprecated dnotify (mickeyl) * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl) + * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl) + * libopienet: Miscellaneous API cleanups (mickeyl) 2005-03-25 Opie 1.2.0 diff --git a/examples/opienet/miniwellenreiter/miniwellenreiter.cpp b/examples/opienet/miniwellenreiter/miniwellenreiter.cpp index ebd3b5f..ba9d2ca 100644 --- a/examples/opienet/miniwellenreiter/miniwellenreiter.cpp +++ b/examples/opienet/miniwellenreiter/miniwellenreiter.cpp @@ -52,5 +52,5 @@ public: printf( " - '%s' (MAC=%s) (IPv4=%s)\n", (const char*) it.current()->name(), (const char*) it.current()->macAddress().toString(), - (const char*) it.current()->ipV4Address() ); + (const char*) it.current()->ipV4Address().toString() ); } ++it; diff --git a/examples/opienet/onetworkdemo/onetworkdemo.cpp b/examples/opienet/onetworkdemo/onetworkdemo.cpp index b3a1115..e8958dc 100644 --- a/examples/opienet/onetworkdemo/onetworkdemo.cpp +++ b/examples/opienet/onetworkdemo/onetworkdemo.cpp @@ -60,5 +60,5 @@ int main( int argc, char** argv ) odebug << "DEMO: Manufacturertest1 = '" << OManufacturerDB::instance()->lookupExt( "08:00:87" ) << "'" << oendl; odebug << "DEMO: Manufacturertest2 = '" << OManufacturerDB::instance()->lookupExt( "E2:0C:0F" ) << "'" << oendl; - odebug << "Demo: IPv4 Address is '" << it.current()->ipV4Address() << "'" << oendl; + odebug << "Demo: IPv4 Address is '" << it.current()->ipV4Address().toString() << "'" << oendl; if ( it.current()->isWireless() ) { diff --git a/libopie2/opienet/onetutils.cpp b/libopie2/opienet/onetutils.cpp index c8c494a..9c3e650 100644 --- a/libopie2/opienet/onetutils.cpp +++ b/libopie2/opienet/onetutils.cpp @@ -1,7 +1,5 @@ /* This file is part of the Opie Project - - (C) 2003 Michael 'Mickey' Lauer <mickey@Vanille.de> - =. + =. (C) 2003-2005 Michael 'Mickey' Lauer <mickey@Vanille.de> .=l. .>+-= @@ -137,4 +135,19 @@ bool operator==( const OMacAddress &m1, const OMacAddress &m2 ) *======================================================================================*/ +OHostAddress::OHostAddress() + :QHostAddress() +{ +} + + +OHostAddress::OHostAddress( Q_UINT32 ip4Addr ) + :QHostAddress( ip4Addr ) +{ +} + + +OHostAddress::~OHostAddress() +{ +} /*====================================================================================== diff --git a/libopie2/opienet/onetutils.h b/libopie2/opienet/onetutils.h index 25c9238..f08738c 100644 --- a/libopie2/opienet/onetutils.h +++ b/libopie2/opienet/onetutils.h @@ -1,6 +1,5 @@ /* This file is part of the Opie Project - (C) 2003-2005 Michael 'Mickey' Lauer <mickey@Vanille.de> - =. + =. (C) 2003-2005 Michael 'Mickey' Lauer <mickey@Vanille.de> .=l. .>+-= @@ -90,8 +89,9 @@ bool operator==( const OMacAddress &m1, const OMacAddress &m2 ); class OHostAddress : public QHostAddress { - /*public: + public: OHostAddress(); + OHostAddress( Q_UINT32 ip4Addr ); ~OHostAddress(); - */ + private: class Private; diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp index 1deb051..0649ca2 100644 --- a/libopie2/opienet/onetwork.cpp +++ b/libopie2/opienet/onetwork.cpp @@ -1,6 +1,5 @@ /* This file is part of the Opie Project - Copyright (C) 2003-2005 by Michael 'Mickey' Lauer <mickey@Vanille.de> - =. + =. Copyright (C) 2003-2005 by Michael 'Mickey' Lauer <mickey@Vanille.de> .=l. .>+-= @@ -86,8 +85,4 @@ void ONetwork::synchronize() { // gather available interfaces by inspecting /proc/net/dev - //FIXME: we could use SIOCGIFCONF here, but we aren't interested in virtual (e.g. eth0:0) devices - //FIXME: Use SIOCGIFCONF anway, because we can disable listing of aliased devices - //FIXME: Best is use SIOCGIFCONF and if this doesn't work (result=-1), then fallback to parsing /proc/net/dev - _interfaces.clear(); QString str; @@ -203,5 +198,4 @@ void ONetworkInterface::init() { odebug << "ONetworkInterface::init()" << oendl; - memset( &_ifr, 0, sizeof( struct ifreq ) ); @@ -271,15 +265,8 @@ void ONetworkInterface::setIPV4Address( const QHostAddress& addr ) -QString ONetworkInterface::ipV4Address() const +OHostAddress ONetworkInterface::ipV4Address() const { - if ( ioctl( SIOCGIFADDR ) ) - { - struct sockaddr_in* sa = (struct sockaddr_in *) &_ifr.ifr_addr; - //FIXME: Use QHostAddress here - return QString( inet_ntoa( sa->sin_addr ) ); - } - else - return "<unknown>"; - + struct sockaddr_in* sa = (struct sockaddr_in *) &_ifr.ifr_addr; + return ioctl( SIOCGIFADDR ) ? OHostAddress( ntohl( sa->sin_addr.s_addr ) ) : OHostAddress(); } @@ -316,14 +303,8 @@ void ONetworkInterface::setIPV4Netmask( const QHostAddress& addr ) -QString ONetworkInterface::ipV4Netmask() const +OHostAddress ONetworkInterface::ipV4Netmask() const { - if ( ioctl( SIOCGIFNETMASK ) ) - { - struct sockaddr_in* sa = (struct sockaddr_in *) &_ifr.ifr_addr; - //FIXME: Use QHostAddress here - return QString( inet_ntoa( sa->sin_addr ) ); - } - else - return "<unknown>"; + struct sockaddr_in* sa = (struct sockaddr_in *) &_ifr.ifr_addr; + return ioctl( SIOCGIFNETMASK ) ? OHostAddress( ntohl( sa->sin_addr.s_addr ) ) : OHostAddress(); } @@ -548,5 +529,13 @@ void OWirelessNetworkInterface::buildInformation() wrq.u.data.flags = 0; - if ( ::ioctl( _sfd, SIOCGIWRANGE, &wrq ) == -1 ) + int result = ::ioctl( _sfd, SIOCGIWRANGE, &wrq ); + if ( result == -1 ) + { + owarn << "OWirelessNetworkInterface::buildInformation(): SIOCGIWRANGE failed (" << strerror( errno ) << ") - retrying with smaller buffer..." << oendl; + wrq.u.data.length = sizeof( struct iw_range ); + result = ::ioctl( _sfd, SIOCGIWRANGE, &wrq ); + } + + if ( result == -1 ) { owarn << "OWirelessNetworkInterface::buildInformation(): Can't get driver information (" << strerror( errno ) << ") - using default values." << oendl; diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h index f0c4450..b13c7a3 100644 --- a/libopie2/opienet/onetwork.h +++ b/libopie2/opienet/onetwork.h @@ -1,6 +1,5 @@ /* This file is part of the Opie Project - Copyright (C) 2003-2005 by Michael 'Mickey' Lauer <mickey@Vanille.de> - =. + =. Copyright (C) 2003-2005 by Michael 'Mickey' Lauer <mickey@Vanille.de> .=l. .>+-= @@ -199,5 +198,5 @@ class ONetworkInterface : public QObject * @returns the IPv4 address associated with the interface. */ - QString ipV4Address() const; //TODO: make this return an OHostAddress + OHostAddress ipV4Address() const; /** * Associate the MAC address @a addr with the interface. @@ -218,5 +217,5 @@ class ONetworkInterface : public QObject * @returns the IPv4 netmask associated with the interface. */ - QString ipV4Netmask() const; //TODO: make this return an OHostAddress + OHostAddress ipV4Netmask() const; /** * @returns the data link type currently associated with the interface. diff --git a/noncore/applets/networkapplet/networkapplet.cpp b/noncore/applets/networkapplet/networkapplet.cpp index 534a8d0..bd6ca66 100644 --- a/noncore/applets/networkapplet/networkapplet.cpp +++ b/noncore/applets/networkapplet/networkapplet.cpp @@ -84,5 +84,5 @@ IfaceIPAddress::IfaceIPAddress( QWidget* parent, const char* name ) _iface = ONetwork::instance()->interface( name ); setFixedWidth( 105 ); - setText( _iface->ipV4Address() ); + setText( _iface->ipV4Address().toString() ); connect( this, SIGNAL( returnPressed() ), this, SLOT( returnPressed() ) ); } @@ -99,8 +99,8 @@ void IfaceIPAddress::returnPressed() a.setAddress( text() ); QHostAddress mask; - mask.setAddress( _iface->ipV4Netmask() ); // setIPV4Address destroys the netmask... + mask.setAddress( _iface->ipV4Netmask().toString() ); // setIPV4Address destroys the netmask... _iface->setIPV4Address( a ); _iface->setIPV4Netmask( mask ); // recover the old netmask - setText( _iface->ipV4Address() ); + setText( _iface->ipV4Address().toString() ); repaint(); } diff --git a/noncore/net/opiestumbler/opiestumbler.cpp b/noncore/net/opiestumbler/opiestumbler.cpp index 8dedd67..f231fca 100644 --- a/noncore/net/opiestumbler/opiestumbler.cpp +++ b/noncore/net/opiestumbler/opiestumbler.cpp @@ -337,5 +337,5 @@ void OpieStumbler::slotCheckDHCP() OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); - Global::statusMessage(tr("Obtained IP ") + wiface->ipV4Address()); + Global::statusMessage(tr("Obtained IP ") + wiface->ipV4Address().toString()); } |