[KeyManager] Update Data after saving in key manager.
authorTomasz Marciniak <t.marciniak@samsung.com>
Mon, 6 Jul 2015 07:33:14 +0000 (09:33 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 7 Jul 2015 06:49:31 +0000 (15:49 +0900)
[Verification] Code compiles without errors.

Change-Id: I70fc2fbe43a22f22c7c5f85db426a04cf9ad23f1
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/keymanager/keymanager_api.js

index 0fa50e151c29ba11b887a188b6b09ec4d9d9b88e..3e6099af5cf1dcf91ee1aafb705e6c1a79043415 100755 (executable)
@@ -319,21 +319,40 @@ Certificate.prototype.remove = function() {
 };
 
 function Data(name, password, extractable, rawData) {
+  var _internal = {
+    name: converter.toString(name),
+    password: (password ? converter.toString(password) : null),
+    extractable: !!extractable, // make sure it is boolean
+    rawData: (rawData ? converter.toString(rawData) : '')
+  };
+
   Object.defineProperties(this, {
     name: {
-      value: converter.toString(name),
+      get: function () { return _internal.name; },
+      set: function () {},
       enumerable: true
     },
     password: {
-      value: password ? converter.toString(password) : null,
+      get: function () { return _internal.password; },
+      set: function (value) {
+        if (value instanceof InternalData) {
+          _internal.password = value.password;
+        }
+      },
       enumerable: true
     },
     extractable: {
-      value: !!extractable,//make sure it is boolean
+      get: function () { return _internal.extractable; },
+      set: function () {},
       enumerable: true
     },
     rawData: {
-      value: rawData ? converter.toString(rawData) : "",
+      get: function () { return _internal.rawData; },
+      set: function (value) {
+        if (value instanceof InternalData) {
+          _internal.rawData = value.rawData;
+        }
+      },
       enumerable: true
     }
   });
@@ -359,6 +378,8 @@ Data.prototype.save = function() {
     }
   ]);
 
+  var that = this;
+
   native.call('KeyManager_saveData', {
     data: this,
     rawData: args.rawData
@@ -368,6 +389,7 @@ Data.prototype.save = function() {
         args.errorCallback(native.getErrorObject(msg));
       }
     } else {
+      updateInternalData(that, {rawData: args.rawData});
       native.callIfPossible(args.successCallback);
     }
   });