summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2019-06-10 17:01:00 -0400
committerJackLivio <jack@livio.io>2019-06-10 17:01:00 -0400
commit6c9d8f1e59bd163582fe11df067b0541b6edd391 (patch)
treebe4772fe7815244c5380ca35a6d771679df5fcf8
parent3c353c4aa79dfd50a4990f1c315fb8117e93c68b (diff)
downloadsdl_core-6c9d8f1e59bd163582fe11df067b0541b6edd391.tar.gz
Compare service_id to default embedded service
Also fix style
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_request.h3
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_response.h3
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/app_service_hmi_command_factory.cc3
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_request.cc28
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_response.cc9
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc14
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_response.cc8
-rw-r--r--src/components/application_manager/src/app_service_manager.cc26
8 files changed, 53 insertions, 41 deletions
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_request.h b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_request.h
index 90d7d0d4a1..4a883b92ee 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_request.h
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_request.h
@@ -43,7 +43,8 @@ namespace commands {
/**
* @brief UnpublishAppServiceRequest command class
**/
-class UnpublishAppServiceRequest : public app_mngr::commands::CommandRequestImpl {
+class UnpublishAppServiceRequest
+ : public app_mngr::commands::CommandRequestImpl {
public:
/**
* @brief UnpublishAppServiceRequest class constructor
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_response.h b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_response.h
index 16e6d23c41..512e39eea0 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_response.h
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/include/app_service_rpc_plugin/commands/mobile/unpublish_app_service_response.h
@@ -43,7 +43,8 @@ namespace commands {
/**
* @brief UnpublishAppServiceResponse command class
**/
-class UnpublishAppServiceResponse : public app_mngr::commands::CommandResponseImpl {
+class UnpublishAppServiceResponse
+ : public app_mngr::commands::CommandResponseImpl {
public:
/**
* @brief UnpublishAppServiceResponse class constructor
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/app_service_hmi_command_factory.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/app_service_hmi_command_factory.cc
index 02b5d897e5..3090ea8ced 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/app_service_hmi_command_factory.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/app_service_hmi_command_factory.cc
@@ -131,7 +131,8 @@ app_mngr::CommandCreator& AppServiceHmiCommandFactory::buildCommandCreator(
case hmi_apis::FunctionID::AppService_UnpublishAppService:
return hmi_apis::messageType::request == message_type
? factory.GetCreator<commands::ASUnpublishAppServiceRequest>()
- : factory.GetCreator<commands::ASUnpublishAppServiceResponse>();
+ : factory
+ .GetCreator<commands::ASUnpublishAppServiceResponse>();
case hmi_apis::FunctionID::AppService_OnAppServiceData:
return app_mngr::commands::Command::CommandSource::SOURCE_HMI == source
? factory.GetCreator<
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_request.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_request.cc
index c19d588c09..7e7757a3d4 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_request.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_request.cc
@@ -31,10 +31,10 @@
*/
#include "app_service_rpc_plugin/commands/hmi/as_unpublish_app_service_request.h"
+#include "application_manager/app_service_manager.h"
#include "application_manager/application_impl.h"
#include "application_manager/rpc_service.h"
#include "interfaces/MOBILE_API.h"
-#include "application_manager/app_service_manager.h"
namespace app_service_rpc_plugin {
using namespace application_manager;
@@ -47,20 +47,22 @@ ASUnpublishAppServiceRequest::ASUnpublishAppServiceRequest(
app_mngr::HMICapabilities& hmi_capabilities,
policy::PolicyHandlerInterface& policy_handler)
: RequestFromHMI(message,
- application_manager,
- rpc_service,
- hmi_capabilities,
- policy_handler) {}
+ application_manager,
+ rpc_service,
+ hmi_capabilities,
+ policy_handler) {}
ASUnpublishAppServiceRequest::~ASUnpublishAppServiceRequest() {}
void ASUnpublishAppServiceRequest::Run() {
LOG4CXX_AUTO_TRACE(logger_);
- std::string service_id = (*message_)[strings::msg_params][strings::service_id].asString();
+ std::string service_id =
+ (*message_)[strings::msg_params][strings::service_id].asString();
+
+ bool ret = application_manager_.GetAppServiceManager().UnpublishAppService(
+ service_id);
- bool ret = application_manager_.GetAppServiceManager().UnpublishAppService(service_id);
-
if (!ret) {
SendErrorResponse(
(*message_)[strings::params][strings::correlation_id].asUInt(),
@@ -72,11 +74,11 @@ void ASUnpublishAppServiceRequest::Run() {
}
SendResponse(true,
- (*message_)[strings::params][strings::correlation_id].asUInt(),
- hmi_apis::FunctionID::AppService_UnpublishAppService,
- hmi_apis::Common_Result::SUCCESS,
- NULL,
- application_manager::commands::Command::SOURCE_SDL_TO_HMI);
+ (*message_)[strings::params][strings::correlation_id].asUInt(),
+ hmi_apis::FunctionID::AppService_UnpublishAppService,
+ hmi_apis::Common_Result::SUCCESS,
+ NULL,
+ application_manager::commands::Command::SOURCE_SDL_TO_HMI);
}
} // namespace commands
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_response.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_response.cc
index 47cc6ed295..0c8b479da8 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_response.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_unpublish_app_service_response.cc
@@ -46,15 +46,16 @@ ASUnpublishAppServiceResponse::ASUnpublishAppServiceResponse(
app_mngr::HMICapabilities& hmi_capabilities,
policy::PolicyHandlerInterface& policy_handler)
: ResponseToHMI(message,
- application_manager,
- rpc_service,
- hmi_capabilities,
- policy_handler) {}
+ application_manager,
+ rpc_service,
+ hmi_capabilities,
+ policy_handler) {}
ASUnpublishAppServiceResponse::~ASUnpublishAppServiceResponse() {}
void ASUnpublishAppServiceResponse::Run() {
LOG4CXX_AUTO_TRACE(logger_);
+ rpc_service_.SendMessageToHMI(message_);
}
} // namespace commands
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc
index 2aef9709b2..453de1d15f 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_request.cc
@@ -58,19 +58,21 @@ UnpublishAppServiceRequest::~UnpublishAppServiceRequest() {}
void UnpublishAppServiceRequest::Run() {
LOG4CXX_AUTO_TRACE(logger_);
- std::string service_id = (*message_)[strings::msg_params][strings::service_id].asString();
+ std::string service_id =
+ (*message_)[strings::msg_params][strings::service_id].asString();
- bool ret = application_manager_.GetAppServiceManager().UnpublishAppService(service_id);
+ bool ret = application_manager_.GetAppServiceManager().UnpublishAppService(
+ service_id);
if (!ret) {
- SendResponse(false,
- mobile_apis::Result::INVALID_ID,
- "The app service with that requested service ID does not exist");
+ SendResponse(
+ false,
+ mobile_apis::Result::INVALID_ID,
+ "The app service with that requested service ID does not exist");
return;
}
SendResponse(true, mobile_apis::Result::SUCCESS, NULL, NULL);
-
}
} // namespace commands
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_response.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_response.cc
index 5551d6bdf0..22450ecc4c 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_response.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/unpublish_app_service_response.cc
@@ -46,10 +46,10 @@ UnpublishAppServiceResponse::UnpublishAppServiceResponse(
app_mngr::HMICapabilities& hmi_capabilities,
policy::PolicyHandlerInterface& policy_handler)
: CommandResponseImpl(message,
- application_manager,
- rpc_service,
- hmi_capabilities,
- policy_handler) {}
+ application_manager,
+ rpc_service,
+ hmi_capabilities,
+ policy_handler) {}
UnpublishAppServiceResponse::~UnpublishAppServiceResponse() {}
diff --git a/src/components/application_manager/src/app_service_manager.cc b/src/components/application_manager/src/app_service_manager.cc
index 6925499c0f..f359f59bc3 100644
--- a/src/components/application_manager/src/app_service_manager.cc
+++ b/src/components/application_manager/src/app_service_manager.cc
@@ -72,10 +72,10 @@ smart_objects::SmartObject AppServiceManager::PublishAppService(
std::string service_type = manifest[strings::service_type].asString();
- AppService* found_service = FindServiceByProvider(connection_key, service_type);
+ AppService* found_service =
+ FindServiceByProvider(connection_key, service_type);
if (found_service) {
- LOG4CXX_WARN(logger_,
- "Service already exists for this provider, updating");
+ LOG4CXX_WARN(logger_, "Service already exists for this provider, updating");
published_services_lock_.Acquire();
found_service->record[strings::service_manifest] = manifest;
@@ -85,13 +85,14 @@ smart_objects::SmartObject AppServiceManager::PublishAppService(
smart_objects::SmartObject msg_params;
msg_params[strings::system_capability][strings::system_capability_type] =
- mobile_apis::SystemCapabilityType::APP_SERVICES;
+ mobile_apis::SystemCapabilityType::APP_SERVICES;
- AppServiceUpdated(
- updated_service_record, mobile_apis::ServiceUpdateReason::MANIFEST_UPDATE, msg_params);
+ AppServiceUpdated(updated_service_record,
+ mobile_apis::ServiceUpdateReason::MANIFEST_UPDATE,
+ msg_params);
MessageHelper::BroadcastCapabilityUpdate(msg_params, app_manager_);
-
+
return updated_service_record;
}
@@ -151,12 +152,13 @@ smart_objects::SmartObject AppServiceManager::PublishAppService(
// Activate the new service if it is the default for its service type, if
// no service is active of its service type, or it is a mobile app in full.
AppService* active_service = ActiveServiceForType(service_type);
- ApplicationSharedPtr app = NULL;
+ ApplicationSharedPtr app = NULL;
if (mobile_service && connection_key) {
app = app_manager_.application(connection_key);
}
-
- if (!active_service || app_service.default_service || (mobile_service && app && app->IsFullscreen())) {
+
+ if (!active_service || app_service.default_service ||
+ (mobile_service && app && app->IsFullscreen())) {
ActivateAppService(service_id);
}
@@ -185,7 +187,9 @@ bool AppServiceManager::UnpublishAppService(const std::string service_id) {
// Activate embedded service, if available
auto embedded_service = EmbeddedServiceForType(
record[strings::service_manifest][strings::service_type].asString());
- if (embedded_service) {
+ if (embedded_service &&
+ (embedded_service->record[strings::service_id].asString().compare(
+ service_id) > 0)) {
embedded_service->record[strings::service_active] = true;
AppServiceUpdated(embedded_service->record,
mobile_apis::ServiceUpdateReason::ACTIVATED,