Update to 0.6.80 for KDE4

This commit is contained in:
Max Brazhnikov 2010-09-21 07:32:07 +00:00
parent a1080f166e
commit acf6a8d609
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=261525
10 changed files with 125 additions and 836 deletions

View File

@ -5,23 +5,23 @@
# $FreeBSD$
PORTNAME= knemo
PORTVERSION= 0.4.1
PORTREVISION= 5
PORTVERSION= 0.6.80
CATEGORIES= net kde
MASTER_SITES= http://www.eris23.de/knemo/
MASTER_SITES= http://kde-apps.org/CONTENT/content-files/
DISTNAME= 12956-${PORTNAME}-${PORTVERSION}
MAINTAINER= markus@FreeBSD.org
MAINTAINER= makc@FreeBSD.org
COMMENT= Network monitor for KDE
LATEST_LINK= ${PORTNAME}-kde4
USE_BZIP2= yes
USE_KDELIBS_VER=3
USE_GMAKE= yes
USE_AUTOTOOLS= libtool:22
USE_CMAKE= yes
USE_QT_VER= 4
QT_COMPONENTS= qmake_build moc_build uic_build rcc_build
USE_KDE4= kdeprefix kdelibs automoc4
post-patch:
@${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/${CONFIGURE_SCRIPT}
post-install:
@${CAT} ${PKGMESSAGE}
MAKE_JOBS_SAFE= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
MD5 (knemo-0.4.1.tar.bz2) = 93ee976ba6bad9a8a726f46021e5c344
SHA256 (knemo-0.4.1.tar.bz2) = 3362e90e606bc3028dd010ad305852f3dfd7eb5b6488e0783c2db393e3f1d114
SIZE (knemo-0.4.1.tar.bz2) = 592925
MD5 (12956-knemo-0.6.80.tar.bz2) = ef52f6400c562a7cce967ad6d301ce8c
SHA256 (12956-knemo-0.6.80.tar.bz2) = 337df0e822f8e5703e93c1becb63150f0a1734d4d3dbdebf8bb9dff4a30c0022
SIZE (12956-knemo-0.6.80.tar.bz2) = 627336

View File

@ -1,78 +0,0 @@
--- src/kcm/configdialog.cpp.orig Sat Apr 1 21:44:21 2006
+++ src/kcm/configdialog.cpp Sun Apr 2 19:14:11 2006
@@ -17,6 +17,16 @@
Boston, MA 02110-1301, USA.
*/
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <net/if_mib.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <net/route.h>
+#endif
+
#include <qfile.h>
#include <qdict.h>
#include <qlabel.h>
@@ -363,6 +373,39 @@
void ConfigDialog::defaults()
{
// Default interfaces
+#ifdef Q_OS_FREEBSD
+ /* Determine number of interfaces */
+ u_int n = 0;
+ size_t nlen = 0;
+ nlen = sizeof(n);
+
+ if ( sysctlbyname("net.link.generic.system.ifcount", &n, &nlen, NULL, 0) != -1 )
+ {
+ mSettingsDict.clear();
+ mDlg->listBoxInterfaces->clear();
+
+ ifmibdata ifmd;
+ size_t len = 0;
+ len = sizeof(ifmd);
+ static int name[] = { CTL_NET,
+ PF_LINK,
+ NETLINK_GENERIC,
+ IFMIB_IFDATA,
+ 0,
+ IFDATA_GENERAL };
+
+ for (int i = 1; i <= n; ++i)
+ {
+ name[4] = i;
+ /* Get data for iface-number i */
+ if ( sysctl(name, 6, (void*)&ifmd, (size_t*)&len, (void*)NULL, (size_t)0) == -1 )
+ continue;
+
+ QString interface = QString::fromLatin1(ifmd.ifmd_name);
+
+ if ( ifmd.ifmd_flags & IFF_LOOPBACK)
+ continue;
+#else
QFile proc( "/proc/net/dev" );
if ( proc.open( IO_ReadOnly ) )
{
@@ -380,6 +423,7 @@
if ( interface == "lo" )
continue;
+#endif
InterfaceSettings* settings = new InterfaceSettings();
settings->customCommands = false;
settings->hideWhenNotAvailable = false;
@@ -401,8 +445,10 @@
mDlg->checkBoxStatistics->setChecked( false );
mDlg->checkBoxCustom->setChecked( false );
}
+#ifndef __FreeBSD__
}
proc.close();
+#endif
}
// Default tool tips

View File

@ -1,35 +0,0 @@
--- src/knemod/global.h.orig Sat Apr 1 21:44:22 2006
+++ src/knemod/global.h Sun Apr 2 21:33:36 2006
@@ -22,6 +22,7 @@
#include <qpair.h>
#include <qcolor.h>
+#include <qdict.h>
#include <qstring.h>
/**
@@ -36,6 +37,11 @@
int toolTipContent;
};
+struct AddrData {
+ QString subnetMask;
+ QString broadcastAddress;
+};
+
struct InterfaceData
{
InterfaceData()
@@ -59,11 +65,9 @@
unsigned long prevTxBytes;
unsigned long incomingBytes;
unsigned long outgoingBytes;
- QString ipAddress;
- QString subnetMask;
+ QDict<AddrData> addrData;
QString hwAddress;
QString ptpAddress;
- QString broadcastAddress;
QString defaultGateway;
QString rxString;
QString txString;

View File

@ -1,50 +0,0 @@
--- src/knemod/interfacestatusdialog.cpp.orig Sat Apr 1 21:44:22 2006
+++ src/knemod/interfacestatusdialog.cpp Sun Apr 2 21:34:55 2006
@@ -24,6 +24,7 @@
#include <qtabwidget.h>
#include <kdebug.h>
+#include <kcombobox.h>
#include <kconfig.h>
#include <klocale.h>
#include <kglobal.h>
@@ -92,6 +93,10 @@
mTimer = new QTimer();
connect( mTimer, SIGNAL( timeout() ), this, SLOT( updateDialog() ) );
mTimer->start( 1000 );
+
+#ifdef Q_OS_FREEBSD
+ connect( comboBoxIP, SIGNAL( activated(int) ), this, SLOT( updateDialog() ) );
+#endif
}
InterfaceStatusDialog::~InterfaceStatusDialog()
@@ -201,12 +206,28 @@
if ( data.available )
{
// ip tab
+#ifdef Q_OS_FREEBSD
+ if ( data.addrData.count() != comboBoxIP->count() )
+ comboBoxIP->clear();
+
+ QDictIterator<AddrData> it( data.addrData );
+ for( ; it.current(); ++it )
+ if (!comboBoxIP->contains(it.currentKey()))
+ comboBoxIP->insertItem( it.currentKey() );
+
+ textLabelSubnet->setText(data.addrData[ comboBoxIP->currentText() ]->subnetMask);
+#else
textLabelIP->setText( data.ipAddress );
textLabelSubnet->setText( data.subnetMask );
+#endif
if ( mInterface->getType() == Interface::ETHERNET )
{
variableLabel1->setText( i18n( "Broadcast Address:" ) );
+#ifdef Q_OS_FREEBSD
+ variableText1->setText( data.addrData[ comboBoxIP->currentText() ]->broadcastAddress);
+#else
variableText1->setText( data.broadcastAddress );
+#endif
variableLabel2->setText( i18n( "Default Gateway:" ) );
variableText2->setText( data.defaultGateway );
variableLabel3->setText( i18n( "HW-Address:" ) );

View File

@ -1,262 +0,0 @@
--- src/knemod/interfacestatusdlg.ui.orig Sat Apr 1 21:44:22 2006
+++ src/knemod/interfacestatusdlg.ui Sun Apr 2 21:28:01 2006
@@ -145,7 +145,7 @@
</property>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout3</cstring>
+ <cstring>layout7</cstring>
</property>
<hbox>
<property name="name">
@@ -171,18 +171,18 @@
</property>
<property name="sizeHint">
<size>
- <width>20</width>
+ <width>40</width>
<height>20</height>
</size>
</property>
</spacer>
- <widget class="KActiveLabel">
+ <widget class="KComboBox">
<property name="name">
- <cstring>textLabelIP</cstring>
+ <cstring>comboBoxIP</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
- <hsizetype>1</hsizetype>
+ <hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
@@ -193,7 +193,7 @@
</widget>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout4</cstring>
+ <cstring>layout8</cstring>
</property>
<hbox>
<property name="name">
@@ -207,41 +207,30 @@
<string>Subnet Mask:</string>
</property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer13_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>71</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="KActiveLabel">
+ <widget class="QLabel">
<property name="name">
<cstring>textLabelSubnet</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
</widget>
</hbox>
</widget>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout5</cstring>
+ <cstring>layout9</cstring>
</property>
<hbox>
<property name="name">
@@ -255,41 +244,22 @@
<string>Broadcast Address:</string>
</property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer13_3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>71</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="KActiveLabel">
+ <widget class="QLabel">
<property name="name">
<cstring>variableText1</cstring>
</property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
</property>
</widget>
</hbox>
</widget>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout6</cstring>
+ <cstring>layout10</cstring>
</property>
<hbox>
<property name="name">
@@ -303,41 +273,30 @@
<string>Default Gateway:</string>
</property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer13_4</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>71</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="KActiveLabel">
+ <widget class="QLabel">
<property name="name">
<cstring>variableText2</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
</widget>
</hbox>
</widget>
<widget class="QLayoutWidget">
<property name="name">
- <cstring>layout7</cstring>
+ <cstring>layout11</cstring>
</property>
<hbox>
<property name="name">
@@ -351,35 +310,24 @@
<string>HW-Address:</string>
</property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer13_5</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>71</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="KActiveLabel">
+ <widget class="QLabel">
<property name="name">
<cstring>variableText3</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
</widget>
</hbox>
</widget>
@@ -893,8 +841,6 @@
</widget>
</vbox>
</widget>
-<customwidgets>
-</customwidgets>
<connections>
<connection>
<sender>buttonClose</sender>
@@ -905,10 +851,6 @@
</connections>
<layoutdefaults spacing="6" margin="11"/>
<includehints>
- <includehint>kactivelabel.h</includehint>
- <includehint>kactivelabel.h</includehint>
- <includehint>kactivelabel.h</includehint>
- <includehint>kactivelabel.h</includehint>
- <includehint>kactivelabel.h</includehint>
+ <includehint>kcombobox.h</includehint>
</includehints>
</UI>

View File

@ -1,34 +0,0 @@
--- src/knemod/interfacetooltip.cpp.orig Sat Apr 1 21:44:22 2006
+++ src/knemod/interfacetooltip.cpp Sun Apr 2 21:30:52 2006
@@ -101,6 +101,23 @@
if ( data.available )
{
+#ifdef Q_OS_FREEBSD
+ QDictIterator<AddrData> it( data.addrData );
+ for( ; it.current(); ++it )
+ {
+ if ( toolTipContent & IP_ADDRESS )
+ text += "<tr><td>" + mToolTips[4].first + "</td><td>" + it.currentKey() + "</td></tr>";
+ if ( toolTipContent & SUBNET_MASK )
+ text += "<tr><td>" + mToolTips[5].first + "</td><td>" + it.current()->subnetMask + "</td></tr>";
+ if ( mInterface->getType() == Interface::ETHERNET )
+ {
+ if ( toolTipContent & BCAST_ADDRESS )
+ text += "<tr><td>" + mToolTips[18].first + "</td><td>" + it.current()->broadcastAddress + "</td></tr>";
+ }
+ }
+ if ( mInterface->getType() == Interface::ETHERNET )
+ {
+#else
if ( toolTipContent & IP_ADDRESS )
text += "<tr><td>" + mToolTips[4].first + "</td><td>" + data.ipAddress + "</td></tr>";
if ( toolTipContent & SUBNET_MASK )
@@ -109,6 +126,7 @@
{
if ( toolTipContent & BCAST_ADDRESS )
text += "<tr><td>" + mToolTips[18].first + "</td><td>" + data.broadcastAddress + "</td></tr>";
+#endif
if ( toolTipContent & GATEWAY )
text += "<tr><td>" + mToolTips[19].first + "</td><td>" + data.defaultGateway + "</td></tr>";
if ( toolTipContent & HW_ADDRESS )

View File

@ -1,291 +0,0 @@
--- src/knemod/interfaceupdater.cpp.orig Mon Jun 12 13:20:13 2006
+++ src/knemod/interfaceupdater.cpp Mon Jun 12 14:43:02 2006
@@ -17,6 +17,24 @@
Boston, MA 02110-1301, USA.
*/
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/sysctl.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <net/ethernet.h>
+#include <net/if_media.h>
+#include <net/if_types.h>
+#include <net/if.h>
+#include <net/if_dl.h>
+#include <net/if_mib.h>
+#include <netdb.h>
+#include <ifaddrs.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#endif
+
#include <qmap.h>
#include <qregexp.h>
#include <qstringlist.h>
@@ -40,6 +58,7 @@
InterfaceUpdater::~InterfaceUpdater()
{
+#ifndef Q_OS_FREEBSD
if ( mRouteProcess )
{
mRouteProcess->kill();
@@ -55,10 +74,12 @@
mIwconfigProcess->kill();
delete mIwconfigProcess;
}
+#endif
}
void InterfaceUpdater::checkConfig()
{
+#ifndef Q_OS_FREEBSD
if ( !mIfconfigProcess )
{
mIfconfigStdout = QString::null;
@@ -100,6 +121,7 @@
}
}
#endif
+#endif // Q_OS_FREEBSD
#ifdef PATH_ROUTE
if ( !mRouteProcess )
@@ -108,7 +130,11 @@
mRouteProcess = new KProcess();
mRouteProcess->setEnvironment( "LANG", "C" );
mRouteProcess->setEnvironment( "LC_ALL", "C" );
+#ifdef Q_OS_FREEBSD
+ *mRouteProcess << PATH_ROUTE << "-n" << "get" << "default";
+#else
*mRouteProcess << PATH_ROUTE << "-n";
+#endif
connect( mRouteProcess, SIGNAL( receivedStdout( KProcess*, char*, int ) ),
this, SLOT( routeProcessStdout( KProcess*, char*, int ) ) );
connect( mRouteProcess, SIGNAL( receivedStderr( KProcess*, char*, int ) ),
@@ -123,6 +149,140 @@
}
}
#endif
+
+#ifdef Q_OS_FREEBSD
+ // Check interfaces and update accordingly
+
+ Interface* interface = 0;
+ InterfaceData* data = 0;
+
+ struct if_data* ifd;
+ struct ifaddrs *ifap;
+ char buf[NI_MAXHOST];
+
+ // Reset all devices first
+ QDictIterator<Interface> ifIt( mInterfaceDict );
+ for ( ; ifIt.current(); ++ifIt )
+ {
+ interface = ifIt.current();
+ interface->getData().existing = false;
+ interface->getData().available = false;
+ interface->getData().addrData.clear();
+ }
+
+ // Get IP address and related information
+ if ( getifaddrs(&ifap) == 0 ) {
+ for ( ifaddrs *ifa = ifap; ifa; ifa = ifa->ifa_next ) {
+ switch ( ifa->ifa_addr->sa_family ) {
+ case AF_INET6:
+ case AF_INET:
+ interface = mInterfaceDict[QString::fromLatin1(ifa->ifa_name)];
+ if ( interface ) {
+ data = &interface->getData();
+
+ bzero(buf, NI_MAXHOST);
+ getnameinfo(ifa->ifa_addr, ifa->ifa_addr->sa_len, buf, sizeof(buf), 0, 0, NI_NUMERICHOST);
+ AddrData *addrData = new AddrData;
+ data->addrData.insert( QString::fromLatin1(buf), addrData);
+
+ if ( ifa->ifa_netmask != NULL ) {
+ if (ifa->ifa_addr->sa_family == AF_INET6 ) {
+ bzero(buf, NI_MAXHOST);
+ getnameinfo(ifa->ifa_netmask, ifa->ifa_netmask->sa_len, buf, sizeof(buf), 0, 0, NI_NUMERICHOST);
+ addrData->subnetMask = QString::fromLatin1( buf );
+ } else {
+ struct sockaddr_in *sin = (struct sockaddr_in *)ifa->ifa_netmask;
+ addrData->subnetMask = QString::fromLatin1( inet_ntoa(sin->sin_addr) );
+ }
+ }
+
+ if ( ifa->ifa_broadaddr != NULL ) {
+ bzero(buf, NI_MAXHOST);
+ getnameinfo(ifa->ifa_broadaddr, ifa->ifa_broadaddr->sa_len, buf, sizeof(buf), 0, 0, NI_NUMERICHOST);
+ addrData->broadcastAddress = QString::fromLatin1(buf);
+ }
+
+ if ( ifa->ifa_dstaddr != NULL ) {
+ bzero(buf, NI_MAXHOST);
+ getnameinfo(ifa->ifa_dstaddr, ifa->ifa_dstaddr->sa_len, buf, sizeof(buf), 0, 0, NI_NUMERICHOST);
+ data->ptpAddress = QString::fromLatin1(buf);
+ }
+
+ data->existing = true;
+ interface->setType((ifa->ifa_flags & IFF_POINTOPOINT ) ? Interface::PPP : Interface::ETHERNET );
+
+ // Get media status
+ int s;
+ if ((s = socket(ifa->ifa_addr->sa_family, SOCK_DGRAM, 0)) >= 0) {
+ struct ifmediareq ifmr;
+ (void) memset(&ifmr, 0, sizeof(ifmr));
+ (void) strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name));
+
+ if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) >= 0) {
+ if (ifmr.ifm_status & IFM_AVALID)
+ /*
+ * The interface is marked available, if the interface is up
+ * and if it is has carrier (LAN) or is associated (WLAN)
+ */
+ data->available = (ifa->ifa_flags & IFF_UP) && (ifmr.ifm_status & IFM_ACTIVE);
+ }
+ else
+ data->available = (ifa->ifa_flags & IFF_UP);
+
+ close(s);
+ }
+ }
+ break;
+
+ case AF_LINK:
+ interface = mInterfaceDict[QString::fromLatin1(ifa->ifa_name)];
+ if ( interface ) {
+ data = &interface->getData();
+
+ // get MAC address
+ struct sockaddr_dl* sdl = (struct sockaddr_dl*)ifa->ifa_addr;
+ if (sdl->sdl_type == IFT_ETHER && sdl->sdl_alen == ETHER_ADDR_LEN)
+ data->hwAddress = QString::fromLatin1(ether_ntoa((struct ether_addr*)LLADDR(sdl)));
+ else
+ data->hwAddress = "";
+
+ // Get traffic statistics
+ if (ifa->ifa_data != NULL) {
+ ifd = (if_data *)ifa->ifa_data;
+
+ data->rxPackets = ifd->ifi_ipackets;
+ data->txPackets = ifd->ifi_opackets;
+
+ if ( data->prevRxBytes == 0L )
+ data->prevRxBytes = ifd->ifi_ibytes;
+ else
+ data->prevRxBytes = data->rxBytes;
+
+ data->rxBytes = ifd->ifi_ibytes;
+ data->incomingBytes = data->rxBytes - data->prevRxBytes;
+ data->rxString = KIO::convertSize( data->rxBytes );
+
+ if ( data->prevTxBytes == 0L )
+ data->prevTxBytes = ifd->ifi_obytes;
+ else
+ data->prevTxBytes = data->txBytes;
+
+ data->txBytes = ifd->ifi_obytes;
+ data->outgoingBytes = data->txBytes - data->prevTxBytes;
+ data->txString = KIO::convertSize( data->txBytes );
+ }
+ }
+ break;
+ }
+ }
+ freeifaddrs(ifap);
+ }
+
+ // Update the display
+ for ( ifIt.toFirst(); ifIt.current(); ++ifIt )
+ ifIt.current()->activateMonitor();
+
+#endif // Q_OS_FREEBSD
}
void InterfaceUpdater::routeProcessExited( KProcess* process )
@@ -172,6 +332,7 @@
void InterfaceUpdater::parseIfconfigOutput()
{
+#ifndef Q_OS_FREEBSD
/* mIfconfigStdout contains the complete output of 'ifconfig' which we
* are going to parse here.
*/
@@ -228,10 +389,12 @@
}
interface->activateMonitor();
}
+#endif
}
void InterfaceUpdater::updateInterfaceData( QString& config, InterfaceData& data, int type )
{
+#ifndef Q_OS_FREEBSD
QRegExp regExp( ".*RX.*:(\\d+).*:\\d+.*:\\d+.*:\\d+" );
if ( regExp.search( config ) > -1 )
data.rxPackets = regExp.cap( 1 ).toULong();
@@ -321,10 +484,12 @@
if ( regExp.search( config ) > -1 )
data.ptpAddress = regExp.cap( 2 );
}
+#endif
}
void InterfaceUpdater::parseIwconfigOutput()
{
+#ifndef Q_OS_FREEBSD
/* mIwconfigStdout contains the complete output of 'iwconfig' which we
* are going to parse here.
*/
@@ -367,10 +532,12 @@
updateWirelessData( configs[key], interface->getWirelessData() );
}
}
+#endif
}
void InterfaceUpdater::updateWirelessData( QString& config, WirelessData& data )
{
+#ifndef Q_OS_FREEBSD
QRegExp regExp( "ESSID:\"?([^\"]*)\"?" );
if ( regExp.search( config ) > -1 )
data.essid = regExp.cap( 1 );
@@ -404,6 +571,7 @@
regExp.setPattern( "Link Quality[=:]([\\d/]*)" );
if ( regExp.search( config ) > -1 )
data.linkQuality = regExp.cap( 1 );
+#endif
}
void InterfaceUpdater::parseRouteOutput()
@@ -412,16 +580,25 @@
* are going to parse here.
*/
QMap<QString, QStringList> configs;
- QStringList routeList = QStringList::split( "\n", mRouteStdout );
+ QStringList gateway, routeList = QStringList::split( "\n", mRouteStdout );
QStringList::Iterator it;
for ( it = routeList.begin(); it != routeList.end(); ++it )
{
QStringList routeParameter = QStringList::split( " ", *it );
+#ifdef Q_OS_FREEBSD
+ if ( routeParameter.count() != 2 )
+ continue;
+ if ( routeParameter[0] == "gateway:" )
+ gateway = routeParameter;
+ if ( routeParameter[0] == "interface:" )
+ configs[routeParameter[1]] = gateway;
+#else
if ( routeParameter.count() < 8 ) // no routing entry
continue;
if ( routeParameter[0] != "0.0.0.0" ) // no default route
continue;
configs[routeParameter[7]] = routeParameter;
+#endif
}
/* We loop over the interfaces the user wishs to monitor.

View File

@ -1,11 +0,0 @@
--- src/knemod/knemodaemon.cpp.orig Mon Jun 12 15:47:54 2006
+++ src/knemod/knemodaemon.cpp Mon Jun 12 16:30:45 2006
@@ -306,6 +306,8 @@
// needed to calculate the current speed
mGeneralData.secondsSinceLastUpdate = mLastUpdateTime.secsTo( QDateTime::currentDateTime() );
+ if (mGeneralData.secondsSinceLastUpdate == 0)
+ mGeneralData.secondsSinceLastUpdate = 1;
mLastUpdateTime.setDate( QDate::currentDate() );
mLastUpdateTime.setTime( QTime::currentTime() );

View File

@ -1,88 +1,138 @@
lib/kde3/kcm_knemo.a
lib/kde3/kcm_knemo.la
lib/kde3/kcm_knemo.so
lib/kde3/kded_knemod.a
lib/kde3/kded_knemod.la
lib/kde3/kded_knemod.so
share/applications/kde/kcm_knemo.desktop
share/apps/knemo/eventsrc
share/icons/crystalsvg/16x16/apps/knemo.png
share/icons/crystalsvg/22x22/actions/network_connected.png
share/icons/crystalsvg/22x22/actions/network_connected_lan.png
share/icons/crystalsvg/22x22/actions/network_connected_ppp.png
share/icons/crystalsvg/22x22/actions/network_connected_wlan.png
share/icons/crystalsvg/22x22/actions/network_disconnected.png
share/icons/crystalsvg/22x22/actions/network_disconnected_lan.png
share/icons/crystalsvg/22x22/actions/network_disconnected_ppp.png
share/icons/crystalsvg/22x22/actions/network_disconnected_wlan.png
share/icons/crystalsvg/22x22/actions/network_incoming.png
share/icons/crystalsvg/22x22/actions/network_incoming_lan.png
share/icons/crystalsvg/22x22/actions/network_incoming_ppp.png
share/icons/crystalsvg/22x22/actions/network_incoming_wlan.png
share/icons/crystalsvg/22x22/actions/network_outgoing.png
share/icons/crystalsvg/22x22/actions/network_outgoing_lan.png
share/icons/crystalsvg/22x22/actions/network_outgoing_ppp.png
share/icons/crystalsvg/22x22/actions/network_outgoing_wlan.png
share/icons/crystalsvg/22x22/actions/network_traffic.png
share/icons/crystalsvg/22x22/actions/network_traffic_lan.png
share/icons/crystalsvg/22x22/actions/network_traffic_ppp.png
share/icons/crystalsvg/22x22/actions/network_traffic_wlan.png
share/icons/crystalsvg/32x32/apps/knemo.png
bin/knemo
lib/kde4/kcm_knemo.so
share/applications/kde4/knemo.desktop
share/apps/kconf_update/knemo-0.5.1-iconsets.pl
share/apps/kconf_update/knemo-0.5.2-misc.pl
share/apps/kconf_update/knemo-0.6.1-misc.pl
share/apps/kconf_update/knemo-0.6.3-misc.pl
share/apps/kconf_update/knemo-0.7.0-misc.pl
share/apps/kconf_update/knemo.upd
share/apps/knemo/knemo.notifyrc
share/apps/knemo/themes/modem.desktop
share/apps/knemo/themes/monitor.desktop
share/apps/knemo/themes/network.desktop
share/apps/knemo/themes/wireless.desktop
share/autostart/knemo.desktop
share/icons/hicolor/128x128/apps/knemo.png
share/icons/hicolor/16x16/apps/knemo.png
share/icons/hicolor/22x22/apps/knemo.png
share/icons/hicolor/22x22/status/knemo-modem-error.png
share/icons/hicolor/22x22/status/knemo-modem-idle.png
share/icons/hicolor/22x22/status/knemo-modem-offline.png
share/icons/hicolor/22x22/status/knemo-modem-receive.png
share/icons/hicolor/22x22/status/knemo-modem-transmit-receive.png
share/icons/hicolor/22x22/status/knemo-modem-transmit.png
share/icons/hicolor/22x22/status/knemo-monitor-error.png
share/icons/hicolor/22x22/status/knemo-monitor-idle.png
share/icons/hicolor/22x22/status/knemo-monitor-offline.png
share/icons/hicolor/22x22/status/knemo-monitor-receive.png
share/icons/hicolor/22x22/status/knemo-monitor-transmit-receive.png
share/icons/hicolor/22x22/status/knemo-monitor-transmit.png
share/icons/hicolor/22x22/status/knemo-network-error.png
share/icons/hicolor/22x22/status/knemo-network-idle.png
share/icons/hicolor/22x22/status/knemo-network-offline.png
share/icons/hicolor/22x22/status/knemo-network-receive.png
share/icons/hicolor/22x22/status/knemo-network-transmit-receive.png
share/icons/hicolor/22x22/status/knemo-network-transmit.png
share/icons/hicolor/22x22/status/knemo-wireless-error.png
share/icons/hicolor/22x22/status/knemo-wireless-idle.png
share/icons/hicolor/22x22/status/knemo-wireless-offline.png
share/icons/hicolor/22x22/status/knemo-wireless-receive.png
share/icons/hicolor/22x22/status/knemo-wireless-transmit-receive.png
share/icons/hicolor/22x22/status/knemo-wireless-transmit.png
share/icons/hicolor/32x32/apps/knemo.png
share/icons/hicolor/48x48/apps/knemo.png
share/icons/hicolor/64x64/apps/knemo.png
share/icons/hicolor/scalable/apps/knemo.svgz
share/kde4/services/kcm_knemo.desktop
share/locale/ar/LC_MESSAGES/kcm_knemo.mo
share/locale/ar/LC_MESSAGES/knemo.mo
share/locale/bg/LC_MESSAGES/kcm_knemo.mo
share/locale/bg/LC_MESSAGES/knemod.mo
share/locale/bg/LC_MESSAGES/knemo.mo
share/locale/br/LC_MESSAGES/kcm_knemo.mo
share/locale/br/LC_MESSAGES/knemod.mo
share/locale/br/LC_MESSAGES/knemo.mo
share/locale/cs/LC_MESSAGES/kcm_knemo.mo
share/locale/cs/LC_MESSAGES/knemod.mo
share/locale/cs/LC_MESSAGES/knemo.mo
share/locale/cy/LC_MESSAGES/kcm_knemo.mo
share/locale/cy/LC_MESSAGES/knemod.mo
share/locale/cy/LC_MESSAGES/knemo.mo
share/locale/da/LC_MESSAGES/kcm_knemo.mo
share/locale/da/LC_MESSAGES/knemod.mo
share/locale/da/LC_MESSAGES/knemo.mo
share/locale/de/LC_MESSAGES/kcm_knemo.mo
share/locale/de/LC_MESSAGES/knemod.mo
share/locale/de/LC_MESSAGES/knemo.mo
share/locale/el/LC_MESSAGES/kcm_knemo.mo
share/locale/el/LC_MESSAGES/knemod.mo
share/locale/el/LC_MESSAGES/knemo.mo
share/locale/en_GB/LC_MESSAGES/kcm_knemo.mo
share/locale/en_GB/LC_MESSAGES/knemod.mo
share/locale/en_GB/LC_MESSAGES/knemo.mo
share/locale/eo/LC_MESSAGES/kcm_knemo.mo
share/locale/eo/LC_MESSAGES/knemo.mo
share/locale/es/LC_MESSAGES/kcm_knemo.mo
share/locale/es/LC_MESSAGES/knemod.mo
share/locale/es/LC_MESSAGES/knemo.mo
share/locale/et/LC_MESSAGES/kcm_knemo.mo
share/locale/et/LC_MESSAGES/knemod.mo
share/locale/et/LC_MESSAGES/knemo.mo
share/locale/fi/LC_MESSAGES/kcm_knemo.mo
share/locale/fi/LC_MESSAGES/knemo.mo
share/locale/fr/LC_MESSAGES/kcm_knemo.mo
share/locale/fr/LC_MESSAGES/knemod.mo
share/locale/fr/LC_MESSAGES/knemo.mo
share/locale/ga/LC_MESSAGES/kcm_knemo.mo
share/locale/ga/LC_MESSAGES/knemod.mo
share/locale/ga/LC_MESSAGES/knemo.mo
share/locale/gl/LC_MESSAGES/kcm_knemo.mo
share/locale/gl/LC_MESSAGES/knemo.mo
share/locale/hr/LC_MESSAGES/kcm_knemo.mo
share/locale/hr/LC_MESSAGES/knemo.mo
share/locale/hu/LC_MESSAGES/kcm_knemo.mo
share/locale/hu/LC_MESSAGES/knemod.mo
share/locale/hu/LC_MESSAGES/knemo.mo
share/locale/is/LC_MESSAGES/kcm_knemo.mo
share/locale/is/LC_MESSAGES/knemo.mo
share/locale/it/LC_MESSAGES/kcm_knemo.mo
share/locale/it/LC_MESSAGES/knemod.mo
share/locale/it/LC_MESSAGES/knemo.mo
share/locale/ja/LC_MESSAGES/kcm_knemo.mo
share/locale/ja/LC_MESSAGES/knemo.mo
share/locale/ka/LC_MESSAGES/kcm_knemo.mo
share/locale/ka/LC_MESSAGES/knemod.mo
share/locale/ka/LC_MESSAGES/knemo.mo
share/locale/km/LC_MESSAGES/kcm_knemo.mo
share/locale/km/LC_MESSAGES/knemo.mo
share/locale/lt/LC_MESSAGES/kcm_knemo.mo
share/locale/lt/LC_MESSAGES/knemod.mo
share/locale/lt/LC_MESSAGES/knemo.mo
share/locale/ms/LC_MESSAGES/kcm_knemo.mo
share/locale/nb/LC_MESSAGES/kcm_knemo.mo
share/locale/nb/LC_MESSAGES/knemo.mo
share/locale/nds/LC_MESSAGES/kcm_knemo.mo
share/locale/nds/LC_MESSAGES/knemo.mo
share/locale/nl/LC_MESSAGES/kcm_knemo.mo
share/locale/nl/LC_MESSAGES/knemod.mo
share/locale/nl/LC_MESSAGES/knemo.mo
share/locale/pl/LC_MESSAGES/kcm_knemo.mo
share/locale/pl/LC_MESSAGES/knemod.mo
share/locale/pl/LC_MESSAGES/knemo.mo
share/locale/pt/LC_MESSAGES/kcm_knemo.mo
share/locale/pt/LC_MESSAGES/knemod.mo
share/locale/pt/LC_MESSAGES/knemo.mo
share/locale/pt_BR/LC_MESSAGES/kcm_knemo.mo
share/locale/pt_BR/LC_MESSAGES/knemod.mo
share/locale/pt_BR/LC_MESSAGES/knemo.mo
share/locale/ro/LC_MESSAGES/kcm_knemo.mo
share/locale/ro/LC_MESSAGES/knemo.mo
share/locale/ru/LC_MESSAGES/kcm_knemo.mo
share/locale/ru/LC_MESSAGES/knemod.mo
share/locale/ru/LC_MESSAGES/knemo.mo
share/locale/rw/LC_MESSAGES/kcm_knemo.mo
share/locale/rw/LC_MESSAGES/knemod.mo
share/locale/rw/LC_MESSAGES/knemo.mo
share/locale/sk/LC_MESSAGES/kcm_knemo.mo
share/locale/sk/LC_MESSAGES/knemo.mo
share/locale/sr/LC_MESSAGES/kcm_knemo.mo
share/locale/sr/LC_MESSAGES/knemod.mo
share/locale/sr@Latn/LC_MESSAGES/kcm_knemo.mo
share/locale/sr@Latn/LC_MESSAGES/knemod.mo
share/locale/sr/LC_MESSAGES/knemo.mo
share/locale/sr@ijekavian/LC_MESSAGES/kcm_knemo.mo
share/locale/sr@ijekavian/LC_MESSAGES/knemo.mo
share/locale/sr@ijekavianlatin/LC_MESSAGES/kcm_knemo.mo
share/locale/sr@ijekavianlatin/LC_MESSAGES/knemo.mo
share/locale/sr@latin/LC_MESSAGES/kcm_knemo.mo
share/locale/sr@latin/LC_MESSAGES/knemo.mo
share/locale/sv/LC_MESSAGES/kcm_knemo.mo
share/locale/sv/LC_MESSAGES/knemod.mo
share/locale/sv/LC_MESSAGES/knemo.mo
share/locale/tr/LC_MESSAGES/kcm_knemo.mo
share/locale/tr/LC_MESSAGES/knemod.mo
share/services/kded/knemod.desktop
@dirrmtry share/services/kded
share/locale/tr/LC_MESSAGES/knemo.mo
share/locale/uk/LC_MESSAGES/kcm_knemo.mo
share/locale/uk/LC_MESSAGES/knemo.mo
share/locale/zh_CN/LC_MESSAGES/kcm_knemo.mo
share/locale/zh_CN/LC_MESSAGES/knemo.mo
share/locale/zh_TW/LC_MESSAGES/kcm_knemo.mo
share/locale/zh_TW/LC_MESSAGES/knemo.mo
@dirrmtry share/locale/rw/LC_MESSAGES
@dirrmtry share/locale/rw
@dirrm share/apps/knemo/themes
@dirrm share/apps/knemo
@dirrmtry share/applications/kde