diff options
author | Sung-jae Park <nicesj.park@samsung.com> | 2013-01-04 21:34:06 +0900 |
---|---|---|
committer | Sung-jae Park <nicesj.park@samsung.com> | 2013-01-07 15:42:31 +0900 |
commit | 51a5b15e09255d6c9bc4bd4a209b498a14f7b507 (patch) | |
tree | f15f4e63caf871a64a191f55f69ccacb500e105e | |
parent | 73dcdc56b0384aa8e0e4471e40ecd83f203d8eb0 (diff) | |
download | data-provider-master-51a5b15e09255d6c9bc4bd4a209b498a14f7b507.tar.gz data-provider-master-51a5b15e09255d6c9bc4bd4a209b498a14f7b507.tar.bz2 data-provider-master-51a5b15e09255d6c9bc4bd4a209b498a14f7b507.zip |
Revise the spec file
Change the package name of the web livebox provider.
(From org.tizen.data-provider-webapp-slave to livebox.web-provider)
Clear the files in the shared folder first before initiate the master.
Add reader & always folder parse code from conf file.
Change-Id: I10415faadda3dd267d728ce71b029abdb770964e
-rw-r--r-- | data/abi.ini | 2 | ||||
-rw-r--r-- | data/conf.ini | 4 | ||||
-rwxr-xr-x | data/data-provider-master | 3 | ||||
-rw-r--r-- | include/conf.h | 4 | ||||
-rw-r--r-- | include/util.h | 1 | ||||
-rw-r--r-- | packaging/org.tizen.data-provider-master.spec | 7 | ||||
-rw-r--r-- | src/conf.c | 26 | ||||
-rw-r--r-- | src/main.c | 9 | ||||
-rw-r--r-- | src/util.c | 51 |
9 files changed, 101 insertions, 6 deletions
diff --git a/data/abi.ini b/data/abi.ini index a2ef140..8822699 100644 --- a/data/abi.ini +++ b/data/abi.ini @@ -5,7 +5,7 @@ package=org.tizen.data-provider-slave package=org.tizen.data-provider-slave [html] -package=org.tizen.data-provider-webapp-slave +package=livebox.web-provider [osp] package=gi2qxenosh.osp-livebox-service diff --git a/data/conf.ini b/data/conf.ini index 2a10f07..b9ad80a 100644 --- a/data/conf.ini +++ b/data/conf.ini @@ -14,8 +14,10 @@ max_log_line=1000 max_log_file=3 sqilte_flush_max=1048576 db_path=/opt/dbspace/.livebox.db -log_path=/opt/usr/share/live_magazine/log share_path=/opt/usr/share/live_magazine/ +log_path=/opt/usr/share/live_magazine/log +always_path=/opt/usr/share/live_magazine/always +reader_path=/opt/usr/share/live_magazine/reader script_port_path=/opt/usr/live/script_port/ ping_interval=240.0 slave_max_load=30 diff --git a/data/data-provider-master b/data/data-provider-master index 2e6ce3c..9e2132a 100755 --- a/data/data-provider-master +++ b/data/data-provider-master @@ -34,9 +34,6 @@ launch_provider() start () { - rm /opt/usr/share/live_magazine/* - rm /opt/usr/share/live_magazine/reader/* - rm /opt/usr/share/live_magazine/log/* rm /tmp/.stop.provider launch_provider & } diff --git a/include/conf.h b/include/conf.h index 52f0a76..adf0cf5 100644 --- a/include/conf.h +++ b/include/conf.h @@ -61,6 +61,8 @@ struct conf { char *root; char *script_port; char *slave_log; + char *reader; + char *always; char *db; } path; @@ -120,6 +122,8 @@ extern int conf_loader(void); #define CONF_PATH g_conf.path.conf #define ROOT_PATH g_conf.path.root #define SLAVE_LOG_PATH g_conf.path.slave_log +#define READER_PATH g_conf.path.reader +#define ALWAYS_PATH g_conf.path.always #define REPLACE_TAG_APPID g_conf.replace_tag #define SLAVE_TTL g_conf.slave_ttl diff --git a/include/util.h b/include/util.h index 8bc9c72..1411f4f 100644 --- a/include/util.h +++ b/include/util.h @@ -19,6 +19,7 @@ extern double util_timestamp(void); extern int util_check_ext(const char *filename, const char *check_ptr); extern int util_validate_livebox_package(const char *pkgname); extern int util_unlink(const char *filename); +extern int util_unlink_files(const char *folder); extern char *util_slavename(void); extern const char *util_basename(const char *name); extern unsigned long util_free_space(const char *path); diff --git a/packaging/org.tizen.data-provider-master.spec b/packaging/org.tizen.data-provider-master.spec index 1498d4a..df10c41 100644 --- a/packaging/org.tizen.data-provider-master.spec +++ b/packaging/org.tizen.data-provider-master.spec @@ -1,6 +1,6 @@ Name: org.tizen.data-provider-master Summary: Master data provider -Version: 0.13.29 +Version: 0.13.30 Release: 1 Group: main/app License: Flora License @@ -73,6 +73,9 @@ 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 @@ -125,3 +128,5 @@ echo "%{_sysconfdir}/init.d/data-provider-master start" %{_datarootdir}/data-provider-master/* %{_libdir}/systemd/user/data-provider-master.service %{_datarootdir}/license/* + +# End of a file @@ -64,6 +64,8 @@ HAPI struct conf g_conf = { .conf = "/opt/usr/live/%s/etc/%s.conf", .image = "/opt/usr/share/live_magazine/", .slave_log = "/opt/usr/share/live_magazine/log", + .reader = "/opt/usr/share/live_magazine/reader", + .always = "/opt/usr/share/live_magazine/always", .script = "/opt/usr/live/%s/res/script/%s.edj", .root = "/opt/usr/live/", .script_port = "/opt/usr/live/script_port/", @@ -245,6 +247,22 @@ static void db_path_handler(char *buffer) DbgPrint("DB Path: %s\n", g_conf.path.db); } +static void reader_path_handler(char *buffer) +{ + g_conf.path.reader = strdup(buffer); + if (!g_conf.path.reader) + ErrPrint("Heap: %s\n", strerror(errno)); + DbgPrint("Reader Path: %s\n", g_conf.path.reader); +} + +static void always_path_handler(char *buffer) +{ + g_conf.path.always = strdup(buffer); + if (!g_conf.path.always) + ErrPrint("Heap: %s\n", strerror(errno)); + DbgPrint("Always Path: %s\n", g_conf.path.always); +} + static void log_path_handler(char *buffer) { g_conf.path.slave_log = strdup(buffer); @@ -379,6 +397,14 @@ HAPI int conf_loader(void) .handler = log_path_handler, }, { + .name = "reader_path", + .handler = reader_path_handler, + }, + { + .name = "always_path", + .handler = always_path_handler, + }, + { .name = "share_path", .handler = share_path_handler, }, @@ -226,6 +226,15 @@ int main(int argc, char *argv[]) conf_loader(); + /*! + * \note + * Clear old contents files before start the master provider. + */ + (void)util_unlink_files(ALWAYS_PATH); + (void)util_unlink_files(READER_PATH); + (void)util_unlink_files(IMAGE_PATH); + (void)util_unlink_files(SLAVE_LOG_PATH); + script_init(); app_create(); @@ -21,6 +21,8 @@ #include <unistd.h> #include <stdlib.h> #include <sys/statvfs.h> +#include <sys/types.h> +#include <dirent.h> #include <dlog.h> #include <Eina.h> @@ -411,4 +413,53 @@ HAPI char *util_get_file_kept_in_safe(const char *id) return new_path; } +HAPI int util_unlink_files(const char *folder) +{ + struct stat info; + DIR *handle; + struct dirent *entry; + char *abspath; + int len; + + if (lstat(folder, &info) < 0) { + ErrPrint("Error: %s\n", strerror(errno)); + return -EIO; + } + + if (!S_ISDIR(info.st_mode)) { + ErrPrint("Error: %s is not a folder", folder); + return -EINVAL; + } + + handle = opendir(folder); + if (!handle) { + ErrPrint("Error: %s\n", strerror(errno)); + return -EIO; + } + + while ((entry = readdir(handle))) { + if (!strcmp(entry->d_name, ".")) + continue; + + if (!strcmp(entry->d_name, "..")) + continue; + + len = strlen(folder) + strlen(entry->d_name) + 3; + abspath = calloc(1, len); + if (!abspath) { + ErrPrint("Heap: %s\n", strerror(errno)); + continue; + } + snprintf(abspath, len - 1, "%s/%s", folder, entry->d_name); + + if (unlink(abspath) < 0) + DbgPrint("unlink: %s - %s\n", abspath, strerror(errno)); + + free(abspath); + } + + closedir(handle); + return 0; +} + /* End of a file */ |