You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by gt...@apache.org on 2013/01/29 03:34:41 UTC

[1/4] js commit: Initial wireup of B2G (Firefox OS) platform

Initial wireup of B2G (Firefox OS) platform

Added support for:
Device
Network
Accelerometer


Project: http://git-wip-us.apache.org/repos/asf/cordova-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-js/commit/44c2a450
Tree: http://git-wip-us.apache.org/repos/asf/cordova-js/tree/44c2a450
Diff: http://git-wip-us.apache.org/repos/asf/cordova-js/diff/44c2a450

Branch: refs/heads/master
Commit: 44c2a4509ea5fb6b77f78d40e058ff39745db08d
Parents: 29b266b
Author: Dan Silivestru <da...@gmail.com>
Authored: Sat Jan 26 15:06:54 2013 -0500
Committer: Gord Tanner <gt...@gmail.com>
Committed: Mon Jan 28 21:33:49 2013 -0500

----------------------------------------------------------------------
 lib/b2g/exec.js                     |   56 ++++++++++++++++++++++++++++++
 lib/b2g/platform.js                 |   26 ++++++++++++++
 lib/b2g/plugin/b2g/accelerometer.js |   41 ++++++++++++++++++++++
 lib/b2g/plugin/b2g/device.js        |   39 +++++++++++++++++++++
 lib/b2g/plugin/b2g/network.js       |   29 +++++++++++++++
 lib/scripts/bootstrap-b2g.js        |   22 ++++++++++++
 6 files changed, 213 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/b2g/exec.js
----------------------------------------------------------------------
diff --git a/lib/b2g/exec.js b/lib/b2g/exec.js
new file mode 100644
index 0000000..e8bb34c
--- /dev/null
+++ b/lib/b2g/exec.js
@@ -0,0 +1,56 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+/**
+ * Execute a cordova command.  It is up to the native side whether this action
+ * is synchronous or asynchronous.  The native side can return:
+ *      Synchronous: PluginResult object as a JSON string
+ *      Asynchrounous: Empty string ""
+ * If async, the native side will cordova.callbackSuccess or cordova.callbackError,
+ * depending upon the result of the action.
+ *
+ * @param {Function} success    The success callback
+ * @param {Function} fail       The fail callback
+ * @param {String} service      The name of the service to use
+ * @param {String} action       Action to be run in cordova
+ * @param {String[]} [args]     Zero or more arguments to pass to the method
+ */
+
+var plugins = {
+    "Device": require('cordova/plugin/b2g/device'),
+    "NetworkStatus": require('cordova/plugin/b2g/network'),
+    "Accelerometer" : require('cordova/plugin/b2g/accelerometer')
+    //"Notification" : require('cordova/plugin/b2g/notification')
+};
+
+module.exports = function(success, fail, service, action, args) {
+    try {
+        console.error("exec:call plugin:"+service+":"+action);
+        plugins[service][action](success, fail, args);
+    }
+    catch(e) {
+        console.error("missing exec: " + service + "." + action);
+        console.error(args);
+        console.error(e);
+        console.error(e.stack);
+    }
+};
+

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/b2g/platform.js
----------------------------------------------------------------------
diff --git a/lib/b2g/platform.js b/lib/b2g/platform.js
new file mode 100644
index 0000000..c462826
--- /dev/null
+++ b/lib/b2g/platform.js
@@ -0,0 +1,26 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+module.exports = {
+    id: "b2g",
+    initialize: function() {
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/b2g/plugin/b2g/accelerometer.js
----------------------------------------------------------------------
diff --git a/lib/b2g/plugin/b2g/accelerometer.js b/lib/b2g/plugin/b2g/accelerometer.js
new file mode 100644
index 0000000..7437124
--- /dev/null
+++ b/lib/b2g/plugin/b2g/accelerometer.js
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+var cordova = require('cordova'),
+    callback;
+
+module.exports = {
+    start: function (win, fail, args) {
+        window.removeEventListener("devicemotion", callback);
+        callback = function (motion) {
+            win({
+                x: motion.accelerationIncludingGravity.x,
+                y: motion.accelerationIncludingGravity.y,
+                z: motion.accelerationIncludingGravity.z,
+                timestamp: motion.timestamp
+            });
+        };
+        window.addEventListener("devicemotion", callback);
+    },
+    stop: function (win, fail, args) {
+        window.removeEventListener("devicemotion", callback);
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/b2g/plugin/b2g/device.js
----------------------------------------------------------------------
diff --git a/lib/b2g/plugin/b2g/device.js b/lib/b2g/plugin/b2g/device.js
new file mode 100644
index 0000000..5d9d36b
--- /dev/null
+++ b/lib/b2g/plugin/b2g/device.js
@@ -0,0 +1,39 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+var channel = require('cordova/channel'),
+    cordova = require('cordova');
+
+// Tell cordova channel to wait on the CordovaInfoReady event
+channel.waitForInitialization('onCordovaInfoReady');
+
+module.exports = {
+    getDeviceInfo : function(win, fail, args){
+        win({
+            platform: "Firefox OS",
+            version: "0.0.1",
+            model: "Beta Phone",
+            name: "Beta Phone", // deprecated: please use device.model
+            uuid: "somestring",
+            cordova: "2.4.0rc1"
+        });
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/b2g/plugin/b2g/network.js
----------------------------------------------------------------------
diff --git a/lib/b2g/plugin/b2g/network.js b/lib/b2g/plugin/b2g/network.js
new file mode 100644
index 0000000..9d3b218
--- /dev/null
+++ b/lib/b2g/plugin/b2g/network.js
@@ -0,0 +1,29 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+var cordova = require('cordova');
+
+module.exports = {
+    getConnectionInfo: function (win, fail, args) {
+        win("3G");
+        return { "status": cordova.callbackStatus.OK, "message": "3G"};
+    }
+};

http://git-wip-us.apache.org/repos/asf/cordova-js/blob/44c2a450/lib/scripts/bootstrap-b2g.js
----------------------------------------------------------------------
diff --git a/lib/scripts/bootstrap-b2g.js b/lib/scripts/bootstrap-b2g.js
new file mode 100644
index 0000000..91a6f71
--- /dev/null
+++ b/lib/scripts/bootstrap-b2g.js
@@ -0,0 +1,22 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+require('cordova/channel').onNativeReady.fire();