<manifest>
<!-- Provider master label -->
<define>
- <domain name="org.tizen.data-provider-master" policy="restricted" />
+ <domain name="data-provider-master" policy="restricted" />
<provide>
- <label name="org.tizen.data-provider-master::log" />
- <label name="org.tizen.data-provider-master::db" />
- <label name="org.tizen.data-provider-master::data" />
- <label name="org.tizen.data-provider-master::share" />
+ <label name="data-provider-master::log" />
+ <label name="data-provider-master::db" />
+ <label name="data-provider-master::data" />
+ <label name="data-provider-master::share" />
</provide>
</define>
<request>
<assign>
<!-- Executable file -->
- <filesystem path="/usr/bin/data-provider-master" label="org.tizen.data-provider-master" exec_label="org.tizen.data-provider-master" />
- <filesystem path="/usr/bin/liveinfo" label="org.tizen.data-provider-master" exec_label="org.tizen.data-provider-master" />
+ <filesystem path="/usr/bin/data-provider-master" label="data-provider-master" exec_label="data-provider-master" />
+ <filesystem path="/usr/bin/liveinfo" label="data-provider-master" exec_label="data-provider-master" />
<!-- Configuration data -->
- <filesystem path="/usr/share/data-provider-master" label="org.tizen.data-provider-master::data" />
- <filesystem path="/usr/share/data-provider-master/abi.ini" label="org.tizen.data-provider-master::data" />
+ <filesystem path="/usr/share/data-provider-master" label="data-provider-master::data" />
+ <filesystem path="/usr/share/data-provider-master/abi.ini" label="data-provider-master::data" />
<!-- livebox-service is able to access the resolution.ini file -->
<filesystem path="/usr/share/data-provider-master/resolution.ini" label="_" />
<!-- Slave provider and the master provider are able to access the conf.ini file -->
- <filesystem path="/usr/share/data-provider-master/conf.ini" label="_" />
+ <filesystem path="/usr/share/data-provider-master/conf.ini" label="data-provider-master::data" />
<!-- Shared data folder -->
- <filesystem path="/opt/usr/share/live_magazine" label="org.tizen.data-provider-master::share" />
- <filesystem path="/opt/usr/share/live_magazine/log" label="org.tizen.data-provider-master::share" />
- <filesystem path="/opt/usr/share/live_magazine/reader" label="org.tizen.data-provider-master::share" />
- <filesystem path="/opt/usr/share/live_magazine/always" label="org.tizen.data-provider-master::share" />
+ <filesystem path="/opt/usr/share/live_magazine" label="data-provider-master::share" type="transmutable" />
+ <filesystem path="/opt/usr/share/live_magazine/log" label="data-provider-master::share" type="transmutable" />
+ <filesystem path="/opt/usr/share/live_magazine/reader" label="data-provider-master::share" type="transmutable" />
+ <filesystem path="/opt/usr/share/live_magazine/always" label="data-provider-master::share" type="transmutable" />
<!-- Database -->
<filesystem path="/opt/dbspace/.livebox.db" label="data-provider-master::db" />
#include "conf.h"
#include "util.h"
+#define TYPE_COLOR "color"
#define TYPE_TEXT "text"
#define TYPE_IMAGE "image"
#define TYPE_EDJE "script"
void *handle;
const char *(*magic_id)(void);
+ int (*update_color)(void *handle, Evas *e, const char *id, const char *part, const char *rgba);
int (*update_text)(void *handle, Evas *e, const char *id, const char *part, const char *text);
int (*update_image)(void *handle, Evas *e, const char *id, const char *part, const char *path);
int (*update_script)(void *handle, Evas *e, const char *src_id, const char *target_id, const char *part, const char *path, const char *group);
return ecore_evas_get(info->ee);
}
+static int update_script_color(struct inst_info *inst, struct block *block, int is_pd)
+{
+ struct script_info *info;
+ Evas *e;
+
+ if (!block || !block->part || !block->data) {
+ ErrPrint("Block or part or data is not valid\n");
+ return -EINVAL;
+ }
+
+ info = is_pd ? instance_pd_script(inst) : instance_lb_script(inst);
+ if (!info) {
+ ErrPrint("info is NIL\n");
+ return -EFAULT;
+ }
+
+ if (!info->port) {
+ ErrPrint("info->port is NIL\n");
+ return -EINVAL;
+ }
+
+ e = script_handler_evas(info);
+ if (e)
+ info->port->update_color(info->port_data, e, block->id, block->part, block->data);
+ else
+ ErrPrint("Evas(nil) id[%s] part[%s] data[%s]\n", block->id, block->part, block->data);
+
+ return 0;
+}
+
static int update_script_text(struct inst_info *inst, struct block *block, int is_pd)
{
struct script_info *info;
int (*handler)(struct inst_info *inst, struct block *block, int is_pd);
} handlers[] = {
{
+ .type = TYPE_COLOR,
+ .handler = update_script_color,
+ },
+ {
.type = TYPE_TEXT,
.handler = update_script_text,
},
DbgPrint("SCRIPT PORT magic id: %s\n", item->magic_id());
+ item->update_color = dlsym(item->handle, "script_update_color");
+ if (!item->update_color)
+ goto errout;
+
item->update_text = dlsym(item->handle, "script_update_text");
if (!item->update_text)
goto errout;