summaryrefslogblamecommitdiffstats
path: root/src/sysinfo.h
blob: 7b9cf179c16cc779fd3cea8a974cb5346be7cd19 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  














                                                                          



                 




                     
                              



                  




                             



                                                      

        










                                                        


                    
/*
 # Copyright (c) 2010,2011 - RZ Uni Freiburg
 # Copyright (c) 2010,2011 - OpenSLX Project
 #
 # This program/file is free software distributed under the GPL version 2.
 # See http://openslx.org/COPYING
 #
 # If you have any feedback please consult http://openslx.org/feedback and
 # send your feedback to feedback@openslx.org
 #
 # General information about OpenSLX can be found under http://openslx.org
 #
 #
 # 	   Helper class to get system information.
 #
 */

#ifndef SYSINFO_H
#define SYSINFO_H

#ifdef __cplusplus
extern "C" {
#endif

#include "libsysfs.h"
#include <libusb-1.0/libusb.h>
#ifdef __cplusplus
}
#endif

#include "fbgui.h"
#include <qjson/serializer.h>

class SysInfo {
public:
    SysInfo();
    ~SysInfo();
    // public access, valid infoName: "mac", "ip", ...
    const QString getInfo(const QString& infoName);

private:
    // private system information readers
    const QString getMACAddress();
    const QString getIPAddress();
    const QString getMainboardSerial();
    const QString getUsbVendorIdProductIdSerialNumber();
    QString getAllInfos();
    QString getScriptOutput(QString cmd);

    // JSon testing
    QJson::Serializer serializer;
    const QByteArray getNames();
};

#endif // SYSTINFO_H