libqutim  0.3.2.0
systeminfo.h
Go to the documentation of this file.
00001 /****************************************************************************
00002 **
00003 ** qutIM - instant messenger
00004 **
00005 ** Copyright © 2008 Remko Tronçon <remko@el-tramo.be>
00006 ** Copyright © 2011 Ruslan Nigmatullin <euroelessar@yandex.ru>
00007 **
00008 *****************************************************************************
00009 **
00010 ** $QUTIM_BEGIN_LICENSE$
00011 ** This program is free software: you can redistribute it and/or modify
00012 ** it under the terms of the GNU General Public License as published by
00013 ** the Free Software Foundation, either version 3 of the License, or
00014 ** (at your option) any later version.
00015 **
00016 ** This program is distributed in the hope that it will be useful,
00017 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00019 ** See the GNU General Public License for more details.
00020 **
00021 ** You should have received a copy of the GNU General Public License
00022 ** along with this program.  If not, see http://www.gnu.org/licenses/.
00023 ** $QUTIM_END_LICENSE$
00024 **
00025 ****************************************************************************/
00026 
00027 #ifndef SYSTEMINFO_H
00028 #define SYSTEMINFO_H
00029 
00030 #include "libqutim_global.h"
00031 #include <QDir>
00032 
00033 namespace qutim_sdk_0_3
00034 {
00035 struct SystemInfoPrivate;
00036 
00037 class LIBQUTIM_EXPORT SystemInfo
00038 {
00039 public:
00040     enum Type
00041     {
00042         WinCE       = 'c',
00043         Win32       = 'w',
00044         Linux       = 'l',
00045         MacOSX      = 'm',
00046         Symbian     = 's',
00047         Unix        = 'u'
00048     };
00049     enum DirType { ConfigDir, HistoryDir, ShareDir, SystemConfigDir, SystemShareDir };
00050     static QString getFullName();
00051     static QString getName();
00052     static QString getVersion();
00053     static QString getTimezone();
00054     static int getTimezoneOffset();
00055     static QDir getDir(DirType type);
00056     static QString getPath(DirType type);
00057     static quint32 getSystemVersionID();
00058     static quint8 getSystemTypeID();
00059     static QString systemID2String(quint8 type, quint32 id);
00060 private:
00061     SystemInfo();
00062     virtual ~SystemInfo();
00063 };
00064 }
00065 
00066 #endif // SYSTEMINFO_H
00067