summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-09-10 14:58:03 -0400
committerJules Laplace <jules@okfoc.us>2015-09-10 14:58:03 -0400
commitd73a4b1c5a2540077607dcc4001acbae85980ae4 (patch)
treec30089f1742f9430bb18679dc6664157a5dc66f4 /StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu
parent124e6c0a8d9577b4a30e0b265f5c23d637c41966 (diff)
app skeleton
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu')
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp63
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h47
2 files changed, 110 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.cpp
new file mode 100644
index 00000000..8fdb4949
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/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/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h b/StoneIsland/plugins/cordova-plugin-network-information/src/ubuntu/network_information.h
new file mode 100644
index 00000000..aca20e7b
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/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 <cplugin.h>
+
+#include <QtSystemInfo>
+#include <QtCore>
+
+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