summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNiklas Goby2011-03-23 17:54:26 +0100
committerNiklas Goby2011-03-23 17:54:26 +0100
commit58e234ffcded954047436365667ad91a54a61847 (patch)
tree2f4371e4f48ac39fad9a75bacf14e184ddf7db54 /src
parentloadURL() called when trigger file found (diff)
downloadfbgui-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.cpp6
-rw-r--r--src/fbgui.pro13
-rw-r--r--src/sysinfolibsysfs.cpp52
-rw-r--r--src/sysinfolibsysfs.h33
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_ */