summaryrefslogtreecommitdiffstats
path: root/src/fbgui/sysinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/fbgui/sysinfo.cpp')
-rw-r--r--src/fbgui/sysinfo.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/fbgui/sysinfo.cpp b/src/fbgui/sysinfo.cpp
index d1ac44f..807413b 100644
--- a/src/fbgui/sysinfo.cpp
+++ b/src/fbgui/sysinfo.cpp
@@ -41,16 +41,27 @@ SysInfo::~SysInfo() {
* @see JavascriptInterface::getSysInfo(const QString& info)
*/
const QString SysInfo::getInfo(const QString& infoName) {
- LOG4CXX_DEBUG(siLogger, "requested " << infoName);
if (infoName == QString("mbserial"))
return getMainboardSerial();
else if (infoName == QString("usb"))
return getUsbVendorIdProductIdSerialNumber();
+ else if (infoName == QString("mac"))
+ return getMACAddress();
/* unknown code */
LOG4CXX_DEBUG(siLogger, "unknown requested");
return "info_error";
}
+const QString SysInfo::getMACAddress() {
+ // Returns MAC address of eth0 for now
+ LOG4CXX_DEBUG(siLogger, "Requesting MAC of: " << interfaceName << " ...");
+ QNetworkInterface qni = QNetworkInterface::interfaceFromName(interfaceName);
+ if (!qni.isValid()) {
+ LOG4CXX_DEBUG(siLogger, "No valid interface with name: " << interfaceName);
+ return "no_interface";
+ }
+ return qni.hardwareAddress();
+}
// -----------------------------------------------------------------------------------------------
// Mainboard / USB Infos using libsysfs
// -----------------------------------------------------------------------------------------------
@@ -70,6 +81,7 @@ const QString SysInfo::getInfo(const QString& infoName) {
* @see SysInfo::getInfo(const QString& infoName)
*/
const QString SysInfo::getMainboardSerial() {
+ LOG4CXX_DEBUG(siLogger, "Requesting Mainboard Serial...");
QString out = "";
struct sysfs_class_device *class_device = sysfs_open_class_device("dmi",
"id");
@@ -82,6 +94,8 @@ const QString SysInfo::getMainboardSerial() {
QVariantMap a;
if(QString(attr->name) == QString("board_serial")) {
out = QString(attr->value);
+ if (out.endsWith("\n"))
+ out.chop(1);
}
}
LOG4CXX_DEBUG(siLogger, "Mainboard Serial: " + out);
@@ -200,11 +214,4 @@ const QString SysInfo::getUsbVendorIdProductIdSerialNumber() {
}
libusb_free_device_list(devs, 1); //free the list, unref the devices in it
libusb_exit(ctx); //close the session
-
-
- /*
- QByteArray json = serializer.serialize(list);
- LOG4CXX_DEBUG(siLogger, tag + "json object: " + json);
- return json;
- */
}