Source: cordova-plugin-bbd-specificpolicies/assets/www/android/GDSpecificPolicies.js

  1. /*
  2. * (c) 2018 BlackBerry Limited. All rights reserved.
  3. */
  4. ;
  5. (function() {
  6. var cordovaExec = require('cordova/exec');
  7. /**
  8. * @class GDSpecificPolicies
  9. *
  10. * @classdesc The GDSpecificPolicies is used to read application-specific policy from Good Control (GC) console and return it in JSON format.
  11. * To use this feature you should create policy file in XML format and upload it to the enterprise management console for specific application
  12. * (for mere details see following <a href="https://community.good.com/view-doc.jspa?fileName=_app_policies.html&docType=api">guide</a>)
  13. * The settings can be retrieved by calling updatePolicy method below.
  14. */
  15. window.GDSpecificPolicies = function() {
  16. Object.defineProperty(this, 'toString', {
  17. value: function() {
  18. return '[object GDSpecificPolicies]';
  19. }
  20. });
  21. };
  22. Object.defineProperty(GDSpecificPolicies, 'toString', {
  23. value: function() {
  24. return 'function GDSpecificPolicies() { [native code] }';
  25. },
  26. writable: false
  27. });
  28. Object.preventExtensions(GDSpecificPolicies);
  29. /**
  30. * @function GDSpecificPolicies#updatePolicy
  31. *
  32. * @description Call this function to retrieve application-specific policy from Good Control (GC) console in JSON format.
  33. * This method observes the application-policy state and once it is updated on enterprise management console we will receive the letest version directly in success callback.
  34. *
  35. * @param {function} successCallback Callback function to invoke when updatePolicy method returns successfully.
  36. * The policy object is passed to this function as parameter.
  37. *
  38. * @param {function} errorCallback Callback function to invoke for error conditions.
  39. *
  40. * @example
  41. * window.plugins.GDSpecificPolicies.updatePolicy(
  42. * function(policy) {
  43. * alert("Retrieved application-specific policy is: " + policy);
  44. * },
  45. * function(error) {
  46. * alert("Error occure: " + error);
  47. * }
  48. * );
  49. */
  50. GDSpecificPolicies.prototype.updatePolicy = function(successCallback, errorCallback) {
  51. if (arguments.length == 0) {
  52. throw new Error("TypeError: Failed to execute 'updatePolicy' on 'GDSpecificPolicies': 2 argument required, but only " + arguments.length + " present.");
  53. }
  54. var parms = [];
  55. var success = function(result) {
  56. var obj = JSON.parse(result);
  57. successCallback(obj);
  58. };
  59. cordovaExec(success, errorCallback, "GDSpecificPolicies", "updatePolicy", parms);
  60. };
  61. Object.defineProperty(GDSpecificPolicies.prototype.updatePolicy, 'toString', {
  62. value: function() {
  63. return 'function updatePolicy() { [native code] }';
  64. }
  65. });
  66. Object.preventExtensions(GDSpecificPolicies.prototype);
  67. var gdSpecificPolicies = new GDSpecificPolicies();
  68. Object.preventExtensions(gdSpecificPolicies);
  69. module.exports = gdSpecificPolicies;
  70. }());
  71. // End GDSpecificPolicies.js
  72. //***************************************************************** //leave empty line after