[KeyManager] Data methods
authorPrzemyslaw Ciezkowski <p.ciezkowski@samsung.com>
Fri, 24 Apr 2015 09:09:03 +0000 (11:09 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 11 May 2015 11:58:34 +0000 (20:58 +0900)
[Verification]
d = new tizen.Data("a", "b", true);
d.save("test", function() {}, function() {}, "pass");
d.remove("pass");

Change-Id: Id7ddae37aaac99d546fc5cf0272461d6b9677b52
Signed-off-by: Przemyslaw Ciezkowski <p.ciezkowski@samsung.com>
src/keymanager/keymanager_api.js

index 26ced52..07e7a94 100644 (file)
@@ -241,11 +241,45 @@ function Data(name, password, extractable, rawData) {
 }
 
 Data.prototype.save = function() {
+  var args = validator.validateArgs(arguments, [
+    {
+      name: 'rawData',
+      type: validator.Types.STRING
+    },
+    {
+      name: 'successCallback',
+      type: validator.Types.FUNCTION,
+      nullable: true
+    },
+    {
+      name: 'errorCallback',
+      type: validator.Types.FUNCTION,
+      optional: true,
+      nullable: true
+    }
+  ]);
 
+  native.call('KeyManager_saveData', {
+    data: this,
+    rawData: args.rawData
+  }, function(msg) {
+    if (native.isFailure(msg)) {
+      if (type.isFunction(args.errorCallback)) {
+        args.errorCallback(native.getErrorObject(msg));
+      }
+    } else {
+      native.callIfPossible(args.successCallback);
+    }
+  });
 };
 
 Data.prototype.remove = function() {
-
+  var ret = native.callSync('KeyManager_removeData', {
+    data: this
+  });
+  if (native.isFailure(ret)) {
+    throw native.getErrorObject(ret);
+  }
 };
 
 function KeyManager() {