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













                                                                          
   



                 



                  
                           
                              



                  




                             



                                                     

        










                                                       


                    
/*
 * 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 "sysfs/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