[Convergence] Some fixes for RemoteAppControlService. 13/100813/4
authorTomasz Marciniak <t.marciniak@samsung.com>
Tue, 29 Nov 2016 08:42:17 +0000 (17:42 +0900)
committerTomasz Marciniak <t.marciniak@samsung.com>
Wed, 30 Nov 2016 07:36:01 +0000 (16:36 +0900)
[Verification] Code compiles.

Change-Id: I7bb1b979731153512fed0287c9290f490efc312f
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/convergence/convergence_api.js
src/convergence/convergence_instance.cc
src/convergence/convergence_remote_app_control_service.cc

index 59e2d2d..81718f5 100644 (file)
@@ -368,14 +368,12 @@ RemoteAppControlService.prototype.connect = function(successCallback, errorCallb
     {
       name: 'successCallback',
       type: types_.FUNCTION,
-      //values: ConnectSuccessCallback,
       optional: false,
       nullable: false
     },
     {
       name: 'errorCallback',
       type: types_.FUNCTION,
-      //values: ErrorCallback,
       optional: true,
       nullable: true
     }
@@ -408,14 +406,12 @@ RemoteAppControlService.prototype.disconnect = function(successCallback, errorCa
     {
       name: 'successCallback',
       type: types_.FUNCTION,
-      //values: ConnectSuccessCallback,
       optional: true,
       nullable: true
     },
     {
       name: 'errorCallback',
       type: types_.FUNCTION,
-      //values: ErrorCallback,
       optional: true,
       nullable: true
     }
@@ -520,23 +516,19 @@ RemoteAppControlService.prototype.launch = function(appId, successCallback, erro
   var args = validator_.validateArgs(arguments, [
     {
       name: 'appId',
-      //type: types_.PLATFORM_OBJECT,
       type: types_.STRING,
-      values: tizen.ApplicationId,
       optional: false,
       nullable:false
     },
     {
       name: 'successCallback',
       type: types_.FUNCTION,
-      //values: RemoteAppControlCallback,
       optional: true,
       nullable: true
     },
     {
       name: 'errorCallback',
       type: types_.FUNCTION,
-      //values: ErrorCallback,
       optional: true,
       nullable: true
     }
@@ -544,7 +536,7 @@ RemoteAppControlService.prototype.launch = function(appId, successCallback, erro
 
   var lid = this._serviceId;
   // TODO In fact it must be a list of callbacks
-  // But untill D2D FW suppurts transaction management, it is meaningless to
+  // But until D2D FW supports transaction management, it is meaningless to
   // have more than one callback, because all payload is delivered to
   // a single point without identification of initial request
   this._remoteAppControlCallback = successCallback;
@@ -574,8 +566,7 @@ RemoteAppControlService.prototype.launchAppControl = function() {
     nullable:false
   }, {
     name: 'appId',
-    type: types_.PLATFORM_OBJECT,
-    values: tizen.ApplicationId,
+    type: types_.STRING,
     optional: true,
     nullable: true
   }, {
index 7e8dc0a..cd14512 100644 (file)
@@ -191,8 +191,6 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceConnect(const pi
   CHECK_EXIST(args, kJSArgumentDeviceId);
   CHECK_EXIST(args, kJSCurrentListenerId);
 
-  LoggerI("ARGS: %s", picojson::value(args).serialize().c_str());
-
   auto connect = [this, args](const common::AsyncToken& token) -> void {
     ScopeLogger("connect");
 
@@ -211,7 +209,11 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceConnect(const pi
       result = service->Connect(static_cast<int>(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get<double>()));
     }
 
-    this->Post(token, result);
+    //only in case of failure call callback
+    //other cases are handled by conv_service_connected_cb()
+    if (!result) {
+      this->Post(token, result);
+    }
   };
 
   std::thread(connect, token).detach();
@@ -226,8 +228,6 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceDisconnect(const
   CHECK_PRIVILEGE(kPrivilegeInternet);
   CHECK_PRIVILEGE(kPrivilegeBluetooth);
 
-  //LoggerI("ARGS: %s", args.serialize().c_str());
-
   auto disconnect = [this, args](const common::AsyncToken& token) -> void {
     ScopeLogger("disconnect");
 
@@ -262,8 +262,6 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceStart(const pico
   CHECK_EXIST(args, kJSArgumentReply);
   CHECK_EXIST(args, kJSCurrentListenerId);
 
-  LoggerI("ARGS: %s", picojson::value(args).serialize().c_str());
-
   auto start = [this, args](const common::AsyncToken& token) -> void {
     ScopeLogger("start");
 
@@ -283,7 +281,11 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceStart(const pico
                               static_cast<int>(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get<double>()));
     }
 
-    this->Post(token, result);
+    //only in case of failure call callback
+    //other cases are handled by conv_service_listener_cb()
+    if (!result) {
+      this->Post(token, result);
+    }
   };
 
   std::thread(start, token).detach();
@@ -301,8 +303,6 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceStop(const picoj
   CHECK_EXIST(args, kJSArgumentReply);
   CHECK_EXIST(args, kJSCurrentListenerId);
 
-  LoggerI("ARGS: %s", picojson::value(args).serialize().c_str());
-
   auto stop = [this, args](const common::AsyncToken& token) -> void {
     ScopeLogger("stop");
 
@@ -322,7 +322,11 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceStop(const picoj
                              static_cast<int>(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get<double>()));
     }
 
-    this->Post(token, result);
+    //only in case of failure call callback
+    //other cases are handled by conv_service_listener_cb()
+    if (!result) {
+      this->Post(token, result);
+    }
   };
 
   std::thread(stop, token).detach();
@@ -362,7 +366,11 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceLaunch(const pic
                   static_cast<int>(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get<double>()));
     }
 
-    this->Post(token, result);
+    //only in case of failure call callback
+    //other cases are handled by conv_service_listener_cb()
+    if (!result) {
+      this->Post(token, result);
+    }
   };
 
   std::thread(launch, token).detach();
@@ -403,7 +411,11 @@ common::TizenResult ConvergenceInstance::RemoteAppControlServiceLaunchAppControl
                                          static_cast<int>(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get<double>()));
     }
 
-    this->Post(token, result);
+    //only in case of failure call callback
+    //other cases are handled by conv_service_listener_cb()
+    if (!result) {
+      this->Post(token, result);
+    }
   };
 
   std::thread(launch_app_control, token).detach();
index c0ec611..201b26d 100644 (file)
@@ -54,7 +54,7 @@ ConvergenceRemoteAppControlService::ConvergenceRemoteAppControlService(conv_devi
 ConvergenceRemoteAppControlService::~ConvergenceRemoteAppControlService() {
   ScopeLogger();
 
-  // Release all memory, used by callback paramerers
+  // Release all memory, used by callback parameters
   for (size_t i = 0; i < callback_param_gc_.size(); i++) {
     delete callback_param_gc_[i];
   }
@@ -84,7 +84,7 @@ void ConvergenceRemoteAppControlService::ServiceConnectedCb(conv_service_h servi
       true,
       param);
   } else {
-    // Error occured during connection
+    // Error occurred during connection
     param[kServiceConnectionStatus] = picojson::value(kServiceConnectionStatusNotConnected);
     callbackParam->plugin_->ReplyAsync(kRemoteAppControlListenerCallback,
       callbackParam->callback_id_,
@@ -119,8 +119,9 @@ TizenResult ConvergenceRemoteAppControlService::Disconnect() {
   ScopeLogger();
 
   conv_service_h service = FindServiceHandle();
-  if (!service)
+  if (!service) {
     return LogAndCreateTizenError(AbortError, "Service with specified type does not exist");
+  }
 
   const int error = conv_service_disconnect(service);
   if (CONV_ERROR_NONE != error) {
@@ -215,7 +216,7 @@ void ConvergenceRemoteAppControlService::ServiceListenerCb(conv_service_h servic
       true,
       param);
   } else {
-    // Error occured during connection
+    // Error occurred during connection
     param[kServiceListenerStatus] = picojson::value(kServiceListenerStatusError);
     param[kServiceListenerError] = picojson::value(static_cast<double>(error));
     callbackParam->plugin_->ReplyAsync(kRemoteAppControlListenerCallback,