diff options
author | Anusha Gugale <external.agogale@jp.adit-jv.com> | 2021-02-04 12:31:05 +0530 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-02-04 15:40:41 +0000 |
commit | fd860492da6fb07f06b308805e6fc57afa76b186 (patch) | |
tree | 5b2429e4f6d9c6b6e2fdb229f58e20e173ecfb1c | |
parent | 47386558dbc95387f9062651774d9b2e1bb8bc6b (diff) |
Allow unregistered applications in rba
- To allow unregistered applications, set allow_unregistred_app=true
in .ini file under core section of /etc/xdg/weston/weston.ini .
Bug-AGL: SPEC-3738
Signed-off-by: Anusha Gugale <external.agogale@jp.adit-jv.com>
Change-Id: Ic56564ea97900df0091d92a2dd4ed1bc7cb0559f
-rw-r--r-- | src/policy-rba.c | 2 | ||||
-rw-r--r-- | src/rba_adapter.cpp | 17 | ||||
-rw-r--r-- | src/rba_adapter.h | 2 |
3 files changed, 17 insertions, 4 deletions
diff --git a/src/policy-rba.c b/src/policy-rba.c index 3ace75c..243bfe1 100644 --- a/src/policy-rba.c +++ b/src/policy-rba.c @@ -51,7 +51,7 @@ ivi_policy_rba_surface_activate(struct ivi_surface *surf, void *user_data) weston_log("app_id is NULL, surface activation failed.\n"); return false; } - return rba_adapter_arbitrate(app_id); + return rba_adapter_arbitrate(app_id,surf->ivi); } static bool diff --git a/src/rba_adapter.cpp b/src/rba_adapter.cpp index 0583f92..0609ac9 100644 --- a/src/rba_adapter.cpp +++ b/src/rba_adapter.cpp @@ -28,6 +28,8 @@ #include <unistd.h> #include "rba_adapter.h" +#include "ivi-compositor.h" +#include <libweston/config-parser.h> #include <libweston/libweston.h> #include "RBAJsonParser.hpp" @@ -63,15 +65,26 @@ bool rba_adapter_initialize(void) return true; } -bool rba_adapter_arbitrate(const char *app_id) +bool rba_adapter_arbitrate(const char *app_id, struct ivi_compositor *ivi) { + bool allow_unregistred_app; + struct weston_config_section *section; string id(app_id); result = arb->execute(id+ "/NORMAL", true); + section = weston_config_get_section(ivi->config, "core", NULL, NULL); + weston_config_section_get_bool(section, "allow_unregistred_app", + &allow_unregistred_app, false); if (result->getStatusType() == rba::RBAResultStatusType::UNKNOWN_CONTENT_STATE) { weston_log("ERROR: Unknown context app: %s\n", app_id); - return false; + if(allow_unregistred_app) { + result = arb->execute("unknown_app/NORMAL", true); + weston_log("!!! WARNING !!! Allowed unknown application to open as allow_unregistred_app is set to 1 in config file.\n"); + weston_log("!!! WARNING !!! allow_unregistred_app should be disabled for release build.\n"); + } else { + return false; + } } if (result->getStatusType() == rba::RBAResultStatusType::FAILED || result->getStatusType() == rba::RBAResultStatusType::CANCEL_ERROR) { diff --git a/src/rba_adapter.h b/src/rba_adapter.h index 596d56e..ea1eebc 100644 --- a/src/rba_adapter.h +++ b/src/rba_adapter.h @@ -30,7 +30,7 @@ extern "C" { #endif bool rba_adapter_initialize(void); -bool rba_adapter_arbitrate(const char *app_id); +bool rba_adapter_arbitrate(const char *app_id, struct ivi_compositor *ivi); #ifdef __cplusplus } #endif |