namespace commands {
OnAppPermissionConsentNotification::OnAppPermissionConsentNotification(const MessageSharedPtr& message)
- : NotificationFromHMI(message) {
+ : NotificationFromHMI(message) {
}
OnAppPermissionConsentNotification::~OnAppPermissionConsentNotification() {
if (msg_params.keyExists(strings::app_id)) {
uint32_t connection_key = msg_params[strings::app_id].asUInt();
ApplicationSharedPtr app =
- application_manager::ApplicationManagerImpl::instance()
- ->application(connection_key);
+ application_manager::ApplicationManagerImpl::instance()
+ ->application(connection_key);
if (app.valid()) {
permission_consent.policy_app_id = app->mobile_app_id()->asString();
policy::DeviceParams device_params;
application_manager::MessageHelper::GetDeviceInfoForHandle(
- app->device(),
- &device_params);
+ app->device(),
+ &device_params);
permission_consent.device_id = device_params.device_mac_address;
}
}
- smart_objects::SmartArray* user_consent =
+ if (msg_params.keyExists("consentedFunctions")) {
+ smart_objects::SmartArray* user_consent =
msg_params["consentedFunctions"].asArray();
- smart_objects::SmartArray::const_iterator it = user_consent->begin();
- smart_objects::SmartArray::const_iterator it_end = user_consent->end();
- for (; it != it_end; ++it) {
- policy::FunctionalGroupPermission permissions;
- permissions.group_id = (*it)["id"].asInt();
- permissions.group_alias = (*it)["name"].asString();
- if ((*it).keyExists("allowed")) {
- permissions.state = (*it)["allowed"].asBool() ? policy::kAllowed :
- policy::kDisallowed;
- } else {
- permissions.state = policy::kUndefined;
+ smart_objects::SmartArray::const_iterator it = user_consent->begin();
+ smart_objects::SmartArray::const_iterator it_end = user_consent->end();
+ for (; it != it_end; ++it) {
+ policy::FunctionalGroupPermission permissions;
+ permissions.group_id = (*it)["id"].asInt();
+ permissions.group_alias = (*it)["name"].asString();
+ if ((*it).keyExists("allowed")) {
+ permissions.state = (*it)["allowed"].asBool() ? policy::kAllowed :
+ policy::kDisallowed;
+ } else {
+ permissions.state = policy::kUndefined;
+ }
+
+ permission_consent.group_permissions.push_back(permissions);
}
- permission_consent.group_permissions.push_back(permissions);
- }
-
- permission_consent.consent_source = msg_params["source"].asString();
+ permission_consent.consent_source = msg_params["source"].asString();
- policy::PolicyHandler::instance()->OnAppPermissionConsent(permission_consent);
+ policy::PolicyHandler::instance()->OnAppPermissionConsent(
+ permission_consent);
+ }
}
} // namespace commands