Touchgui/plugins/org.apache.cordova.vibration/src/blackberry10/index.js

Thu, 04 Jun 2015 14:50:33 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 04 Jun 2015 14:50:33 +0200
changeset 0
e8ccd40d0ef6
permissions
-rw-r--r--

Genesis of lecture sources for Droidcon Berlin 2015 in Postbahnhof.

michael@0 1 /*
michael@0 2 *
michael@0 3 * Licensed to the Apache Software Foundation (ASF) under one
michael@0 4 * or more contributor license agreements. See the NOTICE file
michael@0 5 * distributed with this work for additional information
michael@0 6 * regarding copyright ownership. The ASF licenses this file
michael@0 7 * to you under the Apache License, Version 2.0 (the
michael@0 8 * "License"); you may not use this file except in compliance
michael@0 9 * with the License. You may obtain a copy of the License at
michael@0 10 *
michael@0 11 * http://www.apache.org/licenses/LICENSE-2.0
michael@0 12 *
michael@0 13 * Unless required by applicable law or agreed to in writing,
michael@0 14 * software distributed under the License is distributed on an
michael@0 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
michael@0 16 * KIND, either express or implied. See the License for the
michael@0 17 * specific language governing permissions and limitations
michael@0 18 * under the License.
michael@0 19 *
michael@0 20 */
michael@0 21
michael@0 22 var vibration;
michael@0 23
michael@0 24 module.exports = {
michael@0 25 vibrate: function (success, fail, args, env) {
michael@0 26 var result = new PluginResult(args, env),
michael@0 27 duration = args[0],
michael@0 28 response = vibration.getInstance().vibrate(duration);
michael@0 29 result.ok(response, false);
michael@0 30 }
michael@0 31 };
michael@0 32
michael@0 33 ///////////////////////////////////////////////////////////////////
michael@0 34 // JavaScript wrapper for JNEXT plugin
michael@0 35 ///////////////////////////////////////////////////////////////////
michael@0 36
michael@0 37 JNEXT.Vibration = function () {
michael@0 38 var self = this,
michael@0 39 hasInstance = false;
michael@0 40
michael@0 41 self.vibrate = function (duration) {
michael@0 42 //This is how Javascript calls into native
michael@0 43 return JNEXT.invoke(self.m_id, "vibrate " + duration);
michael@0 44 };
michael@0 45
michael@0 46 self.init = function () {
michael@0 47 //Checks that the jnext library is present and loads it
michael@0 48 if (!JNEXT.require("libVibration")) {
michael@0 49 return false;
michael@0 50 }
michael@0 51
michael@0 52 //Creates the native object that this interface will call
michael@0 53 self.m_id = JNEXT.createObject("libVibration.Vibration");
michael@0 54
michael@0 55 if (self.m_id === "") {
michael@0 56 return false;
michael@0 57 }
michael@0 58
michael@0 59 //Registers for the JNEXT event loop
michael@0 60 JNEXT.registerEvents(self);
michael@0 61 };
michael@0 62
michael@0 63 self.m_id = "";
michael@0 64
michael@0 65 //Used by JNEXT library to get the ID
michael@0 66 self.getId = function () {
michael@0 67 return self.m_id;
michael@0 68 };
michael@0 69
michael@0 70 //Not truly required but useful for instance management
michael@0 71 self.getInstance = function () {
michael@0 72 if (!hasInstance) {
michael@0 73 self.init();
michael@0 74 hasInstance = true;
michael@0 75 }
michael@0 76 return self;
michael@0 77 };
michael@0 78 };
michael@0 79
michael@0 80 vibration = new JNEXT.Vibration();

mercurial