author | sandman <sandman> | 2002-06-12 22:00:39 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-06-12 22:00:39 (UTC) |
commit | 72a7f7c6450033e3a2411c29b1f5505725c95241 (patch) (side-by-side diff) | |
tree | 12595f940d738c6a5dc5ded877f6856500301f3a /libopie/ohwinfo.cpp | |
parent | 0d5717581cafd601edf76da8d53555ceaf82c770 (diff) | |
download | opie-72a7f7c6450033e3a2411c29b1f5505725c95241.zip opie-72a7f7c6450033e3a2411c29b1f5505725c95241.tar.gz opie-72a7f7c6450033e3a2411c29b1f5505725c95241.tar.bz2 |
New singleton class for getting info on hardware
(Zaurus detection is missing -- kergoth ?)
-rw-r--r-- | libopie/ohwinfo.cpp | 84 |
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 @@ +#include <qfile.h> +#include <qtextstream.h> + +#include "ohwinfo.h" + + +struct OHwInfoData { + QString m_vendorstr; + OHwVendor m_vendor; + + QString m_modelstr; + OHwModel m_model; +}; + + +OHwInfo *OHwInfo::inst ( ) +{ + static OHwInfo *inf = 0; + + if ( !inf ) { + inf = new OHwInfo ( ); + } + return inf; +} + +OHwInfo::OHwInfo ( ) +{ + m_data = new OHwInfoData ( ); + + QFile f ( "/proc/hal/model" ); + + if ( f. open ( IO_ReadOnly )) { + QTextStream ts ( &f ); + m_data-> m_modelstr = ts. readLine ( ); + + if ( m_data-> m_modelstr == "H3100" ) + m_data-> m_model = OMODEL_iPAQ_H31xx; + else if ( m_data-> m_modelstr == "H3600" ) + m_data-> m_model = OMODEL_iPAQ_H36xx; + else if ( m_data-> m_modelstr == "H3700" ) + m_data-> m_model = OMODEL_iPAQ_H37xx; + else if ( m_data-> m_modelstr == "H3800" ) + m_data-> m_model = OMODEL_iPAQ_H38xx; + else + m_data-> m_model = OMODEL_Unknown; + + m_data-> m_vendorstr = "HP"; + m_data-> m_vendor = OVENDOR_HP; + + f. close ( ); + } + else { + m_data-> m_modelstr = "Unknown"; + m_data-> m_model = OMODEL_Unknown; + m_data-> m_vendorstr = "Unkown"; + m_data-> m_vendor = OVENDOR_Unknown; + } +} + +OHwInfo::~OHwInfo ( ) +{ + delete m_data; +} + +QString OHwInfo::vendorString ( ) +{ + return m_data-> m_vendorstr; +} + +OHwVendor OHwInfo::vendor ( ) +{ + return m_data-> m_vendor; +} + +QString OHwInfo::modelString ( ) +{ + return m_data-> m_modelstr; +} + +OHwModel OHwInfo::model ( ) +{ + return m_data-> m_model; +} + |