qtmobileextensions/src/sysinfo/xqsysinfo.cpp
branchRCL_3
changeset 10 cd2778e5acfe
parent 9 5d007b20cfd0
child 11 19a54be74e5e
equal deleted inserted replaced
9:5d007b20cfd0 10:cd2778e5acfe
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 *
       
     5 * This program is free software: you can redistribute it and/or modify
       
     6 * it under the terms of the GNU Lesser General Public License as published by
       
     7 * the Free Software Foundation, version 2.1 of the License.
       
     8 * 
       
     9 * This program is distributed in the hope that it will be useful,
       
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12 * GNU Lesser General Public License for more details.
       
    13 *
       
    14 * You should have received a copy of the GNU Lesser General Public License
       
    15 * along with this program.  If not, 
       
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
       
    17 *
       
    18 * Description:
       
    19 *
       
    20 */
       
    21 
       
    22 #include "xqsysinfo.h"
       
    23 #include "xqsysinfo_p.h"
       
    24 
       
    25 /*!
       
    26     \class XQSysInfo
       
    27 
       
    28     \brief The XQSysInfo class is used to retrieve information about the phone (e.g. software version, free memory, IMEI, etc.)
       
    29 */
       
    30 
       
    31 /*!
       
    32     Constructs a XQSysInfo object with the given parent.
       
    33 */
       
    34 XQSysInfo::XQSysInfo(QObject* parent):
       
    35     QObject(parent), d(new XQSysInfoPrivate(this))
       
    36 {
       
    37 }
       
    38 
       
    39 /*!
       
    40     Destroys the XQSysInfo object.
       
    41 */
       
    42 XQSysInfo::~XQSysInfo()
       
    43 {
       
    44     delete d;
       
    45 }
       
    46 
       
    47 /*!
       
    48     \enum XQSysInfo::Error
       
    49     This enum defines the possible errors for a XQSysInfo object.
       
    50 */
       
    51 /*! \var XQSysInfo::Error XQSysInfo::NoError
       
    52     No error occured.
       
    53 */
       
    54 /*! \var XQSysInfo::Error XQSysInfo::OutOfMemoryError
       
    55     Not enough memory.
       
    56 */
       
    57 /*! \var XQSysInfo::Error XQSysInfo::IncorrectDriveError
       
    58     Wrong drive letter.
       
    59 */
       
    60 /*! \var XQSysInfo::Error XQSysInfo::DriveNotFoundError
       
    61     Drive cannot be found.
       
    62 */
       
    63 /*! \var XQSysInfo::Error XQSysInfo::UnknownError
       
    64     Unknown error.
       
    65 */
       
    66 
       
    67 /*!
       
    68     \enum XQSysInfo::Drive
       
    69 
       
    70     This enum defines the possible drive letters to be used.
       
    71 */
       
    72 /*! \var XQSysInfo::Drive XQSysInfo::DriveA 
       
    73     Drive A
       
    74 */
       
    75 /*! \var XQSysInfo::Drive XQSysInfo::DriveB
       
    76     Drive B
       
    77 */
       
    78 /*! \var XQSysInfo::Drive XQSysInfo::DriveC
       
    79     Drive C
       
    80 */
       
    81 /*! \var XQSysInfo::Drive XQSysInfo::DriveD
       
    82     Drive D
       
    83 */
       
    84 /*! \var XQSysInfo::Drive XQSysInfo::DriveE
       
    85     Drive E
       
    86 */
       
    87 /*! \var XQSysInfo::Drive XQSysInfo::DriveF
       
    88     Drive F
       
    89 */
       
    90 /*! \var XQSysInfo::Drive XQSysInfo::DriveG
       
    91     Drive G
       
    92 */
       
    93 /*! \var XQSysInfo::Drive XQSysInfo::DriveH
       
    94     Drive H
       
    95 */
       
    96 /*! \var XQSysInfo::Drive XQSysInfo::DriveI
       
    97     Drive I
       
    98 */
       
    99 /*! \var XQSysInfo::Drive XQSysInfo::DriveJ
       
   100     Drive J
       
   101 */
       
   102 /*! \var XQSysInfo::Drive XQSysInfo::DriveK
       
   103     Drive K
       
   104 */
       
   105 /*! \var XQSysInfo::Drive XQSysInfo::DriveL
       
   106     Drive L
       
   107 */
       
   108 /*! \var XQSysInfo::Drive XQSysInfo::DriveM
       
   109     Drive M
       
   110 */
       
   111 /*! \var XQSysInfo::Drive XQSysInfo::DriveN 
       
   112     Drive N
       
   113 */
       
   114 /*! \var XQSysInfo::Drive XQSysInfo::DriveO
       
   115     Drive O
       
   116 */
       
   117 /*! \var XQSysInfo::Drive XQSysInfo::DriveP
       
   118     Drive P
       
   119 */
       
   120 /*! \var XQSysInfo::Drive XQSysInfo::DriveQ
       
   121     Drive Q
       
   122 */
       
   123 /*! \var XQSysInfo::Drive XQSysInfo::DriveR
       
   124     Drive R
       
   125 */
       
   126 /*! \var XQSysInfo::Drive XQSysInfo::DriveS
       
   127     Drive S
       
   128 */
       
   129 /*! \var XQSysInfo::Drive XQSysInfo::DriveT
       
   130     Drive T
       
   131 */
       
   132 /*! \var XQSysInfo::Drive XQSysInfo::DriveU
       
   133     Drive U
       
   134 */
       
   135 /*! \var XQSysInfo::Drive XQSysInfo::DriveV
       
   136     Drive V
       
   137 */
       
   138 /*! \var XQSysInfo::Drive XQSysInfo::DriveW    
       
   139     Drive W
       
   140 */
       
   141 /*! \var XQSysInfo::Drive XQSysInfo::DriveX
       
   142     Drive X
       
   143 */
       
   144 /*! \var XQSysInfo::Drive XQSysInfo::DriveY
       
   145     Drive Y
       
   146 */
       
   147 /*! \var XQSysInfo::Drive XQSysInfo::DriveZ
       
   148     Drive Z
       
   149 */
       
   150 
       
   151 /*! 
       
   152     \enum XQSysInfo:Language
       
   153     This enum defines the languages that are available
       
   154     
       
   155 */        
       
   156 
       
   157 /*!
       
   158 
       
   159     \return Current language of the phone UI
       
   160 */
       
   161 XQSysInfo::Language XQSysInfo::currentLanguage() const
       
   162 {
       
   163     return d->currentLanguage();
       
   164 }
       
   165 
       
   166 /*!
       
   167 
       
   168     \return International Mobile Equipment Identity (IMEI) unique identifier for the device. 
       
   169 */
       
   170 QString XQSysInfo::imei() const
       
   171 {
       
   172     return d->imei();
       
   173 }
       
   174 
       
   175 /*!
       
   176 
       
   177     \return International Mobile Subscriber Identity (IMSI) from the device's SIM card, 
       
   178 */
       
   179 QString XQSysInfo::imsi() const
       
   180 {
       
   181     return d->imsi();
       
   182 }
       
   183 
       
   184 /*!
       
   185 
       
   186     \return Firmware version of the device
       
   187 */
       
   188 QString XQSysInfo::softwareVersion() const
       
   189 {
       
   190     return d->softwareVersion();
       
   191 }
       
   192 
       
   193 /*!
       
   194 
       
   195     \return Phone model
       
   196 */
       
   197 QString XQSysInfo::model() const
       
   198 {
       
   199     return d->model();
       
   200 }
       
   201 
       
   202 /*!
       
   203     \return Manufacturer of the phone
       
   204 */
       
   205 QString XQSysInfo::manufacturer() const
       
   206 {
       
   207     return d->manufacturer();
       
   208 }
       
   209 
       
   210 /*!
       
   211     \return Current battery level as a percentage, i.e. 0 to 100%
       
   212 */
       
   213 uint XQSysInfo::batteryLevel() const
       
   214 {
       
   215     return d->batteryLevel();
       
   216 }
       
   217 
       
   218 /*!
       
   219     \return Network signal strength as a percentage, i.e. 0 to 100%
       
   220 */
       
   221 int XQSysInfo::signalStrength() const
       
   222 {
       
   223     return d->signalStrength();
       
   224 }
       
   225 
       
   226 /*!
       
   227     NOTE: No implementation in the alpha release
       
   228 
       
   229     \return Version string for the device's browser
       
   230 */
       
   231 QString XQSysInfo::browserVersion() const
       
   232 {
       
   233     return d->browserVersion();
       
   234 }
       
   235 
       
   236 /*!
       
   237 
       
   238     \param drive Drive letter as enumeration
       
   239     \return Available disk space in bytes on the given drive
       
   240 */
       
   241 qlonglong XQSysInfo::diskSpace(XQSysInfo::Drive drive) const
       
   242 {
       
   243     return d->diskSpace(drive);
       
   244 }
       
   245 
       
   246 /*!
       
   247     Helper function to check if the disk space on the given drive is in critical condition, i.e. very low
       
   248 
       
   249     \param drive Drive letter as enumeration
       
   250     \return True, if memory is low on the given device, otherwise false
       
   251 */
       
   252 bool XQSysInfo::isDiskSpaceCritical(XQSysInfo::Drive drive) const
       
   253 {
       
   254     return d->isDiskSpaceCritical(drive);
       
   255 }
       
   256 
       
   257 /*!
       
   258     Free RAM memory in bytes
       
   259 
       
   260     \return Free RAM memory in bytes
       
   261 */
       
   262 int XQSysInfo::memory() const
       
   263 {
       
   264     return d->memory();
       
   265 }
       
   266 
       
   267 /*!
       
   268     Checks if the specific feature is supported in the environment. See
       
   269     <a href="http://library.forum.nokia.com/topic/S60_5th_Edition_Cpp_Developers_Library/GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6/html/featureinfo_8h.html">
       
   270     featureinfo.h File Reference</a>
       
   271     in the Symbian S60 SDK for a list of the feature ids. //insp: major, description of the error checking missing
       
   272     
       
   273     \param featureId Feature id
       
   274      \return True, if the feature is supported, otherwise false
       
   275 */
       
   276 bool XQSysInfo::isSupported(int featureId)
       
   277 {
       
   278     return XQSysInfoPrivate::isSupported(featureId);
       
   279 }
       
   280 /*!
       
   281     \return Error code indicating the current error level
       
   282 */
       
   283 XQSysInfo::Error XQSysInfo::error() const
       
   284 {
       
   285     return d->error();
       
   286 }
       
   287 
       
   288 /*!
       
   289     Checks if the network is available
       
   290 
       
   291     \return True, if the network is available, otherwise false
       
   292 */
       
   293 bool XQSysInfo::isNetwork() const
       
   294 {
       
   295     return d->isNetwork();
       
   296 }
       
   297 
       
   298 /*!
       
   299     \fn void XQSysInfo::networkSignalChanged(ulong signalStrength)
       
   300     
       
   301     This signal is emitted when the signal strength changes.
       
   302 
       
   303     \param signalStrength New signal strength value
       
   304     \sa signalStrength()
       
   305 */
       
   306 
       
   307 /*!
       
   308     \fn void XQSysInfo::batteryLevelChanged(uint batteryLevel)
       
   309 
       
   310     This signal is emitted when the battery level changes.
       
   311 
       
   312     \param batteryLevel New battery level
       
   313     \sa batteryLevel()
       
   314 */