Thu, 04 Jun 2015 14:50:33 +0200
Genesis of lecture sources for Droidcon Berlin 2015 in Postbahnhof.
michael@0 | 1 | /* |
michael@0 | 2 | * Copyright 2011 Wolfgang Koller - http://www.gofg.at/ |
michael@0 | 3 | * |
michael@0 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
michael@0 | 5 | * you may not use this file except in compliance with the License. |
michael@0 | 6 | * You may obtain a copy of the License at |
michael@0 | 7 | * |
michael@0 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
michael@0 | 9 | * |
michael@0 | 10 | * Unless required by applicable law or agreed to in writing, software |
michael@0 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
michael@0 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
michael@0 | 13 | * See the License for the specific language governing permissions and |
michael@0 | 14 | * limitations under the License. |
michael@0 | 15 | */ |
michael@0 | 16 | |
michael@0 | 17 | #include <QDeviceInfo> |
michael@0 | 18 | #include <QtSystemInfo> |
michael@0 | 19 | |
michael@0 | 20 | #include"device.h" |
michael@0 | 21 | |
michael@0 | 22 | #define CORDOVA "3.0.0" |
michael@0 | 23 | |
michael@0 | 24 | Device::Device(Cordova *cordova) : CPlugin(cordova) { |
michael@0 | 25 | } |
michael@0 | 26 | |
michael@0 | 27 | static QString getOSName() { |
michael@0 | 28 | #ifdef Q_OS_SYMBIAN |
michael@0 | 29 | QString platform = "Symbian"; |
michael@0 | 30 | #endif |
michael@0 | 31 | #ifdef Q_OS_WIN |
michael@0 | 32 | QString platform = "Windows"; |
michael@0 | 33 | #endif |
michael@0 | 34 | #ifdef Q_OS_WINCE |
michael@0 | 35 | QString platform = "Windows CE"; |
michael@0 | 36 | #endif |
michael@0 | 37 | #ifdef Q_OS_LINUX |
michael@0 | 38 | QString platform = "Linux"; |
michael@0 | 39 | #endif |
michael@0 | 40 | return platform; |
michael@0 | 41 | } |
michael@0 | 42 | |
michael@0 | 43 | void Device::getInfo(int scId, int ecId) { |
michael@0 | 44 | Q_UNUSED(ecId) |
michael@0 | 45 | |
michael@0 | 46 | QDeviceInfo systemDeviceInfo; |
michael@0 | 47 | QDeviceInfo systemInfo; |
michael@0 | 48 | |
michael@0 | 49 | QString platform = getOSName(); |
michael@0 | 50 | |
michael@0 | 51 | QString uuid = systemDeviceInfo.uniqueDeviceID(); |
michael@0 | 52 | if (uuid.isEmpty()) { |
michael@0 | 53 | QString deviceDescription = systemInfo.imei(0) + ";" + systemInfo.manufacturer() + ";" + systemInfo.model() + ";" + systemInfo.productName() + ";" + platform; |
michael@0 | 54 | QString user = qgetenv("USER"); |
michael@0 | 55 | if (user.isEmpty()) { |
michael@0 | 56 | user = qgetenv("USERNAME"); |
michael@0 | 57 | if (user.isEmpty()) |
michael@0 | 58 | user = QDir::homePath(); |
michael@0 | 59 | } |
michael@0 | 60 | uuid = QString(QCryptographicHash::hash((deviceDescription + ";" + user).toUtf8(), QCryptographicHash::Md5).toHex()); |
michael@0 | 61 | } |
michael@0 | 62 | |
michael@0 | 63 | this->cb(scId, systemDeviceInfo.model(), CORDOVA, platform, uuid, systemInfo.version(QDeviceInfo::Os)); |
michael@0 | 64 | } |