summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2019-02-13 10:55:30 -0500
committerJackLivio <jack@livio.io>2019-02-13 10:55:30 -0500
commit26d4a6ac85727082682dae72d85a73d3df117fea (patch)
treef6b85e30acb6d12226b020bce5db0d474a4eb95d /src
parente114b44bb0d240bfa42a406ae1a217a8250da3e5 (diff)
parentcc8cd684d68306a3c09436a6ae8ab7ec70df1a94 (diff)
downloadsdl_core-26d4a6ac85727082682dae72d85a73d3df117fea.tar.gz
Merge remote-tracking branch 'origin/feature/base_app_services_implementation' into feature/app_service_policies
Diffstat (limited to 'src')
-rwxr-xr-xsrc/appMain/hmi_capabilities.json8
-rw-r--r--src/components/application_manager/include/application_manager/app_service_manager.h46
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_request.cc8
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_response.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification_from_hmi.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification_from_mobile.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc7
-rw-r--r--src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_response.cc4
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/button_get_capabilities_response.cc8
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc36
-rw-r--r--src/components/application_manager/src/app_service_manager.cc45
-rw-r--r--src/components/application_manager/src/plugin_manager/rpc_plugin_manager_impl.cc1
-rw-r--r--src/components/policy/policy_external/include/policy/policy_table/enums.h7
-rw-r--r--src/components/policy/policy_external/src/policy_table/enums.cc5
-rw-r--r--src/components/policy/policy_regular/include/policy/policy_table/enums.h7
-rw-r--r--src/components/policy/policy_regular/src/policy_table/enums.cc10
18 files changed, 169 insertions, 43 deletions
diff --git a/src/appMain/hmi_capabilities.json b/src/appMain/hmi_capabilities.json
index 93292d1023..873c80d32e 100755
--- a/src/appMain/hmi_capabilities.json
+++ b/src/appMain/hmi_capabilities.json
@@ -6,7 +6,7 @@
"JA-JP", "AR-SA", "KO-KR", "PT-BR", "CS-CZ", "DA-DK", "NO-NO"
],
"displayCapabilities": {
- "displayType": "GEN2_8_DMA",
+ "displayType": "SDL_GENERIC",
"displayName": "GENERIC_DISPLAY",
"textFields": [{
"name": "mainField1",
@@ -921,9 +921,9 @@
}
},
"VehicleInfo": {
- "make": "Ford",
- "model": "Fiesta",
- "modelYear": "2013",
+ "make": "SDL",
+ "model": "Generic",
+ "modelYear": "2019",
"trim": "SE"
},
"SyncMessageVersion": {
diff --git a/src/components/application_manager/include/application_manager/app_service_manager.h b/src/components/application_manager/include/application_manager/app_service_manager.h
index a15921d9f7..97df35e2b4 100644
--- a/src/components/application_manager/include/application_manager/app_service_manager.h
+++ b/src/components/application_manager/include/application_manager/app_service_manager.h
@@ -37,6 +37,13 @@
namespace application_manager {
+struct AppService {
+ uint32_t connection_key;
+ bool mobile_service;
+ bool default_service = false;
+ smart_objects::SmartObject record;
+};
+
class ApplicationManager;
/**
@@ -60,23 +67,56 @@ class AppServiceManager {
* @param manifest
*/
smart_objects::SmartObject PublishAppService(
- const smart_objects::SmartObject& manifest);
+ const smart_objects::SmartObject& manifest,
+ const bool mobile_service,
+ const uint32_t connection_key);
/**
* @brief TODO
- * @param manifest
+ * @param service_id
*/
bool UnpublishAppService(const std::string service_id);
/**
* @brief TODO
+ * @param service_id
+ */
+ bool SetDefaultService(const std::string service_id);
+
+ /**
+ * @brief TODO
+ * @param service_id
+ */
+ bool RemoveDefaultService(const std::string service_id);
+
+ /**
+ * @brief TODO
+ * @param service_id
+ */
+ bool ActivateAppService(const std::string service_id);
+
+ /**
+ * @brief TODO
+ * @param service_id
+ */
+ bool DeactivateAppService(const std::string service_id);
+
+ /**
+ * @brief TODO
* @param manifest
*/
std::vector<smart_objects::SmartObject> GetAllServices();
+ std::pair<std::string, AppService> ActiveServiceByType(
+ std::string service_type);
+
+ std::pair<std::string, AppService> FindServiceByName(std::string name);
+
+ std::string DefaultServiceByType(std::string service_type);
+
private:
ApplicationManager& app_manager_;
- std::map<std::string, smart_objects::SmartObject> published_services_;
+ std::map<std::string, AppService> published_services_;
};
} // namespace application_manager
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_request.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_request.cc
index 1e235c1282..89da1e744c 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_request.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_request.cc
@@ -49,9 +49,9 @@ ASPublishAppServiceRequest::ASPublishAppServiceRequest(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
hmi_apis::FunctionID::AppService_PublishAppService,
- app_mngr::commands::Command::CommandSource::SOURCE_HMI));
+ app_mngr::commands::Command::CommandSource::SOURCE_HMI);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
@@ -86,10 +86,10 @@ void ASPublishAppServiceRequest::Run() {
return;
}
smart_objects::SmartObject service_record =
- application_manager_.GetAppServiceManager().PublishAppService(manifest);
+ application_manager_.GetAppServiceManager().PublishAppService(
+ manifest, false, UINT32_MAX);
response_params[strings::app_service_record] = service_record;
- // TODO: Add AppServiceRecord to response
SendResponse(true,
(*message_)[strings::params][strings::correlation_id].asUInt(),
hmi_apis::FunctionID::AppService_PublishAppService,
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_response.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_response.cc
index 2513a92f15..1191b07abe 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_response.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/as_publish_app_service_response.cc
@@ -49,9 +49,9 @@ ASPublishAppServiceResponse::ASPublishAppServiceResponse(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
hmi_apis::FunctionID::AppService_PublishAppService,
- app_mngr::commands::Command::CommandSource::SOURCE_HMI));
+ app_mngr::commands::Command::CommandSource::SOURCE_HMI);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification.cc
index 0cd269b04e..29562d3086 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification.cc
@@ -49,9 +49,9 @@ OnASAppServiceDataNotification::OnASAppServiceDataNotification(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
hmi_apis::FunctionID::AppService_OnAppServiceData,
- app_mngr::commands::Command::CommandSource::SOURCE_HMI));
+ app_mngr::commands::Command::CommandSource::SOURCE_HMI);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification_from_hmi.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification_from_hmi.cc
index 01a8e817a2..ce68192d13 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification_from_hmi.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/hmi/on_as_app_service_data_notification_from_hmi.cc
@@ -49,9 +49,9 @@ OnASAppServiceDataNotificationFromHMI::OnASAppServiceDataNotificationFromHMI(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
hmi_apis::FunctionID::AppService_OnAppServiceData,
- app_mngr::commands::Command::CommandSource::SOURCE_HMI));
+ app_mngr::commands::Command::CommandSource::SOURCE_HMI);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification.cc
index 33ab1a7246..ef2ab7a4ab 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification.cc
@@ -52,9 +52,9 @@ OnAppServiceDataNotification::OnAppServiceDataNotification(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
mobile_apis::FunctionID::OnAppServiceDataID,
- app_mngr::commands::Command::CommandSource::SOURCE_MOBILE));
+ app_mngr::commands::Command::CommandSource::SOURCE_MOBILE);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification_from_mobile.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification_from_mobile.cc
index d4396d49a8..6c69eae3b6 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification_from_mobile.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/on_app_service_data_notification_from_mobile.cc
@@ -52,9 +52,9 @@ OnAppServiceDataNotificationFromMobile::OnAppServiceDataNotificationFromMobile(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
mobile_apis::FunctionID::OnAppServiceDataID,
- app_mngr::commands::Command::CommandSource::SOURCE_MOBILE));
+ app_mngr::commands::Command::CommandSource::SOURCE_MOBILE);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc
index 03c1b91785..052ad9751a 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_request.cc
@@ -52,9 +52,9 @@ PublishAppServiceRequest::PublishAppServiceRequest(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
mobile_apis::FunctionID::PublishAppServiceID,
- app_mngr::commands::Command::CommandSource::SOURCE_MOBILE));
+ app_mngr::commands::Command::CommandSource::SOURCE_MOBILE);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
@@ -90,7 +90,8 @@ void PublishAppServiceRequest::Run() {
return;
}
smart_objects::SmartObject service_record =
- application_manager_.GetAppServiceManager().PublishAppService(manifest);
+ application_manager_.GetAppServiceManager().PublishAppService(
+ manifest, true, connection_key());
std::string requested_service_name =
(*message_)[strings::msg_params][strings::app_service_manifest]
diff --git a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_response.cc b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_response.cc
index 6c3e9344bf..b302189ef7 100644
--- a/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_response.cc
+++ b/src/components/application_manager/rpc_plugins/app_service_rpc_plugin/src/commands/mobile/publish_app_service_response.cc
@@ -52,9 +52,9 @@ PublishAppServiceResponse::PublishAppServiceResponse(
hmi_capabilities,
policy_handler)
, plugin_(NULL) {
- auto plugin = (application_manager.GetPluginManager().FindPluginToProcess(
+ auto plugin = application_manager.GetPluginManager().FindPluginToProcess(
mobile_apis::FunctionID::PublishAppServiceID,
- app_mngr::commands::Command::CommandSource::SOURCE_MOBILE));
+ app_mngr::commands::Command::CommandSource::SOURCE_MOBILE);
if (plugin) {
plugin_ = dynamic_cast<AppServiceRpcPlugin*>(&(*plugin));
}
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/button_get_capabilities_response.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/button_get_capabilities_response.cc
index 863e179040..628eaa2e58 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/button_get_capabilities_response.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/hmi/button_get_capabilities_response.cc
@@ -68,8 +68,12 @@ void ButtonGetCapabilitiesResponse::Run() {
hmi_capabilities.set_button_capabilities(
(*message_)[strings::msg_params][hmi_response::capabilities]);
- hmi_capabilities.set_preset_bank_capabilities(
- (*message_)[strings::msg_params][hmi_response::preset_bank_capabilities]);
+ if ((*message_)[strings::msg_params].keyExists(
+ hmi_response::preset_bank_capabilities)) {
+ hmi_capabilities.set_preset_bank_capabilities(
+ (*message_)[strings::msg_params]
+ [hmi_response::preset_bank_capabilities]);
+ }
}
} // namespace commands
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc
index b78e541f17..10b0b41a58 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/on_system_request_notification.cc
@@ -36,6 +36,7 @@
#include "sdl_rpc_plugin/commands/mobile/on_system_request_notification.h"
#include "interfaces/MOBILE_API.h"
#include "utils/file_system.h"
+#include "utils/helpers.h"
#include "policy/policy_table/enums.h"
#include "application_manager/application_manager.h"
#include "application_manager/policies/policy_handler_interface.h"
@@ -65,6 +66,7 @@ void OnSystemRequestNotification::Run() {
LOG4CXX_AUTO_TRACE(logger_);
using namespace application_manager;
using namespace mobile_apis;
+ using namespace helpers;
ApplicationSharedPtr app = application_manager_.application(connection_key());
@@ -106,17 +108,33 @@ void OnSystemRequestNotification::Run() {
}
}
- if (mobile_apis::RequestType::PROPRIETARY == request_type) {
- /* According to requirements:
- "If the requestType = PROPRIETARY, add to mobile API fileType = JSON
- If the requestType = HTTP, add to mobile API fileType = BINARY"
- Also in Genivi SDL we don't save the PT to file - we put it directly in
- binary_data */
+ LOG4CXX_DEBUG(logger_,
+ "Processing Request type : " << stringified_request_type);
+
+ const bool binary_data_is_required =
+ Compare<mobile_apis::RequestType::eType, EQ, ONE>(
+ request_type,
+ mobile_apis::RequestType::PROPRIETARY,
+ mobile_apis::RequestType::OEM_SPECIFIC);
+ BinaryMessage binary_data;
+ if (binary_data_is_required) {
const std::string filename =
(*message_)[strings::msg_params][strings::file_name].asString();
- BinaryMessage binary_data;
file_system::ReadBinaryFile(filename, binary_data);
+ }
+
+ if (mobile_apis::RequestType::OEM_SPECIFIC == request_type) {
+ (*message_)[strings::params][strings::binary_data] = binary_data;
+ }
+
+ if (mobile_apis::RequestType::PROPRIETARY == request_type) {
+/* According to requirements:
+ "If the requestType = PROPRIETARY, add to mobile API fileType = JSON
+ If the requestType = HTTP, add to mobile API fileType = BINARY"
+ Also in Genivi SDL we don't save the PT to file - we put it directly in
+ binary_data */
+
#if defined(PROPRIETARY_MODE)
AddHeader(binary_data);
#endif // PROPRIETARY_MODE
@@ -126,7 +144,9 @@ void OnSystemRequestNotification::Run() {
#endif // PROPRIETARY_MODE
(*message_)[strings::msg_params][strings::file_type] = FileType::JSON;
- } else if (mobile_apis::RequestType::HTTP == request_type) {
+ }
+
+ if (mobile_apis::RequestType::HTTP == request_type) {
(*message_)[strings::msg_params][strings::file_type] = FileType::BINARY;
if ((*message_)[strings::msg_params].keyExists(strings::url)) {
(*message_)[strings::msg_params][strings::timeout] =
diff --git a/src/components/application_manager/src/app_service_manager.cc b/src/components/application_manager/src/app_service_manager.cc
index edfdfa26bc..c52e6a12f1 100644
--- a/src/components/application_manager/src/app_service_manager.cc
+++ b/src/components/application_manager/src/app_service_manager.cc
@@ -60,7 +60,9 @@ AppServiceManager::~AppServiceManager() {
}
smart_objects::SmartObject AppServiceManager::PublishAppService(
- const smart_objects::SmartObject& manifest) {
+ const smart_objects::SmartObject& manifest,
+ const bool mobile_service,
+ const uint32_t connection_key) {
std::string str_to_hash = "";
std::string service_id = "";
@@ -70,13 +72,21 @@ smart_objects::SmartObject AppServiceManager::PublishAppService(
service_id = encryption::MakeHash(str_to_hash);
} while (published_services_.find(service_id) != published_services_.end());
+ AppService app_service;
+ app_service.connection_key = connection_key;
+ app_service.mobile_service = mobile_service;
+
smart_objects::SmartObject service_record;
service_record[strings::service_manifest] = manifest;
service_record[strings::service_id] = service_id;
service_record[strings::service_published] = true;
service_record[strings::service_active] = true;
- published_services_.insert(std::pair<std::string, smart_objects::SmartObject>(
- service_id, service_record));
+
+ app_service.record = service_record;
+
+ published_services_.insert(
+ std::pair<std::string, AppService>(service_id, app_service));
+
return service_record;
}
@@ -91,9 +101,36 @@ std::vector<smart_objects::SmartObject> AppServiceManager::GetAllServices() {
std::vector<smart_objects::SmartObject> services;
for (auto it = published_services_.begin(); it != published_services_.end();
++it) {
- services.push_back(it->second);
+ services.push_back(it->second.record);
}
return services;
}
+
+std::pair<std::string, AppService> AppServiceManager::ActiveServiceByType(
+ std::string service_type) {
+ for (auto it = published_services_.begin(); it != published_services_.end();
+ ++it) {
+ if (it->second.record[strings::app_service_manifest][strings::service_type]
+ .asString() == service_type &&
+ it->second.record[strings::service_active].asBool()) {
+ return *it;
+ }
+ }
+ AppService empty;
+ return std::make_pair(std::string(), empty);
+}
+
+std::pair<std::string, AppService> AppServiceManager::FindServiceByName(
+ std::string name) {
+ for (auto it = published_services_.begin(); it != published_services_.end();
+ ++it) {
+ if (it->second.record[strings::app_service_manifest][strings::service_name]
+ .asString() == name) {
+ return *it;
+ }
+ }
+ AppService empty;
+ return std::make_pair(std::string(), empty);
+}
} // namespace application_manager
diff --git a/src/components/application_manager/src/plugin_manager/rpc_plugin_manager_impl.cc b/src/components/application_manager/src/plugin_manager/rpc_plugin_manager_impl.cc
index 712b91afe7..bbd0011298 100644
--- a/src/components/application_manager/src/plugin_manager/rpc_plugin_manager_impl.cc
+++ b/src/components/application_manager/src/plugin_manager/rpc_plugin_manager_impl.cc
@@ -54,7 +54,6 @@ RPCPluginPtr LoadPlugin(const std::string& full_plugin_path) {
return RPCPluginPtr();
}
RPCPlugin* plugin = create_plugin();
- dlclose(plugin_dll);
return RPCPluginPtr(plugin);
}
diff --git a/src/components/policy/policy_external/include/policy/policy_table/enums.h b/src/components/policy/policy_external/include/policy/policy_table/enums.h
index 0b571823f9..094e5cc7c6 100644
--- a/src/components/policy/policy_external/include/policy/policy_table/enums.h
+++ b/src/components/policy/policy_external/include/policy/policy_table/enums.h
@@ -446,7 +446,7 @@ enum FunctionID {
SetCloudAppPropertiesID = 50,
/**
- * @brief PublishAppServiceID
+ * @brief PublishAppServiceID.
*/
PublishAppServiceID = 52,
@@ -541,6 +541,11 @@ enum FunctionID {
OnRCStatusID = 32785,
/**
+ * @brief OnAppServiceDataID.
+ */
+ OnAppServiceDataID = 32786,
+
+ /**
* @brief EncodedSyncPDataID.
*/
EncodedSyncPDataID = 65536,
diff --git a/src/components/policy/policy_external/src/policy_table/enums.cc b/src/components/policy/policy_external/src/policy_table/enums.cc
index 72dd7aea72..2260d7e320 100644
--- a/src/components/policy/policy_external/src/policy_table/enums.cc
+++ b/src/components/policy/policy_external/src/policy_table/enums.cc
@@ -1221,6 +1221,11 @@ bool EnumFromJsonString(const std::string& literal, FunctionID* result) {
return true;
}
+ if ("OnAppServiceData" == literal) {
+ *result = OnAppServiceDataID;
+ return true;
+ }
+
if ("EncodedSyncPData" == literal) {
*result = EncodedSyncPDataID;
return true;
diff --git a/src/components/policy/policy_regular/include/policy/policy_table/enums.h b/src/components/policy/policy_regular/include/policy/policy_table/enums.h
index f8f4e9e029..a62a60f2e9 100644
--- a/src/components/policy/policy_regular/include/policy/policy_table/enums.h
+++ b/src/components/policy/policy_regular/include/policy/policy_table/enums.h
@@ -432,7 +432,7 @@ enum FunctionID {
SetCloudAppPropertiesID = 50,
/**
- * @brief PublishAppServiceID
+ * @brief PublishAppServiceID.
*/
PublishAppServiceID = 52,
@@ -527,6 +527,11 @@ enum FunctionID {
OnRCStatusID = 32785,
/**
+ * @brief OnAppServiceDataID.
+ */
+ OnAppServiceDataID = 32786,
+
+ /**
* @brief EncodedSyncPDataID.
*/
EncodedSyncPDataID = 65536,
diff --git a/src/components/policy/policy_regular/src/policy_table/enums.cc b/src/components/policy/policy_regular/src/policy_table/enums.cc
index f53b27776d..5c011fbfa0 100644
--- a/src/components/policy/policy_regular/src/policy_table/enums.cc
+++ b/src/components/policy/policy_regular/src/policy_table/enums.cc
@@ -887,6 +887,8 @@ bool IsValidEnum(FunctionID val) {
return true;
case OnRCStatusID:
return true;
+ case OnAppServiceDataID:
+ return true;
case EncodedSyncPDataID:
return true;
case SyncPDataID:
@@ -1038,6 +1040,8 @@ const char* EnumToJsonString(FunctionID val) {
return "OnWayPointChange";
case OnRCStatusID:
return "OnRCStatus";
+ case OnAppServiceDataID:
+ return "OnAppServiceData";
case EncodedSyncPDataID:
return "EncodedSyncPData";
case SyncPDataID:
@@ -1291,6 +1295,7 @@ bool EnumFromJsonString(const std::string& literal, FunctionID* result) {
*result = SendHapticDataID;
return true;
}
+
if ("SetCloudAppProperties" == literal) {
*result = SetCloudAppPropertiesID;
return true;
@@ -1391,6 +1396,11 @@ bool EnumFromJsonString(const std::string& literal, FunctionID* result) {
return true;
}
+ if ("OnAppServiceData" == literal) {
+ *result = OnAppServiceDataID;
+ return true;
+ }
+
if ("EncodedSyncPData" == literal) {
*result = EncodedSyncPDataID;
return true;