From c16ab8cfb3d9a3201de795b55c295ae971c5a363 Mon Sep 17 00:00:00 2001 From: lorinbeer Date: Tue, 16 Jul 2013 14:11:58 -0700 Subject: [PATCH] [CB-3732] network plugin breakout for blackberry --- plugin.xml | 8 ++++++ src/blackberry10/index.js | 59 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/blackberry10/index.js diff --git a/plugin.xml b/plugin.xml index c880552..c51692f 100644 --- a/plugin.xml +++ b/plugin.xml @@ -45,6 +45,14 @@ + + + + + + + + diff --git a/src/blackberry10/index.js b/src/blackberry10/index.js new file mode 100644 index 0000000..5a991fe --- /dev/null +++ b/src/blackberry10/index.js @@ -0,0 +1,59 @@ +/* + * Copyright 2010-2011 Research In Motion Limited. + * + * 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. + */ + +//map from BB10 to cordova connection types: +//https://github.com/apache/cordova-js/blob/master/lib/common/plugin/Connection.js +function mapConnectionType(con) { + switch (con.type) { + case 'wired': + return 'ethernet'; + case 'wifi': + return 'wifi'; + case 'none': + return 'none'; + case 'cellular': + switch (con.technology) { + case 'edge': + case 'gsm': + return '2g'; + case 'evdo': + return '3g'; + case 'umts': + return '3g'; + case 'lte': + return '4g'; + } + return "cellular"; + } + return 'unknown'; +} + +function currentConnectionType() { + try { + //possible for webplatform to throw pps exception + return mapConnectionType(window.qnx.webplatform.device.activeConnection || { type : 'none' }); + } + catch (e) { + return 'unknown'; + } +} + +module.exports = { + getConnectionInfo: function (success, fail, args, env) { + var result = new PluginResult(args, env); + result.ok(currentConnectionType()); + } +};