For the smack, post script is moved to install section.
mouse_event attribute is added.
Change-Id: I0261816db2ac2516f4dd5e7fee524542ef5806c7
<!-- 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 -->
+ <!-- Slave provider and the master provider are able to access the conf.ini file -->
<filesystem path="/usr/share/data-provider-master/conf.ini" label="_" />
- <!-- Package manager & Init script -->
+ <!-- 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" />
+
+ <!-- Database -->
+ <filesystem path="/opt/dbspace/.livebox.db" label="data-provider-master::db" />
+ <filesystem path="/opt/dbspace/.livebox.db-journal" label="data-provider-master::db" />
+
+ <!-- Init script -->
<filesystem path="/etc/rc.d/init.d/data-provider-master" label="_" />
- <filesystem path="/usr/lib/systemd/user/data-provider.service" label="_" />
+ <filesystem path="/etc/rc.d/rc3.d/S99data-provider-master" label="_" />
+ <filesystem path="/usr/lib/systemd/user/data-provider-master.service" label="_" />
+ <filesystem path="/usr/lib/systemd/user/tizen-middleware.target.wants/data-provider-master.service" label="_" />
<!-- Package manager plugin -->
<filesystem path="/usr/etc/package-manager/parserlib/liblivebox.so" label="_" />
Name: org.tizen.data-provider-master
Summary: Master data provider
-Version: 0.14.2
+Version: 0.14.3
Release: 1
Group: main/app
License: Flora License
rm -rf %{buildroot}
%make_install
mkdir -p %{buildroot}/%{_datarootdir}/license
+mkdir -p %{buildroot}/opt/usr/share/live_magazine
+mkdir -p %{buildroot}/opt/usr/share/live_magazine/log
+mkdir -p %{buildroot}/opt/usr/share/live_magazine/reader
+mkdir -p %{buildroot}/opt/usr/share/live_magazine/always
+mkdir -p %{buildroot}/opt/dbspace
+mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/rc3.d
+mkdir -p %{buildroot}/%{_libdir}/systemd/user/tizen-middleware.target.wants
+touch %{buildroot}/opt/dbspace/.livebox.db
+touch %{buildroot}/opt/dbspace/.livebox.db-journal
+ln -sf %{_sysconfdir}/rc.d/init.d/data-provider-master %{buildroot}/%{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
+ln -sf %{_libdir}/systemd/user/data-provider-master.service %{buildroot}/%{_libdir}/systemd/user/tizen-middleware.target.wants/data-provider-master.service
%pre
-
# Executing the stop script for stopping the service of installed provider (old version)
if [ -x %{_sysconfdir}/rc.d/init.d/data-provider-master ]; then
%{_sysconfdir}/rc.d/init.d/data-provider-master stop
fi
%post
-
-mkdir -p /opt/usr/share/live_magazine
-chown 5000:5000 /opt/usr/share/live_magazine
-if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- echo "Update smack for CONTENT SHARING FOLDER"
- chsmack -a "org.tizen.data-provider-master::share" /opt/usr/share/live_magazine
- chsmack -t /opt/usr/share/live_magazine
-fi
-
-# According to this transmute attribute, below log, reader folder will be set as same label
-
-mkdir -p /opt/usr/share/live_magazine/log
-chown 5000:5000 /opt/usr/share/live_magazine/log
-
-mkdir -p /opt/usr/share/live_magazine/reader
-chown 5000:5000 /opt/usr/share/live_magazine/reader
-
-mkdir -p /opt/usr/share/live_magazine/always
-chown 5000:5000 /opt/usr/share/live_magazine/always
-
-# End of a list of affected folder by the transmute attribute
-
-if [ ! -f "/opt/dbspace/.livebox.db" ]; then
- echo "Create a new livebox DB"
- touch /opt/dbspace/.livebox.db
- chown 0:5000 /opt/dbspace/.livebox.db
- chmod 640 /opt/dbspace/.livebox.db
- if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- echo "Update smack for DB"
- chsmack -a "data-provider-master::db" /opt/dbspace/.livebox.db
- fi
-fi
-
-if [ ! -f "/opt/dbspace/.livebox.db-journal" ]; then
- echo "Create a new livebox DB - journal file"
- touch /opt/dbspace/.livebox.db-journal
- chown 0:5000 /opt/dbspace/.livebox.db-journal
- chmod 640 /opt/dbspace/.livebox.db-journal
- if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- echo "Update smack for DB(journal)"
- chsmack -a "data-provider-master::db" /opt/dbspace/.livebox.db-journal
- fi
-fi
-
-mkdir -p %{_sysconfdir}/rc.d/rc3.d
-ln -sf %{_sysconfdir}/rc.d/init.d/data-provider-master %{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
-if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- echo "Update smack for INITD - booting script"
- chsmack -a "_" %{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
- chsmack -e "_" %{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
-fi
-
-mkdir -p %{_libdir}/systemd/user/tizen-middleware.target.wants
-ln -sf %{_libdir}/systemd/user/data-provider-master.service %{_libdir}/systemd/user/tizen-middleware.target.wants/data-provider-master.service
-if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- echo "Update smack for SYSTEMD - service file"
- chsmack -a "_" %{_libdir}/systemd/user/tizen-middleware.target.wants/data-provider-master.service
-fi
-
echo "Successfully installed. Please start a daemon again manually"
echo "%{_sysconfdir}/init.d/data-provider-master start"
%manifest org.tizen.data-provider-master.manifest
%defattr(-,root,root,-)
%{_sysconfdir}/rc.d/init.d/data-provider-master
+%{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
%{_bindir}/data-provider-master
%{_bindir}/liveinfo
%{_prefix}/etc/package-manager/parserlib/*
%{_datarootdir}/data-provider-master/*
%{_libdir}/systemd/user/data-provider-master.service
+%{_libdir}/systemd/user/tizen-middleware.target.wants/data-provider-master.service
%{_datarootdir}/license/*
+%attr(750,app,app) /opt/usr/share/live_magazine
+%attr(750,app,app) /opt/usr/share/live_magazine/log
+%attr(750,app,app) /opt/usr/share/live_magazine/reader
+%attr(750,app,app) /opt/usr/share/live_magazine/always
+%attr(640,root,app) /opt/dbspace/.livebox.db
+%attr(640,root,app) /opt/dbspace/.livebox.db-journal
# End of a file
<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.nicesj" version="1.0" install-location="auto">
-<livebox appid="org.tizen.nicesj.livebox" primary="true" secured="false" network="false" abi="c" timeout="20" period="10.0" libexec="/usr/apps/org.tizen.myapp/libexec/liblive-org.tizen.nicesj.so" pinup="false" script="edje">
+<livebox appid="org.tizen.nicesj.livebox" primary="true" secured="false" network="false" abi="c" timeout="20" period="10.0" libexec="/usr/apps/org.tizen.myapp/libexec/liblive-org.tizen.nicesj.so" pinup="false" script="edje" nodisplay="false">
<label>My livebox</label>
<icon>/usr/share/icons/small/org.tizen.live-nicesj.png</icon>
<label xml:lang="en_US">Sample</label>
<setup>org.tizen.nicesj</setup>
- <box type="image">
+ <box type="image" mouse_event="false">
<size>1x1</size>
<size>2x1</size>
<size>2x2</size>
*
*
* client
- * +-------+------+---------+-------------+---------+---------+-----------+-------+
- * | pkgid | Icon | Name | auto_launch | pd_size | content | nodisplay | setup |
- * +-------+------+---------+-------------+---------+---------+-----------+-------+
- * | - | - | - | - | - | - | - | - |
- * +-------+------+---------+-------------+---------+---------+-----------+-------+
- * CREATE TABLE client ( pkgid TEXT PRIMARY KEY NOT NULL, icon TEXT, name TEXT, auto_launch TEXT, pd_size TEXT, content TEXT DEFAULT "default", nodisplay INTEGER, setup TEXT, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) )
+ * +-------+------+---------+-------------+---------+---------+-----------+-------+-------------+
+ * | pkgid | Icon | Name | auto_launch | pd_size | content | nodisplay | setup | mouse_event |
+ * +-------+------+---------+-------------+---------+---------+-----------+-------+-------------+
+ * | - | - | - | - | - | - | - | - | - }
+ * +-------+------+---------+-------------+---------+---------+-----------+-------+-------------+
+ * CREATE TABLE client ( pkgid TEXT PRIMARY KEY NOT NULL, icon TEXT, name TEXT, auto_launch TEXT, pd_size TEXT, content TEXT DEFAULT "default", nodisplay INTEGER, setup TEXT, mouse_event INTEGER, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) )
*
* = auto_launch = UI-APPID
* = pd_size = WIDTHxHEIGHT
int pinup; /* Is this support the pinup feature? */
int primary; /* Is this primary livebox? */
int nodisplay;
+ int mouse_event; /* Mouse event processing option for livebox */
enum lb_type lb_type;
xmlChar *lb_src;
ddl = "CREATE TABLE client (" \
"pkgid TEXT PRIMARY KEY NOT NULL, icon TEXT, name TEXT, " \
- "auto_launch TEXT, pd_size TEXT, content TEXT DEFAULT 'default', nodisplay INTEGER, setup TEXT, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE)";
+ "auto_launch TEXT, pd_size TEXT, content TEXT DEFAULT 'default', nodisplay INTEGER, setup TEXT, mouse_event INTEGER, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE)";
if (sqlite3_exec(s_info.handle, ddl, NULL, NULL, &err) != SQLITE_OK) {
ErrPrint("Failed to execute the DDL (%s)\n", err);
return -EIO;
int ret;
sqlite3_stmt *stmt;
- dml = "INSERT INTO client ( pkgid, icon, name, auto_launch, pd_size, content, nodisplay, setup ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
+ dml = "INSERT INTO client ( pkgid, icon, name, auto_launch, pd_size, content, nodisplay, setup, mouse_event ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
ret = sqlite3_prepare_v2(s_info.handle, dml, -1, &stmt, NULL);
if (ret != SQLITE_OK) {
DbgPrint("Error: %s\n", sqlite3_errmsg(s_info.handle));
goto out;
}
+ ret = sqlite3_bind_int(stmt, 9, livebox->mouse_event);
+ if (ret != SQLITE_OK) {
+ DbgPrint("Error: %s\n", sqlite3_errmsg(s_info.handle));
+ ret = -EIO;
+ goto out;
+ }
+
ret = 0;
if (sqlite3_step(stmt) != SQLITE_DONE) {
DbgPrint("Error: %s\n", sqlite3_errmsg(s_info.handle));
}
}
+ if (!xmlHasProp(node, (const xmlChar *)"mouse_event")) {
+ livebox->mouse_event = 0;
+ } else {
+ xmlChar *mouse_event;
+
+ mouse_event = xmlGetProp(node, (const xmlChar *)"mouse_event");
+ if (!mouse_event) {
+ ErrPrint("mouse_event is NIL\n");
+ livebox->mouse_event = 0;
+ } else {
+ livebox->mouse_event = !xmlStrcasecmp(mouse_event, (const xmlChar *)"true");
+ xmlFree(mouse_event);
+ }
+ }
+
for (node = node->children; node; node = node->next) {
if (!xmlStrcasecmp(node->name, (const xmlChar *)"size")) {
xmlChar *size;