summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnusha Gugale <external.agogale@jp.adit-jv.com>2021-02-04 12:31:05 +0530
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-02-05 10:38:13 +0000
commit577485cecdc239d21535c560475ffdc9f44176f4 (patch)
treecd3656364c084649ebb744f971400c00be9d54aa
parentc95fca01dee14a549fed79a78c7f2140e97ec570 (diff)
- 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 (cherry picked from commit fd860492da6fb07f06b308805e6fc57afa76b186)
-rw-r--r--src/policy-rba.c2
-rw-r--r--src/rba_adapter.cpp17
-rw-r--r--src/rba_adapter.h2
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