summaryrefslogtreecommitdiff
path: root/libopie/ohwinfo.cpp
authorsandman <sandman>2002-06-12 22:00:39 (UTC)
committer sandman <sandman>2002-06-12 22:00:39 (UTC)
commit72a7f7c6450033e3a2411c29b1f5505725c95241 (patch) (unidiff)
tree12595f940d738c6a5dc5ded877f6856500301f3a /libopie/ohwinfo.cpp
parent0d5717581cafd601edf76da8d53555ceaf82c770 (diff)
downloadopie-72a7f7c6450033e3a2411c29b1f5505725c95241.zip
opie-72a7f7c6450033e3a2411c29b1f5505725c95241.tar.gz
opie-72a7f7c6450033e3a2411c29b1f5505725c95241.tar.bz2
New singleton class for getting info on hardware
(Zaurus detection is missing -- kergoth ?)
Diffstat (limited to 'libopie/ohwinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ohwinfo.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/libopie/ohwinfo.cpp b/libopie/ohwinfo.cpp
new file mode 100644
index 0000000..ae07c6c
--- a/dev/null
+++ b/libopie/ohwinfo.cpp
@@ -0,0 +1,84 @@
1#include <qfile.h>
2#include <qtextstream.h>
3
4#include "ohwinfo.h"
5
6
7struct OHwInfoData {
8 QString m_vendorstr;
9 OHwVendor m_vendor;
10
11 QString m_modelstr;
12 OHwModel m_model;
13};
14
15
16OHwInfo *OHwInfo::inst ( )
17{
18 static OHwInfo *inf = 0;
19
20 if ( !inf ) {
21 inf = new OHwInfo ( );
22 }
23 return inf;
24}
25
26OHwInfo::OHwInfo ( )
27{
28 m_data = new OHwInfoData ( );
29
30 QFile f ( "/proc/hal/model" );
31
32 if ( f. open ( IO_ReadOnly )) {
33 QTextStream ts ( &f );
34 m_data-> m_modelstr = ts. readLine ( );
35
36 if ( m_data-> m_modelstr == "H3100" )
37 m_data-> m_model = OMODEL_iPAQ_H31xx;
38 else if ( m_data-> m_modelstr == "H3600" )
39 m_data-> m_model = OMODEL_iPAQ_H36xx;
40 else if ( m_data-> m_modelstr == "H3700" )
41 m_data-> m_model = OMODEL_iPAQ_H37xx;
42 else if ( m_data-> m_modelstr == "H3800" )
43 m_data-> m_model = OMODEL_iPAQ_H38xx;
44 else
45 m_data-> m_model = OMODEL_Unknown;
46
47 m_data-> m_vendorstr = "HP";
48 m_data-> m_vendor = OVENDOR_HP;
49
50 f. close ( );
51 }
52 else {
53 m_data-> m_modelstr = "Unknown";
54 m_data-> m_model = OMODEL_Unknown;
55 m_data-> m_vendorstr = "Unkown";
56 m_data-> m_vendor = OVENDOR_Unknown;
57 }
58}
59
60OHwInfo::~OHwInfo ( )
61{
62 delete m_data;
63}
64
65QString OHwInfo::vendorString ( )
66{
67 return m_data-> m_vendorstr;
68}
69
70OHwVendor OHwInfo::vendor ( )
71{
72 return m_data-> m_vendor;
73}
74
75QString OHwInfo::modelString ( )
76{
77 return m_data-> m_modelstr;
78}
79
80OHwModel OHwInfo::model ( )
81{
82 return m_data-> m_model;
83}
84