Code Review
/
src
/
agl-compositor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
compositor: Fix memleak when disabling the output
[src/agl-compositor.git]
/
src
/
rba_adapter.cpp
diff --git
a/src/rba_adapter.cpp
b/src/rba_adapter.cpp
index
120d032
..
0609ac9
100644
(file)
--- a/
src/rba_adapter.cpp
+++ b/
src/rba_adapter.cpp
@@
-28,6
+28,8
@@
#include <unistd.h>
#include "rba_adapter.h"
#include <unistd.h>
#include "rba_adapter.h"
+#include "ivi-compositor.h"
+#include <libweston/config-parser.h>
#include <libweston/libweston.h>
#include "RBAJsonParser.hpp"
#include <libweston/libweston.h>
#include "RBAJsonParser.hpp"
@@
-52,27
+54,37
@@
bool rba_adapter_initialize(void)
weston_log("RBAmodel is NULL\n");
return false;
}
weston_log("RBAmodel is NULL\n");
return false;
}
- arb = new rba::RBAArbitrator();
+ arb = new rba::RBAArbitrator(
model
);
if (arb == nullptr) {
weston_log("RBAArbitrator is NULL\n");
return false;
}
if (arb == nullptr) {
weston_log("RBAArbitrator is NULL\n");
return false;
}
- arb->setModel(model);
return true;
}
weston_log("RBAArbitrator model is already created\n");
return true;
}
return true;
}
weston_log("RBAArbitrator model is already created\n");
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);
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);
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) {
}
if (result->getStatusType() == rba::RBAResultStatusType::FAILED ||
result->getStatusType() == rba::RBAResultStatusType::CANCEL_ERROR) {