#include <unistd.h>
#include "rba_adapter.h"
+#include "ivi-compositor.h"
+#include <libweston/config-parser.h>
#include <libweston/libweston.h>
#include "RBAJsonParser.hpp"
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) {