summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShobhitAd <adlakhshobhit@gmail.com>2018-11-13 12:07:45 -0500
committerShobhitAd <adlakhshobhit@gmail.com>2018-11-13 12:07:45 -0500
commitd8bda5ad6f4f82d5203e27f18a2fc25f05d7a323 (patch)
treea7b775ed9ec266afce9b5d5babcca5b60efeddf8
parentc9d1e934396dabd1c8604e1884d86882247e4ba1 (diff)
downloadsdl_core-d8bda5ad6f4f82d5203e27f18a2fc25f05d7a323.tar.gz
Getting HybridAppPreference from enum
-rw-r--r--src/components/application_manager/src/policies/policy_handler.cc11
-rw-r--r--src/components/smart_objects/include/smart_objects/enum_schema_item.h7
2 files changed, 10 insertions, 8 deletions
diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc
index cc62d9f6f8..44f83ab097 100644
--- a/src/components/application_manager/src/policies/policy_handler.cc
+++ b/src/components/application_manager/src/policies/policy_handler.cc
@@ -54,6 +54,7 @@
#include "interfaces/MOBILE_API.h"
#include "utils/file_system.h"
#include "utils/scope_guard.h"
+#include "smart_objects/enum_schema_item.h"
#include "utils/helpers.h"
#include "policy/policy_manager.h"
@@ -1913,10 +1914,12 @@ void PolicyHandler::OnSetCloudAppProperties(
policy_app_id, msg_params[strings::cloud_transport_type].asString());
}
if (msg_params.keyExists(strings::hybrid_app_preference)) {
- // const std::string hybrid_app_preference =
- // EnumConversionHelper<HybridAppPreference>::EnumToString(msg_params[strings::hybrid_app_preference]);
- // policy_manager_->SetHybridAppPreference(
- // policy_app_id, hybrid_app_preference);
+ std::string hybrid_app_preference;
+
+ mobile_apis::HybridAppPreference::eType value = static_cast<mobile_apis::HybridAppPreference::eType>
+ (msg_params[strings::hybrid_app_preference].asUInt());
+ smart_objects::EnumConversionHelper<mobile_apis::HybridAppPreference::eType>::EnumToString(value, &hybrid_app_preference);
+ policy_manager_->SetHybridAppPreference(policy_app_id, hybrid_app_preference);
}
}
diff --git a/src/components/smart_objects/include/smart_objects/enum_schema_item.h b/src/components/smart_objects/include/smart_objects/enum_schema_item.h
index cbba5bd7cd..942b491927 100644
--- a/src/components/smart_objects/include/smart_objects/enum_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/enum_schema_item.h
@@ -220,11 +220,10 @@ class EnumConversionHelper {
static bool EnumToString(const EnumType value, std::string* str) {
const char* cstr;
- if (EnumToCString(value, &cstr)) {
- return false;
- }
- if (str) {
+ bool success = EnumToCString(value, &cstr);
+ if (success && str) {
*str = cstr;
+ return true;
}
return false;
}