trunk 20080912
[gitenigma.git] / include / lib / system / info.h
blob7589803b259945618a47d8b300a518d40e4d8b47
1 #ifndef __lib_system_info_h
2 #define __lib_system_info_h
4 #include <set>
5 #include <config.h>
7 #include <lib/dvb/serviceplaylist.h>
9 #if HAVE_DVB_API_VERSION < 3
10 #include <ost/dmx.h>
11 #ifndef DMX_SET_NEGFILTER_MASK
12 #define DMX_SET_NEGFILTER_MASK _IOW('o',48,uint8_t *)
13 #endif
14 #endif
16 class eString;
18 class eSystemInfo
20 static eSystemInfo *instance;
21 int hashdd, hasci, hasrfmod, haslcd, hasnetwork, haskeyboard,
22 canmeasurelnbcurrent, hwtype, fetype, hasnegfilter,
23 canupdateTransponder, canshutdown, canrecordts, defaulttimertype,
24 alphaincrement, hasstandbywakeuptimer, cantimeshift, hasscartswitch;
25 std::set<int> caids;
26 const char *helpstr, *midstr, *modelstr, *manufactstr, *cpustr;
27 eString getInfo(const char *info, bool dreambox=false);
28 public:
29 static eSystemInfo *getInstance() { return instance; }
30 eSystemInfo();
31 enum { dbox2Nokia, dbox2Sagem, dbox2Philips, DM7000, DM7020, DM5600, DM5620, DM500, DM600PVR, TR_DVB272S, DM500PLUS, Unknown };
32 enum { feSatellite, feCable, feTerrestrial, feUnknown };
34 const char *getHelpStr() { return helpstr; }
35 const char *getmidStr() { return midstr; }
36 const char *getModel() { return modelstr; }
37 const char *getManufacturer() { return manufactstr; }
38 const char *getCPUInfo() { return cpustr; }
39 int hasNegFilter() { return hasnegfilter; }
40 int hasHDD() { return hashdd; }
41 int hasCI() { return hasci; }
42 int hasRFMod() { return hasrfmod; }
43 int hasLCD() { return haslcd; }
44 int hasNetwork() { return hasnetwork; }
45 int hasKeyboard() { return haskeyboard; }
46 int canMeasureLNBCurrent() { return canmeasurelnbcurrent; }
47 int canShutdown() { return canshutdown; }
48 int canRecordTS() { return canrecordts; }
49 int canUpdateTransponder() { return canupdateTransponder; }
50 int getHwType() { return hwtype; }
51 int getAlphaIncrement() { return alphaincrement; }
52 int getDefaultTimerType() { return defaulttimertype; }
53 int getFEType() { return fetype; }
54 int hasStandbyWakeupTimer() { return hasstandbywakeuptimer; }
55 int canTimeshift() { return cantimeshift; }
56 int hasScartSwitch() { return hasscartswitch; }
57 const std::set<int> &getCAIDs() { return caids; }
60 #endif