From 43245253e82c7195619062b4d6a33b15e82004ca Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Sun, 22 Sep 2013 08:40:51 +0400 Subject: [PATCH 1/2] add ubuntu platform --- plugin.xml | 6 +++ src/ubuntu/network_information.cpp | 63 ++++++++++++++++++++++++++++++ src/ubuntu/network_information.h | 47 ++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 src/ubuntu/network_information.cpp create mode 100644 src/ubuntu/network_information.h diff --git a/plugin.xml b/plugin.xml index a4cf518..2ab1a1d 100644 --- a/plugin.xml +++ b/plugin.xml @@ -44,6 +44,12 @@ xmlns:android="http://schemas.android.com/apk/res/android" + + + + + + diff --git a/src/ubuntu/network_information.cpp b/src/ubuntu/network_information.cpp new file mode 100644 index 0000000..8fdb494 --- /dev/null +++ b/src/ubuntu/network_information.cpp @@ -0,0 +1,63 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "network_information.h" + +void NetworkInformation::getConnectionInfo(int scId, int ecId) { + Q_UNUSED(ecId); + + QString result; + QNetworkInfo::NetworkMode networkMode = m_systemNetworkInfo.currentNetworkMode(); + QNetworkInfo::NetworkStatus networkStatus = m_systemNetworkInfo.networkStatus(networkMode, 0); + QNetworkInfo::CellDataTechnology cellDataTechnology = m_systemNetworkInfo.currentCellDataTechnology(0); + + if (networkStatus == QNetworkInfo::NoNetworkAvailable) + result = "Connection.NONE"; + + switch (networkMode) { + case QNetworkInfo::WimaxMode: + case QNetworkInfo::WlanMode: + result = "Connection.WIFI"; + break; + case QNetworkInfo::EthernetMode: + result = "Connection.ETHERNET"; + break; + case QNetworkInfo::LteMode: + result = "Connection.CELL_4G"; + break; + case QNetworkInfo::GsmMode: + case QNetworkInfo::CdmaMode: + case QNetworkInfo::TdscdmaMode: + case QNetworkInfo::WcdmaMode: + switch (cellDataTechnology) { + case QNetworkInfo::UmtsDataTechnology: + case QNetworkInfo::HspaDataTechnology: + result = "Connection.CELL_3G"; + break; + case QNetworkInfo::EdgeDataTechnology: + case QNetworkInfo::GprsDataTechnology: + result = "Connection.CELL_2G"; + break; + case QNetworkInfo::UnknownDataTechnology: + result = "Connection.UNKNOWN"; + break; + } + case QNetworkInfo::BluetoothMode: + case QNetworkInfo::UnknownMode: + result = "Connection.UNKNOWN"; + break; + } + + this->callback(scId, result); +} diff --git a/src/ubuntu/network_information.h b/src/ubuntu/network_information.h new file mode 100644 index 0000000..aca20e7 --- /dev/null +++ b/src/ubuntu/network_information.h @@ -0,0 +1,47 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NETWORK_INFORMATION_H +#define NETWORK_INFORMATION_H + +#include + +#include +#include + +class NetworkInformation: public CPlugin { + Q_OBJECT +public: + explicit NetworkInformation(Cordova *cordova): CPlugin(cordova) {} + + virtual const QString fullName() override { + return NetworkInformation::fullID(); + } + + virtual const QString shortName() override { + return "Connection"; + } + + static const QString fullID() { + return "NetworkStatus"; + } + +public slots: + void getConnectionInfo(int scId, int ecId); + +private: + QNetworkInfo m_systemNetworkInfo; +}; + +#endif From 9bc7912d4e5e5eabd445c7fcb329620a8408acff Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Mon, 11 Nov 2013 17:59:04 +0400 Subject: [PATCH 2/2] [ubuntu] specify policy_group --- plugin.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugin.xml b/plugin.xml index 2ab1a1d..d8a360c 100644 --- a/plugin.xml +++ b/plugin.xml @@ -46,6 +46,11 @@ xmlns:android="http://schemas.android.com/apk/res/android" + + + + +