summaryrefslogtreecommitdiff
path: root/libopie/ohwinfo.cpp
Unidiff
Diffstat (limited to 'libopie/ohwinfo.cpp') (more/less context) (show 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