[Mediacontroller] Added function for defined custom commands.
authorTomasz Marciniak <t.marciniak@samsung.com>
Mon, 22 Jun 2015 06:48:12 +0000 (08:48 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Mon, 22 Jun 2015 11:46:07 +0000 (13:46 +0200)
[Verification] Code compiles without errors.
TCT pass rate 90.42%(167/151/4/12/0)

Change-Id: Ib008fd709b96df7bd307ecc13447e420d01ef38b
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/mediacontroller/mediacontroller_api.js

index 9e2017684a55cec4a5be670dcc6cb34738816bc0..a19e47aeee4659b205f7ac28722ee967ec794dd6 100755 (executable)
@@ -609,10 +609,19 @@ MediaControllerServerInfo.prototype.sendPlaybackPosition = function(position, su
     throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
   }
 
+  var callback = function(result) {
+    if (native_.isFailure(result)) {
+      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+      return;
+    }
+    native_.callIfPossible(args.successCallback);
+  };
+
   var data = {
     position: args.position
   };
-  this.sendCommand(internal_commands_.sendPlaybackPosition, data, successCallback, errorCallback);
+
+  sendDefinedCommand(this.name, internal_commands_.sendPlaybackPosition, data, callback);
 };
 
 MediaControllerServerInfo.prototype.sendShuffleMode = function(mode, successCallback, errorCallback) {
@@ -622,10 +631,18 @@ MediaControllerServerInfo.prototype.sendShuffleMode = function(mode, successCall
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
   ]);
 
+  var callback = function(result) {
+    if (native_.isFailure(result)) {
+      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+      return;
+    }
+    native_.callIfPossible(args.successCallback);
+  };
+
   var data = {
     mode: args.mode
   };
-  this.sendCommand(internal_commands_.sendShuffleMode, data, successCallback, errorCallback);
+  sendDefinedCommand(this.name, internal_commands_.sendShuffleMode, data, callback);
 };
 
 MediaControllerServerInfo.prototype.sendRepeatMode = function(mode, successCallback, errorCallback) {
@@ -635,10 +652,33 @@ MediaControllerServerInfo.prototype.sendRepeatMode = function(mode, successCallb
     {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
   ]);
 
+  var callback = function(result) {
+    if (native_.isFailure(result)) {
+      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+      return;
+    }
+    native_.callIfPossible(args.successCallback);
+  };
+
   var data = {
     mode: args.mode
   };
-  this.sendCommand(internal_commands_.sendRepeatMode, data, successCallback, errorCallback);
+  sendDefinedCommand(this.name, internal_commands_.sendRepeatMode, data, callback);
+};
+
+function sendDefinedCommand(name_, command_, data_, callback_) {
+  var nativeData = {
+    command: command_,
+    data: data_,
+    name: name_
+  };
+
+  var replyId = ReplyCommandListener.addListener(callback_);
+
+  nativeData.replyId = replyId;
+  nativeData.listenerId = ReplyCommandListener.listenerName;
+
+  native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback_);
 };
 
 MediaControllerServerInfo.prototype.sendCommand = function(command, data, successCallback, errorCallback) {
@@ -659,13 +699,12 @@ MediaControllerServerInfo.prototype.sendCommand = function(command, data, succes
 
   nativeData.replyId = replyId;
   nativeData.listenerId = ReplyCommandListener.listenerName;
-
   var callback = function(result) {
     if (native_.isFailure(result)) {
       native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
       return;
     }
-    native_.callIfPossible(args.successCallback, native_.getResultObject(result));
+    args.successCallback(native_.getResultObject(result));
   };
 
   native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback);