From: Tomasz Marciniak Date: Thu, 5 Jan 2017 07:59:08 +0000 (+0100) Subject: [Convergence] Added checking if service is started. X-Git-Tag: submit/tizen_3.0.m2/20170109.022655~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bed1400e582678ac5f4ea343354ed7942255b0cc;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Convergence] Added checking if service is started. [Verification] Code compiles. Function successfully tested in chrome console. Change-Id: Ic1ee1b6cd182d4aa09d924d96435f07d71c3fe11 Signed-off-by: Tomasz Marciniak --- diff --git a/src/convergence/convergence_remote_app_control_service.cc b/src/convergence/convergence_remote_app_control_service.cc index 5d4db99b..cdd1716f 100644 --- a/src/convergence/convergence_remote_app_control_service.cc +++ b/src/convergence/convergence_remote_app_control_service.cc @@ -34,6 +34,7 @@ static const char* kAppControl = "app_control"; static const char* kReply = "reply"; static const char* kCbResult = "callback_result"; static const char* kRemoteFunc = "remote_function"; +static const char* kJSCurrentListenerId = "curListenerId"; static const std::string kLaunch = "launch"; static const std::string kLaunchAppControl = "launchAppControl"; @@ -160,15 +161,34 @@ TizenResult ConvergenceRemoteAppControlService::Start(const bool reply, const in return LogAndCreateTizenError(AbortError, "Service with specified type does not exist"); } - if (reply) { - UpdateListener(cur_listener_id); - } + bool is_started = false; + //regarding to native team returned value should not be checked + //as CONV_ERROR_NONE means service is started, otherwise not started + //check only passed bool variable + conv_service_is_started(service, nullptr, &is_started); - const int error = conv_service_start(service, nullptr, nullptr); - if (CONV_ERROR_NONE != error) { - return LogAndCreateTizenError(AbortError, "conv_service_start error"); + if (is_started) { + //just call success callback + picojson::object param; + param[kServiceResultType] = picojson::value("onStart"); + param[kServiceListenerStatus] = picojson::value(kServiceListenerStatusOk); + param[kJSCurrentListenerId] = picojson::value(static_cast(cur_listener_id)); + + convergence_plugin_->ReplyAsync(kRemoteAppControlListenerCallback, + cur_listener_id, + true, + param); } else { - LoggerI("RemoteAppControlService started"); + if (reply) { + UpdateListener(cur_listener_id); + } + + const int error = conv_service_start(service, nullptr, nullptr); + if (CONV_ERROR_NONE != error) { + return LogAndCreateTizenError(AbortError, "conv_service_start error"); + } else { + LoggerI("RemoteAppControlService started"); + } } return TizenSuccess();