summaryrefslogtreecommitdiffstats
path: root/src/sysinfolibsysfs.cpp
diff options
context:
space:
mode:
authorNiklas Goby2011-04-08 17:54:05 +0200
committerNiklas Goby2011-04-08 17:54:05 +0200
commit107852452a3f9fe7ad2816d8366a1158da103f93 (patch)
tree26dfdda34122a25af9318ff769c11d624688698d /src/sysinfolibsysfs.cpp
parentMerge branch 'master' of git.openslx.org:lsfks/master-teamprojekt/fbgui (diff)
downloadfbgui-107852452a3f9fe7ad2816d8366a1158da103f93.tar.gz
fbgui-107852452a3f9fe7ad2816d8366a1158da103f93.tar.xz
fbgui-107852452a3f9fe7ad2816d8366a1158da103f93.zip
some changes in the sysinfolibfs clas. we can now get the mainboard serial
number for the hardware hash
Diffstat (limited to 'src/sysinfolibsysfs.cpp')
-rw-r--r--src/sysinfolibsysfs.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/sysinfolibsysfs.cpp b/src/sysinfolibsysfs.cpp
index 71d0aec..d9bbac8 100644
--- a/src/sysinfolibsysfs.cpp
+++ b/src/sysinfolibsysfs.cpp
@@ -39,6 +39,61 @@ void SysInfoLibsysfs::getInfoAboutNetworkInterface()
sysfs_close_class_device(class_device);
}
+void SysInfoLibsysfs::getInfoMbSerial()
+{
+ QJson::Serializer serializer;
+ QVariantList listOfDevices;
+
+ struct sysfs_class_device *class_device = sysfs_open_class_device("dmi","id");
+ struct dlist *attrlist = sysfs_get_classdev_attributes(class_device);
+ struct sysfs_device *device = sysfs_get_classdev_device(class_device);
+
+ if(attrlist != NULL){
+ struct sysfs_attribute *attr = NULL;
+ QVariantList list;
+ dlist_for_each_data(attrlist, attr, struct sysfs_attribute) {
+ QVariantMap a;
+ if(QString(attr->name) == QString("board_serial")){
+ a.insert("name", QString(attr->name));
+ a.insert("value", QString(attr->value));
+ a.insert("len", QString(attr->len));
+ a.insert("path", QString(attr->path));
+ a.insert("method", QString(attr->method));
+ list << a;
+ }
+ }
+ QByteArray json = serializer.serialize(list);
+
+ qDebug() << json;
+ return;
+ }
+ qDebug() << "attrlist is null!";
+ sysfs_close_class_device(class_device);
+}
+
+QString SysInfoLibsysfs::getInfoMainboardSerial(){
+ QString out = "";
+ struct sysfs_class_device *class_device = sysfs_open_class_device("dmi","id");
+ struct dlist *attrlist = sysfs_get_classdev_attributes(class_device);
+ struct sysfs_device *device = sysfs_get_classdev_device(class_device);
+
+ if(attrlist != NULL){
+ struct sysfs_attribute *attr = NULL;
+ dlist_for_each_data(attrlist, attr, struct sysfs_attribute) {
+ QVariantMap a;
+ if(QString(attr->name) == QString("board_serial")){
+ out = QString(attr->value);
+ }
+ }
+
+ qDebug() << out;
+ return out;
+ }
+ qDebug() << "attrlist is null!";
+ sysfs_close_class_device(class_device);
+ return null;
+}
+
void SysInfoLibsysfs::getInfoAboutClassNet()
{
QJson::Serializer serializer;