1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/Touchgui/plugins/org.apache.cordova.vibration/src/blackberry10/index.js Thu Jun 04 14:50:33 2015 +0200 1.3 @@ -0,0 +1,80 @@ 1.4 +/* 1.5 + * 1.6 + * Licensed to the Apache Software Foundation (ASF) under one 1.7 + * or more contributor license agreements. See the NOTICE file 1.8 + * distributed with this work for additional information 1.9 + * regarding copyright ownership. The ASF licenses this file 1.10 + * to you under the Apache License, Version 2.0 (the 1.11 + * "License"); you may not use this file except in compliance 1.12 + * with the License. You may obtain a copy of the License at 1.13 + * 1.14 + * http://www.apache.org/licenses/LICENSE-2.0 1.15 + * 1.16 + * Unless required by applicable law or agreed to in writing, 1.17 + * software distributed under the License is distributed on an 1.18 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1.19 + * KIND, either express or implied. See the License for the 1.20 + * specific language governing permissions and limitations 1.21 + * under the License. 1.22 + * 1.23 +*/ 1.24 + 1.25 +var vibration; 1.26 + 1.27 +module.exports = { 1.28 + vibrate: function (success, fail, args, env) { 1.29 + var result = new PluginResult(args, env), 1.30 + duration = args[0], 1.31 + response = vibration.getInstance().vibrate(duration); 1.32 + result.ok(response, false); 1.33 + } 1.34 +}; 1.35 + 1.36 +/////////////////////////////////////////////////////////////////// 1.37 +// JavaScript wrapper for JNEXT plugin 1.38 +/////////////////////////////////////////////////////////////////// 1.39 + 1.40 +JNEXT.Vibration = function () { 1.41 + var self = this, 1.42 + hasInstance = false; 1.43 + 1.44 + self.vibrate = function (duration) { 1.45 + //This is how Javascript calls into native 1.46 + return JNEXT.invoke(self.m_id, "vibrate " + duration); 1.47 + }; 1.48 + 1.49 + self.init = function () { 1.50 + //Checks that the jnext library is present and loads it 1.51 + if (!JNEXT.require("libVibration")) { 1.52 + return false; 1.53 + } 1.54 + 1.55 + //Creates the native object that this interface will call 1.56 + self.m_id = JNEXT.createObject("libVibration.Vibration"); 1.57 + 1.58 + if (self.m_id === "") { 1.59 + return false; 1.60 + } 1.61 + 1.62 + //Registers for the JNEXT event loop 1.63 + JNEXT.registerEvents(self); 1.64 + }; 1.65 + 1.66 + self.m_id = ""; 1.67 + 1.68 + //Used by JNEXT library to get the ID 1.69 + self.getId = function () { 1.70 + return self.m_id; 1.71 + }; 1.72 + 1.73 + //Not truly required but useful for instance management 1.74 + self.getInstance = function () { 1.75 + if (!hasInstance) { 1.76 + self.init(); 1.77 + hasInstance = true; 1.78 + } 1.79 + return self; 1.80 + }; 1.81 +}; 1.82 + 1.83 +vibration = new JNEXT.Vibration();