diff options
author | Niklas Goby | 2011-03-23 17:54:26 +0100 |
---|---|---|
committer | Niklas Goby | 2011-03-23 17:54:26 +0100 |
commit | 58e234ffcded954047436365667ad91a54a61847 (patch) | |
tree | 2f4371e4f48ac39fad9a75bacf14e184ddf7db54 /src | |
parent | loadURL() called when trigger file found (diff) | |
download | fbgui-58e234ffcded954047436365667ad91a54a61847.tar.gz fbgui-58e234ffcded954047436365667ad91a54a61847.tar.xz fbgui-58e234ffcded954047436365667ad91a54a61847.zip |
a new classes sysinfolibsysfs
it uses the libsysfs.c to gater informations about the system
not finished yet
Diffstat (limited to 'src')
-rw-r--r-- | src/fbgui.cpp | 6 | ||||
-rw-r--r-- | src/fbgui.pro | 13 | ||||
-rw-r--r-- | src/sysinfolibsysfs.cpp | 52 | ||||
-rw-r--r-- | src/sysinfolibsysfs.h | 33 |
4 files changed, 100 insertions, 4 deletions
diff --git a/src/fbgui.cpp b/src/fbgui.cpp index 1a13b1a..8cd6520 100644 --- a/src/fbgui.cpp +++ b/src/fbgui.cpp @@ -3,6 +3,7 @@ #include "loggerengine.h" #include "downloadmanager.h" #include "javascriptinterface.h" +#include "sysinfolibsysfs.h" #include <iostream> #include <QtWebKit> @@ -19,6 +20,11 @@ int debugMode = -1; //------------------------------------------------------------------------------------------- fbgui::fbgui() { + // test for libsys function + SysInfoLibsysfs* sil = new SysInfoLibsysfs(); + sil->getInfoAboutNetworkInterface(); + sil->getInfoAboutClassNet(); + // setup basic debug qxtLog->disableLoggerEngine("DEFAULT"); //qxtLog->enableLogLevels(QxtLogger::DebugLevel); diff --git a/src/fbgui.pro b/src/fbgui.pro index 353518b..a6e60c6 100644 --- a/src/fbgui.pro +++ b/src/fbgui.pro @@ -9,16 +9,21 @@ QT += core \ LIBS += -L/usr/local/qjson/lib \ -lqjson \ -L/usr/local/Qxt/lib \ - -lQxtCore + -lQxtCore \ + -L/usr/lib \ + -lsysfs INCLUDEPATH += /usr/local/qjson/include \ /usr/local/Qxt/include \ - /usr/local/Qxt/include/QxtCore -HEADERS += sysinfo.h \ + /usr/local/Qxt/include/QxtCore \ + /usr/include/sysfs +HEADERS += sysinfolibsysfs.h \ + sysinfo.h \ loggerengine.h \ javascriptinterface.h \ downloadmanager.h \ fbgui.h -SOURCES += sysinfo.cpp \ +SOURCES += sysinfolibsysfs.cpp \ + sysinfo.cpp \ loggerengine.cpp \ javascriptinterface.cpp \ downloadmanager.cpp \ diff --git a/src/sysinfolibsysfs.cpp b/src/sysinfolibsysfs.cpp new file mode 100644 index 0000000..feacd30 --- /dev/null +++ b/src/sysinfolibsysfs.cpp @@ -0,0 +1,52 @@ +/* + * sysinfolibsysfs.cpp + * + * Created on: Mar 23, 2011 + * Author: niklas + */ + +#include "sysinfolibsysfs.h" + +SysInfoLibsysfs::SysInfoLibsysfs() { + // TODO Auto-generated constructor stub + +} + +SysInfoLibsysfs::~SysInfoLibsysfs() { + // TODO Auto-generated destructor stub +} + +void SysInfoLibsysfs::getInfoAboutNetworkInterface() +{ + struct sysfs_class_device *class_device = sysfs_open_class_device("net","eth0"); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + struct sysfs_device *device = sysfs_get_classdev_device(class_device); + //struct sysfs_driver *driver = sysfs_get_classdev_driver(class_device); + if(device == NULL) { + qDebug() << "device is NULL!"; + } + else { + qDebug() << "--- print eth0 device path:"; + qDebug() << QString(device->path); + } + + sysfs_close_class_device(class_device); +} + +void SysInfoLibsysfs::getInfoAboutClassNet() +{ + struct sysfs_class *sysfsclass = sysfs_open_class("net"); + struct dlist *devices = sysfs_get_class_devices(sysfsclass); + struct sysfs_device *dev = NULL; + dlist_for_each_data(devices,dev, struct sysfs_device) { + if(dev == NULL) { + qDebug() << "device is NULL!"; + } + else { + qDebug() << "--- print device:"; + qDebug() << QString(dev->name); + } + } + + sysfs_close_class(sysfsclass); +} diff --git a/src/sysinfolibsysfs.h b/src/sysinfolibsysfs.h new file mode 100644 index 0000000..dc0f396 --- /dev/null +++ b/src/sysinfolibsysfs.h @@ -0,0 +1,33 @@ +/* + * sysinfolibsysfs.h + * + * Created on: Mar 23, 2011 + * Author: niklas + */ + +#ifndef SYSINFOLIBSYSFS_H_ +#define SYSINFOLIBSYSFS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "libsysfs.h" +#ifdef __cplusplus +} +#endif + +#include "fbgui.h" + +class SysInfoLibsysfs : public QObject +{ + Q_OBJECT +public: + SysInfoLibsysfs(); + virtual ~SysInfoLibsysfs(); + void getInfoAboutNetworkInterface(); + void getInfoAboutClassNet(); + +}; + +#endif /* SYSINFOLIBSYSFS_H_ */ |