From: Tomasz Marciniak Date: Tue, 29 Nov 2016 08:42:17 +0000 (+0900) Subject: [Convergence] Some fixes for RemoteAppControlService. X-Git-Tag: submit/tizen_3.0/20161130.085250~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F13%2F100813%2F4;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Convergence] Some fixes for RemoteAppControlService. [Verification] Code compiles. Change-Id: I7bb1b979731153512fed0287c9290f490efc312f Signed-off-by: Tomasz Marciniak --- diff --git a/src/convergence/convergence_api.js b/src/convergence/convergence_api.js index 59e2d2d1..81718f54 100644 --- a/src/convergence/convergence_api.js +++ b/src/convergence/convergence_api.js @@ -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 }, { diff --git a/src/convergence/convergence_instance.cc b/src/convergence/convergence_instance.cc index 7e8dc0ad..cd145123 100644 --- a/src/convergence/convergence_instance.cc +++ b/src/convergence/convergence_instance.cc @@ -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(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get())); } - 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(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get())); } - 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(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get())); } - 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(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get())); } - 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(ConvergenceUtils::GetArg(args, kJSCurrentListenerId).get())); } - 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(); diff --git a/src/convergence/convergence_remote_app_control_service.cc b/src/convergence/convergence_remote_app_control_service.cc index c0ec611d..201b26d8 100644 --- a/src/convergence/convergence_remote_app_control_service.cc +++ b/src/convergence/convergence_remote_app_control_service.cc @@ -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(error)); callbackParam->plugin_->ReplyAsync(kRemoteAppControlListenerCallback,