Replace local conf loader with service conf loader.
authorSung-jae Park <nicesj.park@samsung.com>
Tue, 30 Sep 2014 07:00:54 +0000 (16:00 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Tue, 30 Sep 2014 07:03:00 +0000 (16:03 +0900)
[model] Redwood,Kiran,B3(Wearable)
[binary_type] AP
[customer] Docomo/Orange/ATT/Open
[issue#] N/A
[problem]
[cause]
[solution]
[team] HomeTF
[request]
[horizontal_expansion]

Change-Id: I71ae4a29941f23736ecc4b2bffff68aee5d5469b

21 files changed:
CMakeLists.txt
include/conf.h
include/debug.h
src/buffer_handler.c
src/client_rpc.c
src/conf.c
src/critical_log.c
src/event.c
src/fault_manager.c
src/instance.c
src/io.c
src/main.c
src/package.c
src/parser.c
src/script_handler.c
src/server.c
src/setting.c
src/slave_life.c
src/slave_rpc.c
src/util.c
src/xmonitor.c

index 569b20a..ecc8ea1 100644 (file)
@@ -100,7 +100,6 @@ SET(BUILD_SOURCE
        src/badge_service.c
        src/notification_service.c
        src/service_common.c
-       src/conf.c
 )
 
 IF (LIVEBOX)
@@ -126,6 +125,7 @@ IF (LIVEBOX)
                src/pkgmgr.c
                src/event.c
                src/file_service.c
+               src/conf.c
        )
 
        IF (WAYLAND_SUPPORT)
index 06d1109..a4d0603 100644 (file)
  */
 
 struct conf {
-       int width;
-       int height;
-
-       int base_width;
-       int base_height;
-       double minimum_period;
-
-       struct {
-               char *script;
-               char *abi;
-               char *pd_group;
-               double period;
-               int pixels;
-       } default_conf;
-
-       struct {
-               char *name;
-               char *secured;
-               char *abi;
-       } launch_key;
-
-       double default_packet_time;
-
-       char *empty_content;
-       char *empty_title;
-
-       char *default_content;
-       char *default_title;
-
-       unsigned long minimum_space;
-
-       char *replace_tag;
-
-       double slave_ttl;
-       double slave_activate_time;
-       double slave_relaunch_time;
-       int slave_relaunch_count;
-
-       int max_log_line;
-       int max_log_file;
-
-       unsigned long sqlite_flush_max;
-
-       struct {
-               char *conf;
-               char *image;
-               char *script;
-               char *root;
-               char *script_port;
-               char *slave_log;
-               char *reader;
-               char *always;
-               char *db;
-               char *input;
-       } path;
-
-       int max_size_type;
-
-       int slave_max_load;
-
-       double ping_time;
-
-       char *vconf_sys_cluster;
-       int max_pended_ctx_events;
-
-       int use_sw_backend;
-       char *provider_method;
        int debug_mode;
-       int overwrite_content;
-       int com_core_thread;
-       int use_xmonitor;
-       int premultiplied;
-
-       double scale_width_factor;
-       double scale_height_factor;
-
-       double pd_request_timeout;
-
-       char *emergency_disk;
-       char *services;
-       int auto_align;
-       int use_event_time;
-       int check_lcd;
+       int slave_max_load;
 };
 
 extern struct conf g_conf;
 
-extern int conf_loader(void);
-extern void conf_update_size(void);
-extern void conf_reset(void);
-extern void conf_init(void);
-
-#define BASE_W                 g_conf.base_width
-#define BASE_H                 g_conf.base_height
-
-#define CR 13
-#define LF 10
-
-#define EMERGENCY_DISK         g_conf.emergency_disk
-#define SCALE_WIDTH_FACTOR     g_conf.scale_width_factor
-#define SCALE_HEIGHT_FACTOR    g_conf.scale_height_factor
-
-#define USE_SW_BACKEND         g_conf.use_sw_backend
-#define PROVIDER_METHOD                g_conf.provider_method
-#define DEBUG_MODE             g_conf.debug_mode
-#define OVERWRITE_CONTENT      g_conf.overwrite_content
-#define COM_CORE_THREAD                g_conf.com_core_thread
-
-#define MINIMUM_PERIOD         g_conf.minimum_period
-
-#define DEFAULT_SCRIPT         g_conf.default_conf.script
-#define DEFAULT_ABI            g_conf.default_conf.abi
-#define DEFAULT_GROUP          g_conf.default_conf.pd_group
-#define DEFAULT_PERIOD         g_conf.default_conf.period
-#define DEFAULT_PIXELS         g_conf.default_conf.pixels
-#define PRIORITY_NO_CHANGE     -1.0f
-
-#define BUNDLE_SLAVE_NAME      g_conf.launch_key.name
-#define BUNDLE_SLAVE_SECURED   g_conf.launch_key.secured
-#define BUNDLE_SLAVE_ABI       g_conf.launch_key.abi
-#define PACKET_TIME            g_conf.default_packet_time
-#define CONTENT_NO_CHANGE      g_conf.empty_content
-#define TITLE_NO_CHANGE                g_conf.empty_title
-#define DEFAULT_TITLE          g_conf.default_title
-#define DEFAULT_CONTENT                g_conf.default_content
-#define MINIMUM_SPACE          g_conf.minimum_space
-
-#define IMAGE_PATH             g_conf.path.image
-#define SCRIPT_PATH            g_conf.path.script
-#define SCRIPT_PORT_PATH       g_conf.path.script_port
-#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 INPUT_PATH             g_conf.path.input
-
-#define REPLACE_TAG_APPID      g_conf.replace_tag
-#define SLAVE_TTL              g_conf.slave_ttl
-#define SLAVE_ACTIVATE_TIME    g_conf.slave_activate_time
-#define SLAVE_RELAUNCH_TIME    g_conf.slave_relaunch_time
-#define SLAVE_RELAUNCH_COUNT   g_conf.slave_relaunch_count
-
-#define MAX_LOG_LINE           g_conf.max_log_line
-#define MAX_LOG_FILE           g_conf.max_log_file
-
-#define SQLITE_FLUSH_MAX       g_conf.sqlite_flush_max
-#define DBFILE                 g_conf.path.db
-
-#define GBAR_REQUEST_TIMEOUT   g_conf.pd_request_timeout
-
-#define SLAVE_MAX_LOAD         g_conf.slave_max_load
-#define DEFAULT_PING_TIME      g_conf.ping_time
-#define PREMULTIPLIED_COLOR    g_conf.premultiplied
-#define SERVICES               g_conf.services
-
-#define SERVICE_LIVEBOX                "[dynamicbox]"
-#define SERVICE_NOTIFICATION   "[notification]"
-#define SERVICE_BADGE          "[badge]"
-#define SERVICE_SHORTCUT       "[shortcut]"
-#define SERVICE_UTILITY                "[utility]"
-#define SERVICE_FILE           "[file]"
-
-#define PAUSED_FILE            "/tmp/.live.paused"
-
-#define MAX_ABI                256
-#define MAX_PKGNAME    512
-#define DELAY_TIME     0.0000001f
-#define DEFAULT_CLUSTER        "user,created"
-#define MINIMUM_REACTIVATION_TIME      10
+#define DELAY_TIME 0.0000001f
+#define HAPI __attribute__((visibility("hidden")))
 
 #if !defined(VCONFKEY_MASTER_STARTED)
 #define VCONFKEY_MASTER_STARTED        "memory/data-provider-master/started"
@@ -194,14 +32,7 @@ extern void conf_init(void);
 #define VCONFKEY_MASTER_RESTART_COUNT  "memory/private/data-provider-master/restart_count"
 #endif
 
-#define USE_XMONITOR           g_conf.use_xmonitor
-#define AUTO_ALIGN             g_conf.auto_align
-#define USE_EVENT_TIME         g_conf.use_event_time
-#define CHECK_LCD              g_conf.check_lcd
-
-#define HAPI __attribute__((visibility("hidden")))
-/*!
- * EAPI is defined from eina.h
- */
+#define CR 13
+#define LF 10
 
 /* End of a file */
index cc4911f..ac1a079 100644 (file)
@@ -67,4 +67,6 @@ extern FILE *__file_log_fp;
 #define PERF_MARK(tag)
 #endif
 
+#define HAPI __attribute__((visibility("hidden")))
+
 /* End of a file */
index c561c27..495e48d 100644 (file)
@@ -45,6 +45,7 @@
 #include <dynamicbox_errno.h>
 #include <dynamicbox_buffer.h>
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 
 #include "debug.h"
 #include "conf.h"
@@ -331,7 +332,7 @@ static inline int create_gem(dynamicbox_fb_t buffer)
                return DBOX_STATUS_ERROR_FAULT;
        }
 
-       if (AUTO_ALIGN && gem->dri2_buffer->pitch != gem->w * gem->depth) {
+       if (DYNAMICBOX_CONF_AUTO_ALIGN && gem->dri2_buffer->pitch != gem->w * gem->depth) {
                gem->compensate_data = calloc(1, gem->w * gem->h * gem->depth);
                if (!gem->compensate_data) {
                        ErrPrint("Failed to allocate heap\n");
@@ -340,7 +341,7 @@ static inline int create_gem(dynamicbox_fb_t buffer)
 
        DbgPrint("dri2_buffer: %p, name: %p, %dx%d, pitch: %d, buf_count: %d, depth: %d, compensate: %p (%d)\n",
                                gem->dri2_buffer, gem->dri2_buffer->name, gem->w, gem->h,
-                               gem->dri2_buffer->pitch, gem->buf_count, gem->depth, gem->compensate_data, AUTO_ALIGN);
+                               gem->dri2_buffer->pitch, gem->buf_count, gem->depth, gem->compensate_data, DYNAMICBOX_CONF_AUTO_ALIGN);
 
        return DBOX_STATUS_ERROR_NONE;
 }
@@ -514,7 +515,7 @@ static inline int load_file_buffer(struct buffer_info *info)
        char *new_id;
        int len;
 
-       len = strlen(IMAGE_PATH) + 40;
+       len = strlen(DYNAMICBOX_CONF_IMAGE_PATH) + 40;
        new_id = malloc(len);
        if (!new_id) {
                ErrPrint("Heap: %s\n", strerror(errno));
@@ -522,7 +523,7 @@ static inline int load_file_buffer(struct buffer_info *info)
        }
 
        timestamp = util_timestamp();
-       snprintf(new_id, len, SCHEMA_FILE "%s%lf", IMAGE_PATH, timestamp);
+       snprintf(new_id, len, SCHEMA_FILE "%s%lf", DYNAMICBOX_CONF_IMAGE_PATH, timestamp);
 
        size = sizeof(*buffer) + info->w * info->h * info->pixel_size;
        if (!size) {
@@ -1367,7 +1368,7 @@ HAPI int buffer_handler_init(void)
                return DBOX_STATUS_ERROR_NONE;
        }
 
-       if (USE_SW_BACKEND) {
+       if (DYNAMICBOX_CONF_USE_SW_BACKEND) {
                DbgPrint("Fallback to the S/W Backend\n");
                s_info.evt_base = 0;
                s_info.err_base = 0;
@@ -1535,7 +1536,7 @@ static inline dynamicbox_fb_t raw_open_pixmap(unsigned int pixmap)
 {
        dynamicbox_fb_t buffer;
 
-       buffer = calloc(1, sizeof(*buffer) + DEFAULT_PIXELS);
+       buffer = calloc(1, sizeof(*buffer) + DYNAMICBOX_CONF_DEFAULT_PIXELS);
        if (!buffer) {
                ErrPrint("Heap: %s\n", strerror(errno));
                return NULL;
@@ -1664,7 +1665,7 @@ EAPI int buffer_handler_pixels(struct buffer_info *info)
 
 EAPI int buffer_handler_auto_align(void)
 {
-       return AUTO_ALIGN;
+       return DYNAMICBOX_CONF_AUTO_ALIGN;
 }
 
 EAPI int buffer_handler_stride(struct buffer_info *info)
@@ -1775,9 +1776,9 @@ HAPI struct buffer_info *buffer_handler_create(struct inst_info *inst, enum dyna
 
        switch (type) {
        case DBOX_FB_TYPE_SHM:
-               if (pixel_size != DEFAULT_PIXELS) {
-                       DbgPrint("SHM only supportes %d bytes pixels (requested: %d)\n", DEFAULT_PIXELS, pixel_size);
-                       pixel_size = DEFAULT_PIXELS;
+               if (pixel_size != DYNAMICBOX_CONF_DEFAULT_PIXELS) {
+                       DbgPrint("SHM only supportes %d bytes pixels (requested: %d)\n", DYNAMICBOX_CONF_DEFAULT_PIXELS, pixel_size);
+                       pixel_size = DYNAMICBOX_CONF_DEFAULT_PIXELS;
                }
 
                info->id = strdup(SCHEMA_SHM "-1");
@@ -1788,9 +1789,9 @@ HAPI struct buffer_info *buffer_handler_create(struct inst_info *inst, enum dyna
                }
                break;
        case DBOX_FB_TYPE_FILE:
-               if (pixel_size != DEFAULT_PIXELS) {
-                       DbgPrint("FILE only supportes %d bytes pixels (requested: %d)\n", DEFAULT_PIXELS, pixel_size);
-                       pixel_size = DEFAULT_PIXELS;
+               if (pixel_size != DYNAMICBOX_CONF_DEFAULT_PIXELS) {
+                       DbgPrint("FILE only supportes %d bytes pixels (requested: %d)\n", DYNAMICBOX_CONF_DEFAULT_PIXELS, pixel_size);
+                       pixel_size = DYNAMICBOX_CONF_DEFAULT_PIXELS;
                }
 
                info->id = strdup(SCHEMA_FILE "/tmp/.live.undefined");
index 0693ad7..723b37c 100644 (file)
@@ -24,6 +24,7 @@
 #include <com-core_packet.h>
 #include <packet.h>
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 
 #include "client_life.h"
 #include "instance.h"
@@ -151,7 +152,7 @@ static inline void push_command(struct command *command)
                return;
        }
 
-       s_info.command_consumer = ecore_timer_add(PACKET_TIME, command_consumer_cb, NULL);
+       s_info.command_consumer = ecore_timer_add(DYNAMICBOX_CONF_PACKET_TIME, command_consumer_cb, NULL);
        if (!s_info.command_consumer) {
                ErrPrint("Failed to add command consumer\n");
                s_info.command_list = eina_list_remove(s_info.command_list, command);
index c92e847..8f52983 100644 (file)
-/*
- * Copyright 2013  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h> // access
-
-#include <dlog.h>
-#if defined(HAVE_LIVEBOX)
-#include <dynamicbox_errno.h>
-#else
-#include "lite-errno.h"
-#endif
-#include <Eina.h>
-
 #include "conf.h"
-#include "util.h"
-#include "debug.h"
-
-static const char *CONF_DEFAULT_SERVICES = "[dynamicbox],[shortcut],[notification],[badge],[utility],[file]";
-static const char *CONF_DEFAULT_EMERGENCY_DISK = "source=tmpfs;type=tmpfs;option=size=6M";
-static const char *CONF_DEFAULT_PATH_CONF = "/opt/usr/live/%s/etc/%s.conf";
-static const char *CONF_DEFAULT_PATH_IMAGE = "/opt/usr/share/live_magazine/";
-static const char *CONF_DEFAULT_PATH_LOG = "/opt/usr/share/live_magazine/log";
-static const char *CONF_DEFAULT_PATH_READER = "/opt/usr/share/live_magazine/reader";
-static const char *CONF_DEFAULT_PATH_ALWAYS = "/opt/usr/share/live_magazine/always";
-static const char *CONF_DEFAULT_PATH_SCRIPT = "/opt/usr/live/%s/res/script/%s.edj";
-static const char *CONF_DEFAULT_PATH_ROOT = "/opt/usr/live/";
-static const char *CONF_DEFAULT_PATH_SCRIPT_PORT = "/usr/share/data-provider-master/plugin-script/";
-static const char *CONF_DEFAULT_PATH_DB = "/opt/dbspace/.dynamicbox.db";
-static const char *CONF_DEFAULT_PATH_INPUT = "/dev/input/event2";
-static const char *CONF_DEFAULT_SCRIPT_TYPE = "edje";
-static const char *CONF_DEFAULT_ABI = "c";
-static const char *CONF_DEFAULT_GBAR_GROUP = "disclosure";
-static const char *CONF_DEFAULT_LAUNCH_BUNDLE_NAME = "name";
-static const char *CONF_DEFAULT_LAUNCH_BUNDLE_SECURED = "secured";
-static const char *CONF_DEFAULT_LAUNCH_BUNDLE_ABI = "abi";
-static const char *CONF_DEFAULT_CONTENT = "default";
-static const char *CONF_DEFAULT_TITLE = "";
-static const char *CONF_DEFAULT_EMPTY_CONTENT = "";
-static const char *CONF_DEFAULT_EMPTY_TITLE = "";
-static const char *CONF_DEFAULT_REPLACE_TAG = "/APPID/";
-static const char *CONF_DEFAULT_PROVIDER_METHOD = "pixmap";
-static const int CONF_DEFAULT_WIDTH = 0;
-static const int CONF_DEFAULT_HEIGHT = 0;
-static const int CONF_DEFAULT_BASE_WIDTH = 720;
-static const int CONF_DEFAULT_BASE_HEIGHT = 1280;
-static const double CONF_DEFAULT_MINIMUM_PERIOD = 1.0f;
-static const double CONF_DEFAULT_PERIOD = -1.0f;
-static const double CONF_DEFAULT_PACKET_TIME = 0.0001f;
-static const unsigned long CONF_DEFAULT_MINIMUM_SPACE = 5242880;
-static const double CONF_DEFAULT_SLAVE_TTL = 30.0f;
-static const double CONF_DEFAULT_SLAVE_ACTIVATE_TIME = 30.0f;
-static const double CONF_DEFAULT_SLAVE_RELAUNCH_TIME = 3.0f;
-static const int CONF_DEFAULT_SLAVE_RELAUNCH_COUNT = 3;
-static const int CONF_DEFAULT_MAX_LOG_LINE = 1000;
-static const int CONF_DEFAULT_MAX_LOG_FILE = 3;
-static const int CONF_DEFAULT_SQLITE_FLUSH_MAX = 1048576;
-static const double CONF_DEFAULT_PING_TIME = 240.0f;
-static const int CONF_DEFAULT_SLAVE_MAX_LOAD = 30;
-static const int CONF_DEFAULT_USE_SW_BACKEND = 0;
-static const int CONF_DEFAULT_DEBUG_MODE = 0;
-static const int CONF_DEFAULT_OVERWRITE_CONTENT = 0;
-static const int CONF_DEFAULT_COM_CORE_THREAD = 1;
-static const int CONF_DEFAULT_USE_XMONITOR = 0;
-static const int CONF_DEFAULT_PREMULTIPLIED = 1;
-static const double CONF_DEFAULT_SCALE_WIDTH_FACTOR = 1.0f;
-static const double CONF_DEFAULT_SCALE_HEIGHT_FACTOR = 1.0f;
-static const double CONF_DEFAULT_GBAR_REQUEST_TIMEOUT = 5.0f;
-static const int CONF_DEFAULT_PIXELS = sizeof(int);
-static const int CONF_DEFAULT_AUTO_ALIGN = 1;
-static const int CONF_DEFAULT_USE_EVENT_TIME = 1;
-static const int CONF_DEFAULT_CHECK_LCD = 1;
-
-#define CONF_PATH_FORMAT "/usr/share/data-provider-master/%dx%d/conf.ini"
-
-int errno;
-
-HAPI struct conf g_conf;
-
-HAPI void conf_update_size(void)
-{
-       util_screen_size_get(&g_conf.width, &g_conf.height);
-
-       g_conf.scale_width_factor = (double)g_conf.width / (double)BASE_W;
-       g_conf.scale_height_factor = (double)g_conf.height / (double)BASE_H;
-}
-
-static void use_xmonitor(char *buffer)
-{
-       g_conf.use_xmonitor = !strcasecmp(buffer, "true");
-}
-
-static void emergency_disk_handler(char *buffer)
-{
-       g_conf.emergency_disk = strdup(buffer);
-       if (!g_conf.emergency_disk) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void check_lcd_handler(char *buffer)
-{
-       g_conf.check_lcd = !strcasecmp(buffer, "true");
-}
-
-static void use_event_time_handler(char *buffer)
-{
-       g_conf.use_event_time = !strcasecmp(buffer, "true");
-}
-
-static void auto_align_handler(char *buffer)
-{
-       g_conf.auto_align = !strcasecmp(buffer, "true");
-}
-
-static void services_handler(char *buffer)
-{
-       g_conf.services = strdup(buffer);
-       if (!g_conf.services) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void use_sw_backend_handler(char *buffer)
-{
-       g_conf.use_sw_backend = !strcasecmp(buffer, "true");
-}
-
-static void provider_method_handler(char *buffer)
-{
-       g_conf.provider_method = strdup(buffer);
-       if (!g_conf.provider_method) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void debug_mode_handler(char *buffer)
-{
-       g_conf.debug_mode = !strcasecmp(buffer, "true");
-}
-
-static void overwrite_content_handler(char *buffer)
-{
-       g_conf.overwrite_content = !strcasecmp(buffer, "true");
-}
-
-static void com_core_thread_handler(char *buffer)
-{
-       g_conf.com_core_thread = !strcasecmp(buffer, "true");
-}
-
-static void base_width_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.base_width) != 1) {
-               if (!strncasecmp(buffer, "screen", strlen("screen"))) {
-                       int h;
-
-                       util_screen_size_get(&g_conf.base_width, &h);
-                       DbgPrint("Base width: %d\n", g_conf.base_width);
-               } else {
-                       ErrPrint("Failed to parse the base_width\n");
-               }
-       }
-}
-
-static void base_height_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.base_height) != 1) {
-               if (!strncasecmp(buffer, "screen", strlen("screen"))) {
-                       int w;
-                       util_screen_size_get(&w, &g_conf.base_height);
-               } else {
-                       ErrPrint("Failed to parse the base_height\n");
-               }
-       }
-}
-
-static void minimum_period_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.minimum_period) != 1) {
-               ErrPrint("Failed to parse the minimum_period\n");
-       }
-       DbgPrint("Minimum period: %lf\n", g_conf.minimum_period);
-}
-
-static void pixels_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.default_conf.pixels) != 1) {
-               ErrPrint("Failed to parse the minimum_period\n");
-       }
-       DbgPrint("Default pixels: %lf\n", g_conf.default_conf.pixels);
-}
-
-static void script_handler(char *buffer)
-{
-       g_conf.default_conf.script = strdup(buffer);
-       if (!g_conf.default_conf.script) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void default_abi_handler(char *buffer)
-{
-       g_conf.default_conf.abi = strdup(buffer);
-       if (!g_conf.default_conf.abi) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void default_group_handler(char *buffer)
-{
-       g_conf.default_conf.pd_group = strdup(buffer);
-       if (!g_conf.default_conf.pd_group) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void default_period_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.default_conf.period) != 1) {
-               ErrPrint("Failed to parse the default_period\n");
-       }
-       DbgPrint("Default Period: %lf\n", g_conf.default_conf.period);
-}
-
-static void default_packet_time_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.default_packet_time) != 1) {
-               ErrPrint("Failed to parse the default_packet_time\n");
-       }
-       DbgPrint("Default packet time: %lf\n", g_conf.default_packet_time);
-}
-
-static void default_content_handler(char *buffer)
-{
-       g_conf.default_content = strdup(buffer);
-       if (!g_conf.default_content) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void default_title_handler(char *buffer)
-{
-       g_conf.default_title = strdup(buffer);
-       if (!g_conf.default_title) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void minimum_space_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lu", &g_conf.minimum_space) != 1) {
-               ErrPrint("Failed to parse the minimum_space\n");
-       }
-}
-
-static void replace_tag_handler(char *buffer)
-{
-       g_conf.replace_tag = strdup(buffer);
-       if (!g_conf.replace_tag) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void slave_ttl_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.slave_ttl) != 1) {
-               ErrPrint("Failed to parse the slave_ttl\n");
-       }
-       DbgPrint("Slave TTL: %lf\n", g_conf.slave_ttl);
-}
-
-static void slave_activate_time_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.slave_activate_time) != 1) {
-               ErrPrint("Failed to parse the slave_activate_time\n");
-       }
-       DbgPrint("Slave activate time: %lf\n", g_conf.slave_activate_time);
-}
-
-static void slave_relaunch_time_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.slave_relaunch_time) != 1) {
-               ErrPrint("Failed to parse the slave_activate_time\n");
-       }
-       DbgPrint("Slave relaunch time: %lf\n", g_conf.slave_relaunch_time);
-}
-
-static void slave_relaunch_count_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.slave_relaunch_count) != 1) {
-               ErrPrint("Failed to parse the max_log_line\n");
-       }
-}
-
-static void max_log_line_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.max_log_line) != 1) {
-               ErrPrint("Failed to parse the max_log_line\n");
-       }
-}
-
-static void max_log_file_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.max_log_file) != 1) {
-               ErrPrint("Failed to parse the max_log_file\n");
-       }
-}
-
-static void sqlite_flush_max_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lu", &g_conf.sqlite_flush_max) != 1) {
-               ErrPrint("Failed to parse the sqlite_flush_max\n");
-       }
-}
-
-static void db_path_handler(char *buffer)
-{
-       g_conf.path.db = strdup(buffer);
-       if (!g_conf.path.db) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void reader_path_handler(char *buffer)
-{
-       g_conf.path.reader = strdup(buffer);
-       if (!g_conf.path.reader) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void always_path_handler(char *buffer)
-{
-       g_conf.path.always = strdup(buffer);
-       if (!g_conf.path.always) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void log_path_handler(char *buffer)
-{
-       g_conf.path.slave_log = strdup(buffer);
-       if (!g_conf.path.slave_log) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void script_port_path_handler(char *buffer)
-{
-       g_conf.path.script_port = strdup(buffer);
-       if (!g_conf.path.script_port) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void share_path_handler(char *buffer)
-{
-       g_conf.path.image = strdup(buffer);
-       if (!g_conf.path.image) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void input_path_handler(char *buffer)
-{
-       g_conf.path.input = strdup(buffer);
-       if (!g_conf.path.input) {
-               ErrPrint("Heap: %s\n", strerror(errno));
-       }
-}
-
-static void ping_time_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.ping_time) != 1) {
-               ErrPrint("Failed to parse the ping_time\n");
-       }
-       DbgPrint("Default ping time: %lf\n", g_conf.ping_time);
-}
-
-static void slave_max_loader(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.slave_max_load) != 1) {
-               ErrPrint("Failed to parse the slave_max_load\n");
-       }
-}
-
-static void premultiplied_handler(char *buffer)
-{
-       if (sscanf(buffer, "%d", &g_conf.premultiplied) != 1) {
-               ErrPrint("Failed to parse the premultiplied color\n");
-       }
-
-       DbgPrint("Premultiplied: %d\n", g_conf.premultiplied);
-}
-
-static void pd_request_timeout_handler(char *buffer)
-{
-       if (sscanf(buffer, "%lf", &g_conf.pd_request_timeout) != 1) {
-               ErrPrint("Failed to parse the request_timeout\n");
-       }
-       DbgPrint("Default GBAR request timeout: %lf\n", g_conf.pd_request_timeout);
-}
-
-HAPI void conf_init(void)
-{
-       g_conf.width = CONF_DEFAULT_WIDTH;
-       g_conf.height = CONF_DEFAULT_HEIGHT;
-       g_conf.base_width = CONF_DEFAULT_BASE_WIDTH;
-       g_conf.base_height = CONF_DEFAULT_BASE_HEIGHT;
-       g_conf.minimum_period = CONF_DEFAULT_MINIMUM_PERIOD;
-       g_conf.default_conf.period = CONF_DEFAULT_PERIOD;
-       g_conf.default_conf.pixels = CONF_DEFAULT_PIXELS;
-       g_conf.minimum_space = CONF_DEFAULT_MINIMUM_SPACE;
-       g_conf.default_packet_time = CONF_DEFAULT_PACKET_TIME;
-       g_conf.slave_ttl = CONF_DEFAULT_SLAVE_TTL;
-       g_conf.slave_activate_time = CONF_DEFAULT_SLAVE_ACTIVATE_TIME;
-       g_conf.slave_relaunch_time = CONF_DEFAULT_SLAVE_RELAUNCH_TIME;
-       g_conf.slave_relaunch_count = CONF_DEFAULT_SLAVE_RELAUNCH_COUNT;
-       g_conf.max_log_line = CONF_DEFAULT_MAX_LOG_LINE;
-       g_conf.max_log_file = CONF_DEFAULT_MAX_LOG_FILE;
-       g_conf.sqlite_flush_max = CONF_DEFAULT_SQLITE_FLUSH_MAX;
-       g_conf.ping_time = CONF_DEFAULT_PING_TIME;
-       g_conf.slave_max_load = CONF_DEFAULT_SLAVE_MAX_LOAD;
-       g_conf.use_sw_backend = CONF_DEFAULT_USE_SW_BACKEND;
-       g_conf.debug_mode = CONF_DEFAULT_DEBUG_MODE;
-       g_conf.overwrite_content = CONF_DEFAULT_OVERWRITE_CONTENT;
-       g_conf.com_core_thread = CONF_DEFAULT_COM_CORE_THREAD;
-       g_conf.use_xmonitor = CONF_DEFAULT_USE_XMONITOR;
-       g_conf.scale_width_factor = CONF_DEFAULT_SCALE_WIDTH_FACTOR;
-       g_conf.scale_height_factor = CONF_DEFAULT_SCALE_HEIGHT_FACTOR;
-       g_conf.pd_request_timeout = CONF_DEFAULT_GBAR_REQUEST_TIMEOUT;
-       g_conf.premultiplied = CONF_DEFAULT_PREMULTIPLIED;
-       g_conf.default_conf.script = (char *)CONF_DEFAULT_SCRIPT_TYPE;
-       g_conf.default_conf.abi = (char *)CONF_DEFAULT_ABI;
-       g_conf.default_conf.pd_group = (char *)CONF_DEFAULT_GBAR_GROUP;
-       g_conf.launch_key.name = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_NAME;
-       g_conf.launch_key.secured = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_SECURED;
-       g_conf.launch_key.abi = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_ABI;
-       g_conf.empty_content = (char *)CONF_DEFAULT_EMPTY_CONTENT;
-       g_conf.empty_title = (char *)CONF_DEFAULT_EMPTY_TITLE;
-       g_conf.default_content = (char *)CONF_DEFAULT_CONTENT;
-       g_conf.default_title = (char *)CONF_DEFAULT_TITLE;
-       g_conf.replace_tag = (char *)CONF_DEFAULT_REPLACE_TAG;
-       g_conf.path.conf = (char *)CONF_DEFAULT_PATH_CONF;
-       g_conf.path.image = (char *)CONF_DEFAULT_PATH_IMAGE;
-       g_conf.path.slave_log = (char *)CONF_DEFAULT_PATH_LOG;
-       g_conf.path.reader = (char *)CONF_DEFAULT_PATH_READER;
-       g_conf.path.always = (char *)CONF_DEFAULT_PATH_ALWAYS;
-       g_conf.path.script = (char *)CONF_DEFAULT_PATH_SCRIPT;
-       g_conf.path.root = (char *)CONF_DEFAULT_PATH_ROOT;
-       g_conf.path.script_port = (char *)CONF_DEFAULT_PATH_SCRIPT_PORT;
-       g_conf.path.db = (char *)CONF_DEFAULT_PATH_DB;
-       g_conf.path.input = (char *)CONF_DEFAULT_PATH_INPUT;
-       g_conf.provider_method = (char *)CONF_DEFAULT_PROVIDER_METHOD;
-       g_conf.emergency_disk = (char *)CONF_DEFAULT_EMERGENCY_DISK;
-       g_conf.services = (char *)CONF_DEFAULT_SERVICES;
-       g_conf.auto_align = CONF_DEFAULT_AUTO_ALIGN;
-       g_conf.use_event_time = CONF_DEFAULT_USE_EVENT_TIME;
-       g_conf.check_lcd = CONF_DEFAULT_CHECK_LCD;
-}
-
-/*
- * Find proper configuration and install(link) it to conf path.
- */
-static char *conf_path(void)
-{
-       int w;
-       int h;
-       char *path;
-       int length;
-
-       if (util_screen_size_get(&w, &h) != DBOX_STATUS_ERROR_NONE) {
-               return NULL;
-       }
-
-       length = strlen(CONF_PATH_FORMAT) + 12; // 12 == RESERVED SPACE
-       path = calloc(1, length);
-       if (!path) {
-               ErrPrint("calloc: %s\n", strerror(errno));
-               return NULL;
-       }
-
-       snprintf(path, length, CONF_PATH_FORMAT, w, h);
-       DbgPrint("Selected conf file: %s\n", path);
-       if (access(path, F_OK) != 0) {
-               ErrPrint("Fallback to default, access: %s\n", strerror(errno));
-               strncpy(path, DEFAULT_MASTER_CONF, length);
-               if (access(path, F_OK) != 0) {
-                       ErrPrint("Serious error - there is no conf file, use default setting: %s\n", strerror(errno));
-                       DbgFree(path);
-                       path = NULL;
-               }
-       }
-
-       return path;
-}
-
-
-HAPI int conf_loader(void)
-{
-       char *conf_file;
-       FILE *fp;
-       int c;
-       enum state {
-               START,
-               SPACE,
-               TOKEN,
-               VALUE,
-               ERROR,
-               COMMENT,
-               END
-       } state;
-       int ch_idx;
-       int token_idx;
-       int buffer_idx;
-       int quote;
-       int linelen;
-       char buffer[256];
-       static const struct token_parser {
-               const char *name;
-               void (*handler)(char *buffer);
-       } token_handler[] = {
-               {
-                       .name = "base_width",
-                       .handler = base_width_handler,
-               },
-               {
-                       .name = "base_height",
-                       .handler = base_height_handler,
-               },
-               {
-                       .name = "minimum_period",
-                       .handler = minimum_period_handler,
-               },
-               {
-                       .name = "script",
-                       .handler = script_handler,
-               },
-               {
-                       .name = "pixels",
-                       .handler = pixels_handler,
-               },
-               {
-                       .name = "default_abi",
-                       .handler = default_abi_handler,
-               },
-               {
-                       .name = "default_group",
-                       .handler = default_group_handler,
-               },
-               {
-                       .name = "default_period",
-                       .handler = default_period_handler,
-               },
-               {
-                       .name = "default_packet_time",
-                       .handler = default_packet_time_handler,
-               },
-               {
-                       .name = "default_content",
-                       .handler = default_content_handler,
-               },
-               {
-                       .name = "default_title",
-                       .handler = default_title_handler,
-               },
-               {
-                       .name = "minimum_space",
-                       .handler = minimum_space_handler,
-               },
-               {
-                       .name = "replace_tag",
-                       .handler = replace_tag_handler,
-               },
-               {
-                       .name = "slave_ttl",
-                       .handler = slave_ttl_handler,
-               },
-               {
-                       .name = "slave_activate_time",
-                       .handler = slave_activate_time_handler,
-               },
-               {
-                       .name = "slave_relaunch_time",
-                       .handler = slave_relaunch_time_handler,
-               },
-               {
-                       .name = "slave_relaunch_count",
-                       .handler = slave_relaunch_count_handler,
-               },
-               {
-                       .name = "max_log_line",
-                       .handler = max_log_line_handler,
-               },
-               {
-                       .name = "max_log_file",
-                       .handler = max_log_file_handler,
-               },
-               {
-                       .name = "sqilte_flush_max",
-                       .handler = sqlite_flush_max_handler,
-               },
-               {
-                       .name = "db_path",
-                       .handler = db_path_handler,
-               },
-               {
-                       .name = "log_path",
-                       .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,
-               },
-               {
-                       .name = "script_port_path",
-                       .handler = script_port_path_handler,
-               },
-               {
-                       .name = "ping_interval",
-                       .handler = ping_time_handler,
-               },
-               {
-                       .name = "slave_max_load",
-                       .handler = slave_max_loader,
-               },
-               {
-                       .name = "use_sw_backend",
-                       .handler = use_sw_backend_handler,
-               },
-               {
-                       .name = "emergency_disk",
-                       .handler = emergency_disk_handler,
-               },
-               {
-                       .name = "services",
-                       .handler = services_handler,
-               },
-               {
-                       .name = "auto_align",
-                       .handler = auto_align_handler,
-               },
-               {
-                       .name = "use_event_time",
-                       .handler = use_event_time_handler,
-               },
-               {
-                       .name = "check_lcd",
-                       .handler = check_lcd_handler,
-               },
-               {
-                       .name = "use_xmonitor",
-                       .handler = use_xmonitor,
-               },
-               {
-                       .name = "provider_method",
-                       .handler = provider_method_handler,
-               },
-               {
-                       .name = "debug_mode",
-                       .handler = debug_mode_handler,
-               },
-               {
-                       .name = "overwrite_content",
-                       .handler = overwrite_content_handler,
-               },
-               {
-                       .name = "com_core_thread",
-                       .handler = com_core_thread_handler,
-               },
-               {
-                       .name = "input",
-                       .handler = input_path_handler,
-               },
-               {
-                       .name = "pd_request_timeout",
-                       .handler = pd_request_timeout_handler,
-               },
-               {
-                       .name = "premultiplied",
-                       .handler = premultiplied_handler,
-               },
-               {
-                       .name = NULL,
-                       .handler = NULL,
-               },
-       };
-
-       conf_file = conf_path();
-       if (!conf_file) {
-               return DBOX_STATUS_ERROR_IO_ERROR;
-       }
-
-       fp = fopen(conf_file, "rt");
-       DbgFree(conf_file);
-       if (!fp) {
-               ErrPrint("Error: %s\n", strerror(errno));
-               return DBOX_STATUS_ERROR_IO_ERROR;
-       }
-
-       state = START;
-       ch_idx = 0;
-       token_idx = -1;
-       buffer_idx = 0;
-       quote = 0;
-       linelen = 0;
-       do {
-               c = getc(fp);
-               if ((c == EOF) && (state == VALUE)) {
-                       DbgPrint("[%s:%d] VALUE state EOF\n", __func__, __LINE__);
-                       state = END;
-               }
-
-               switch (state) {
-               case COMMENT:
-                       if (c == CR || c == LF || c == EOF) {
-                               buffer[buffer_idx] = '\0';
-
-                               state = START;
-                               token_idx = -1;
-                               ch_idx = 0;
-                               buffer_idx = 0;
-                               linelen = -1; /* Will be ZERO by follwing increment code */
-                               quote = 0;
-                       } else {
-                               buffer[buffer_idx++] = c;
-                               if (buffer_idx == (sizeof(buffer) - 1)) {
-                                       buffer[buffer_idx] = '\0';
-                                       buffer_idx = 0;
-                               }
-                       }
-                       break;
-               case START:
-                       if (linelen == 0 && c == '#') {
-                               state = COMMENT;
-                       } else if (isspace(c)) {
-                               /* Ignore empty space */
-                       } else {
-                               state = TOKEN;
-                               ungetc(c, fp);
-                       }
-                       break;
-               case SPACE:
-                       if (c == '=') {
-                               state = VALUE;
-                       } else if (!isspace(c)) {
-                               state = ERROR;
-                       }
-                       break;
-               case VALUE:
-                       if (c == '"') {
-                               if (quote == 1) {
-                                       buffer[buffer_idx] = '\0';
-                                       state = END;
-                               } else if (buffer_idx != 0) {
-                                       buffer[buffer_idx++] = c;
-                                       if (buffer_idx >= sizeof(buffer)) {
-                                               state = ERROR;
-                                       }
-                               } else {
-                                       quote = 1;
-                               }
-                       } else if (isspace(c)) {
-                               if (buffer_idx == 0) {
-                                       /* Ignore */
-                               } else if (quote == 1) {
-                                       buffer[buffer_idx++] = c;
-                                       if (buffer_idx >= sizeof(buffer)) {
-                                               state = ERROR;
-                                       }
-                               } else {
-                                       buffer[buffer_idx] = '\0';
-                                       ungetc(c, fp);
-                                       state = END;
-                               }
-                       } else {
-                               buffer[buffer_idx++] = c;
-                               if (buffer_idx >= sizeof(buffer)) {
-                                       state = ERROR;
-                               }
-                       }
-                       break;
-               case TOKEN:
-                       if (c == '=') {
-                               if (token_idx < 0) {
-                                       state = ERROR;
-                               } else {
-                                       state = VALUE;
-                               }
-                       } else if (isspace(c)) {
-                               if (token_idx < 0) {
-                                       break;
-                               }
-
-                               if (token_handler[token_idx].name[ch_idx] != '\0') {
-                                       state = ERROR;
-                               } else {
-                                       state = SPACE;
-                               }
-                       } else  {
-                               if (token_idx < 0) {
-                                       /* Now start to find a token! */
-                                       token_idx = 0;
-                               }
-
-                               if (token_handler[token_idx].name[ch_idx] == c) {
-                                       ch_idx++;
-                               } else {
-                                       ungetc(c, fp);
-                                       while (ch_idx-- > 0)
-                                               ungetc(token_handler[token_idx].name[ch_idx], fp);
-
-                                       token_idx++;
-
-                                       if (token_handler[token_idx].name == NULL) {
-                                               state = ERROR;
-                                       } else {
-                                               ch_idx = 0;
-                                       }
-                               }
-                       }
-                       break;
-               case ERROR:
-                       if (c == CR || c == LF || c == EOF) {
-                               state = START;
-                               token_idx = -1;
-                               buffer_idx = 0;
-                               ch_idx = 0;
-                               linelen = -1;
-                               quote = 0;
-                       }
-                       break;
-               case END:
-                       if (c == LF || c == CR || c == EOF) {
-                               state = START;
-
-                               if (token_idx >= 0 && token_handler[token_idx].handler) {
-                                       buffer[buffer_idx] = '\0';
-                                       token_handler[token_idx].handler(buffer);
-                               }
-
-                               token_idx = -1;
-                               ch_idx = 0;
-                               buffer_idx = 0;
-                               linelen = -1;
-                               quote = 0;
-                               /* Finish */
-                       } else if (isspace(c)) {
-                               /* ignore */
-                       } else {
-                               state = ERROR;
-                       }
-                       break;
-               default:
-                       /* ?? */
-                       break;
-               }
-
-               linelen++;
-        } while (c != EOF);
-
-       if (fclose(fp) != 0) {
-               ErrPrint("fclose: %s\n", strerror(errno));
-       }
-       return DBOX_STATUS_ERROR_NONE;
-}
-
-HAPI void conf_reset(void)
-{
-       g_conf.width = CONF_DEFAULT_WIDTH;
-       g_conf.height = CONF_DEFAULT_HEIGHT;
-       g_conf.base_width = CONF_DEFAULT_BASE_WIDTH;
-       g_conf.base_height = CONF_DEFAULT_BASE_HEIGHT;
-       g_conf.minimum_period = CONF_DEFAULT_MINIMUM_PERIOD;
-       g_conf.default_conf.period = CONF_DEFAULT_PERIOD;
-       g_conf.minimum_space = CONF_DEFAULT_MINIMUM_SPACE;
-       g_conf.default_packet_time = CONF_DEFAULT_PACKET_TIME;
-       g_conf.slave_ttl = CONF_DEFAULT_SLAVE_TTL;
-       g_conf.slave_activate_time = CONF_DEFAULT_SLAVE_ACTIVATE_TIME;
-       g_conf.slave_relaunch_time = CONF_DEFAULT_SLAVE_RELAUNCH_TIME;
-       g_conf.slave_relaunch_count = CONF_DEFAULT_SLAVE_RELAUNCH_COUNT;
-       g_conf.max_log_line = CONF_DEFAULT_MAX_LOG_LINE;
-       g_conf.max_log_file = CONF_DEFAULT_MAX_LOG_FILE;
-       g_conf.sqlite_flush_max = CONF_DEFAULT_SQLITE_FLUSH_MAX;
-       g_conf.ping_time = CONF_DEFAULT_PING_TIME;
-       g_conf.slave_max_load = CONF_DEFAULT_SLAVE_MAX_LOAD;
-       g_conf.use_sw_backend = CONF_DEFAULT_USE_SW_BACKEND;
-       g_conf.debug_mode = CONF_DEFAULT_DEBUG_MODE;
-       g_conf.overwrite_content = CONF_DEFAULT_OVERWRITE_CONTENT;
-       g_conf.com_core_thread = CONF_DEFAULT_COM_CORE_THREAD;
-       g_conf.use_xmonitor = CONF_DEFAULT_USE_XMONITOR;
-       g_conf.scale_width_factor = CONF_DEFAULT_SCALE_WIDTH_FACTOR;
-       g_conf.scale_height_factor = CONF_DEFAULT_SCALE_HEIGHT_FACTOR;
-       g_conf.pd_request_timeout = CONF_DEFAULT_GBAR_REQUEST_TIMEOUT;
-       g_conf.premultiplied = CONF_DEFAULT_PREMULTIPLIED;
-       g_conf.default_conf.pixels = CONF_DEFAULT_PIXELS;
-       g_conf.auto_align = CONF_DEFAULT_AUTO_ALIGN;
-       g_conf.use_event_time = CONF_DEFAULT_USE_EVENT_TIME;
-       g_conf.check_lcd = CONF_DEFAULT_CHECK_LCD;
-
-       if (g_conf.default_conf.script != CONF_DEFAULT_SCRIPT_TYPE) {
-               DbgFree(g_conf.default_conf.script);
-               g_conf.default_conf.script = (char *)CONF_DEFAULT_SCRIPT_TYPE;
-       }
-
-       if (g_conf.default_conf.abi != CONF_DEFAULT_ABI) {
-               DbgFree(g_conf.default_conf.abi);
-               g_conf.default_conf.abi = (char *)CONF_DEFAULT_ABI;
-       }
-
-       if (g_conf.default_conf.pd_group != CONF_DEFAULT_GBAR_GROUP) {
-               DbgFree(g_conf.default_conf.pd_group);
-               g_conf.default_conf.pd_group = (char *)CONF_DEFAULT_GBAR_GROUP;
-       }
-
-       if (g_conf.launch_key.name != CONF_DEFAULT_LAUNCH_BUNDLE_NAME) {
-               DbgFree(g_conf.launch_key.name);
-               g_conf.launch_key.name = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_NAME;
-       }
-
-       if (g_conf.launch_key.secured != CONF_DEFAULT_LAUNCH_BUNDLE_SECURED) {
-               DbgFree(g_conf.launch_key.secured);
-               g_conf.launch_key.secured = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_SECURED;
-       }
-
-       if (g_conf.launch_key.abi != CONF_DEFAULT_LAUNCH_BUNDLE_ABI) {
-               DbgFree(g_conf.launch_key.abi);
-               g_conf.launch_key.abi = (char *)CONF_DEFAULT_LAUNCH_BUNDLE_ABI;
-       }
-
-       if (g_conf.empty_content != CONF_DEFAULT_EMPTY_CONTENT) {
-               DbgFree(g_conf.empty_content);
-               g_conf.empty_content = (char *)CONF_DEFAULT_EMPTY_CONTENT;
-       }
-
-       if (g_conf.empty_title != CONF_DEFAULT_EMPTY_TITLE) {
-               DbgFree(g_conf.empty_title);
-               g_conf.empty_title = (char *)CONF_DEFAULT_EMPTY_TITLE;
-       }
-
-       if (g_conf.default_content != CONF_DEFAULT_CONTENT) {
-               DbgFree(g_conf.default_content);
-               g_conf.default_content = (char *)CONF_DEFAULT_CONTENT;
-       }
-
-       if (g_conf.default_title != CONF_DEFAULT_TITLE) {
-               DbgFree(g_conf.default_title);
-               g_conf.default_title = (char *)CONF_DEFAULT_TITLE;
-       }
-
-       if (g_conf.replace_tag != CONF_DEFAULT_REPLACE_TAG) {
-               DbgFree(g_conf.replace_tag);
-               g_conf.replace_tag = (char *)CONF_DEFAULT_REPLACE_TAG;
-       }
-
-       if (g_conf.path.conf != CONF_DEFAULT_PATH_CONF) {
-               DbgFree(g_conf.path.conf);
-               g_conf.path.conf = (char *)CONF_DEFAULT_PATH_CONF;
-       }
-
-       if (g_conf.path.image != CONF_DEFAULT_PATH_IMAGE) {
-               DbgFree(g_conf.path.image);
-               g_conf.path.image = (char *)CONF_DEFAULT_PATH_IMAGE;
-       }
-
-       if (g_conf.path.slave_log != CONF_DEFAULT_PATH_LOG) {
-               DbgFree(g_conf.path.slave_log);
-               g_conf.path.slave_log = (char *)CONF_DEFAULT_PATH_LOG;
-       }
-
-       if (g_conf.path.reader != CONF_DEFAULT_PATH_READER) {
-               DbgFree(g_conf.path.reader);
-               g_conf.path.reader = (char *)CONF_DEFAULT_PATH_READER;
-       }
-
-       if (g_conf.path.always != CONF_DEFAULT_PATH_ALWAYS) {
-               DbgFree(g_conf.path.always);
-               g_conf.path.always = (char *)CONF_DEFAULT_PATH_ALWAYS;
-       }
-
-       if (g_conf.path.script != CONF_DEFAULT_PATH_SCRIPT) {
-               DbgFree(g_conf.path.script);
-               g_conf.path.script = (char *)CONF_DEFAULT_PATH_SCRIPT;
-       }
-
-       if (g_conf.path.root != CONF_DEFAULT_PATH_ROOT) {
-               DbgFree(g_conf.path.root);
-               g_conf.path.root = (char *)CONF_DEFAULT_PATH_ROOT;
-       }
-
-       if (g_conf.path.script_port != CONF_DEFAULT_PATH_SCRIPT_PORT) {
-               DbgFree(g_conf.path.script_port);
-               g_conf.path.script_port = (char *)CONF_DEFAULT_PATH_SCRIPT_PORT;
-       }
-
-       if (g_conf.path.db != CONF_DEFAULT_PATH_DB) {
-               DbgFree(g_conf.path.db);
-               g_conf.path.db = (char *)CONF_DEFAULT_PATH_DB;
-       }
-
-       if (g_conf.path.input != CONF_DEFAULT_PATH_INPUT) {
-               DbgFree(g_conf.path.input);
-               g_conf.path.input = (char *)CONF_DEFAULT_PATH_INPUT;
-       }
-
-       if (g_conf.provider_method != CONF_DEFAULT_PROVIDER_METHOD) {
-               DbgFree(g_conf.provider_method);
-               g_conf.provider_method = (char *)CONF_DEFAULT_PROVIDER_METHOD;
-       }
-
-       if (g_conf.emergency_disk != CONF_DEFAULT_EMERGENCY_DISK) {
-               DbgFree(g_conf.emergency_disk);
-               g_conf.emergency_disk = (char *)CONF_DEFAULT_EMERGENCY_DISK;
-       }
 
-       if (g_conf.services != CONF_DEFAULT_SERVICES) {
-               DbgFree(g_conf.services);
-               g_conf.services = (char *)CONF_DEFAULT_SERVICES;
-       }
-}
+struct conf g_conf = {
+       .debug_mode = 0,
+       .slave_max_load = -1,
+};
 
 /* End of a file */
index f54055d..2ff1e7d 100644 (file)
@@ -29,6 +29,7 @@
 #include <Eina.h>
 #if defined(HAVE_LIVEBOX)
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 #else
 #include "lite-errno.h"
 #endif
@@ -59,16 +60,16 @@ static inline void rotate_log(void)
        char *filename;
        int namelen;
 
-       if (s_info.nr_of_lines < MAX_LOG_LINE) {
+       if (s_info.nr_of_lines < DYNAMICBOX_CONF_MAX_LOG_LINE) {
                return;
        }
 
-       s_info.file_id = (s_info.file_id + 1) % MAX_LOG_FILE;
+       s_info.file_id = (s_info.file_id + 1) % DYNAMICBOX_CONF_MAX_LOG_FILE;
 
-       namelen = strlen(s_info.filename) + strlen(SLAVE_LOG_PATH) + 30;
+       namelen = strlen(s_info.filename) + strlen(DYNAMICBOX_CONF_LOG_PATH) + 30;
        filename = malloc(namelen);
        if (filename) {
-               snprintf(filename, namelen, "%s/%d_%s.%d", SLAVE_LOG_PATH, s_info.file_id, s_info.filename, getpid());
+               snprintf(filename, namelen, "%s/%d_%s.%d", DYNAMICBOX_CONF_LOG_PATH, s_info.file_id, s_info.filename, getpid());
 
                if (s_info.fp) {
                        if (fclose(s_info.fp) != 0) {
@@ -132,7 +133,7 @@ HAPI int critical_log_init(const char *name)
                return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
        }
 
-       namelen = strlen(name) + strlen(SLAVE_LOG_PATH) + 30;
+       namelen = strlen(name) + strlen(DYNAMICBOX_CONF_LOG_PATH) + 30;
 
        filename = malloc(namelen);
        if (!filename) {
@@ -142,7 +143,7 @@ HAPI int critical_log_init(const char *name)
                return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
        }
 
-       snprintf(filename, namelen, "%s/%d_%s.%d", SLAVE_LOG_PATH, s_info.file_id, name, getpid());
+       snprintf(filename, namelen, "%s/%d_%s.%d", DYNAMICBOX_CONF_LOG_PATH, s_info.file_id, name, getpid());
 
        s_info.fp = fopen(filename, "w+");
        if (!s_info.fp) {
index 5f21c19..c246349 100644 (file)
@@ -30,6 +30,7 @@
 #include <Ecore.h>
 #include <dlog.h>
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 
 #if !defined(_USE_ECORE_TIME_GET)
 #define _USE_ECORE_TIME_GET
@@ -176,7 +177,7 @@ static void update_timestamp(struct input_event *event)
         * Input event uses MONOTONIC CLOCK TIME
         * So this case will not be work correctly.
         */
-       if (USE_EVENT_TIME) {
+       if (DYNAMICBOX_CONF_USE_EVENT_TIME) {
                memcpy(&s_info.event_data.tv, &event->time, sizeof(event->time));
        } else {
                if (gettimeofday(&s_info.event_data.tv, NULL) < 0) {
@@ -189,7 +190,7 @@ static void update_timestamp(struct input_event *event)
         * but its value is same as MONOTIC CLOCK TIME
         * So we should handles it properly.
         */
-       if (USE_EVENT_TIME) {
+       if (DYNAMICBOX_CONF_USE_EVENT_TIME) {
                s_info.event_data.tv = (double)event->time.tv_sec + (double)event->time.tv_usec / 1000000.0f;
        } else {
                s_info.event_data.tv = ecore_time_get();
@@ -776,7 +777,7 @@ static int event_control_init(void)
                return DBOX_STATUS_ERROR_NONE;
        }
 
-       s_info.handle = open(INPUT_PATH, O_RDONLY);
+       s_info.handle = open(DYNAMICBOX_CONF_INPUT_PATH, O_RDONLY);
        if (s_info.handle < 0) {
                ErrPrint("Unable to access the device: %s\n", strerror(errno));
                return DBOX_STATUS_ERROR_IO_ERROR;
index 7c63cdc..ebb0824 100644 (file)
@@ -25,6 +25,7 @@
 #include <dlog.h>
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 #include <dynamicbox_cmd_list.h>
 
 #include "util.h"
@@ -64,7 +65,7 @@ static void clear_log_file(struct slave_node *slave)
        char filename[BUFSIZ];
        int ret;
 
-       ret = snprintf(filename, sizeof(filename) - 1, "%s/slave.%d", SLAVE_LOG_PATH, slave_pid(slave));
+       ret = snprintf(filename, sizeof(filename) - 1, "%s/slave.%d", DYNAMICBOX_CONF_LOG_PATH, slave_pid(slave));
        if (ret == sizeof(filename) - 1) {
                filename[sizeof(filename) - 1] = '\0';
                ErrPrint("filename buffer is overflowed\n");
@@ -82,7 +83,7 @@ static char *check_log_file(struct slave_node *slave)
        FILE *fp;
        char filename[BUFSIZ];
 
-       snprintf(filename, sizeof(filename), "%s/slave.%d", SLAVE_LOG_PATH, slave_pid(slave));
+       snprintf(filename, sizeof(filename), "%s/slave.%d", DYNAMICBOX_CONF_LOG_PATH, slave_pid(slave));
        fp = fopen(filename, "rt");
        if (!fp) {
                ErrPrint("No log file found [%s]\n", strerror(errno));
index 574a5c7..2886379 100644 (file)
@@ -29,6 +29,7 @@
 #include <dynamicbox_errno.h>
 #include <dynamicbox_cmd_list.h>
 #include <dynamicbox_buffer.h>
+#include <dynamicbox_conf.h>
 
 #include "conf.h"
 #include "util.h"
@@ -757,14 +758,14 @@ static inline int fork_package(struct inst_info *inst, const char *pkgname)
                return DBOX_STATUS_ERROR_NOT_EXIST;
        }
 
-       len = strlen(SCHEMA_FILE "%s%s_%d_%lf.png") + strlen(IMAGE_PATH) + strlen(package_name(info)) + 50;
+       len = strlen(SCHEMA_FILE "%s%s_%d_%lf.png") + strlen(DYNAMICBOX_CONF_IMAGE_PATH) + strlen(package_name(info)) + 50;
        inst->id = malloc(len);
        if (!inst->id) {
                ErrPrint("Heap: %s\n", strerror(errno));
                return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
        }
 
-       snprintf(inst->id, len, SCHEMA_FILE "%s%s_%d_%lf.png", IMAGE_PATH, package_name(info), client_pid(inst->client), inst->timestamp);
+       snprintf(inst->id, len, SCHEMA_FILE "%s%s_%d_%lf.png", DYNAMICBOX_CONF_IMAGE_PATH, package_name(info), client_pid(inst->client), inst->timestamp);
 
        instance_set_gbar_size(inst, package_gbar_width(info), package_gbar_height(info));
 
@@ -826,7 +827,7 @@ HAPI struct inst_info *instance_create(struct client_node *client, double timest
                return NULL;
        }
 
-       inst->title = strdup(DEFAULT_TITLE); /*!< Use the DEFAULT Title "" */
+       inst->title = strdup(DYNAMICBOX_CONF_DEFAULT_TITLE); /*!< Use the DEFAULT Title "" */
        if (!inst->title) {
                ErrPrint("Heap: %s\n", strerror(errno));
                DbgFree(inst->category);
@@ -1205,7 +1206,7 @@ static void activate_cb(struct slave_node *slave, const struct packet *packet, v
 
        switch (ret) {
        case 1: /*!< need to create */
-               if (util_free_space(IMAGE_PATH) > MINIMUM_SPACE) {
+               if (util_free_space(DYNAMICBOX_CONF_IMAGE_PATH) > DYNAMICBOX_CONF_MINIMUM_SPACE) {
                        struct inst_info *new_inst;
                        new_inst = instance_create(inst->client, util_timestamp(), package_name(inst->info),
                                                        inst->content, inst->cluster, inst->category,
@@ -1258,7 +1259,7 @@ static void activate_cb(struct slave_node *slave, const struct packet *packet, v
                                        script_handler_load(inst->dbox.canvas.script, 0);
                                }
                        } else if (package_dbox_type(inst->info) == DBOX_TYPE_BUFFER) {
-                               instance_create_dbox_buffer(inst, DEFAULT_PIXELS);
+                               instance_create_dbox_buffer(inst, DYNAMICBOX_CONF_DEFAULT_PIXELS);
                        }
 
                        if (package_gbar_type(inst->info) == GBAR_TYPE_SCRIPT) {
@@ -1275,7 +1276,7 @@ static void activate_cb(struct slave_node *slave, const struct packet *packet, v
                                        ErrPrint("Failed to create GBAR\n");
                                }
                        } else if (package_gbar_type(inst->info) == GBAR_TYPE_BUFFER) {
-                               instance_create_gbar_buffer(inst, DEFAULT_PIXELS);
+                               instance_create_gbar_buffer(inst, DYNAMICBOX_CONF_DEFAULT_PIXELS);
                        }
 
                        instance_broadcast_created_event(inst);
@@ -2474,8 +2475,8 @@ HAPI int instance_set_period(struct inst_info *inst, double period)
 
        if (period < 0.0f) { /* Use the default period */
                period = package_period(inst->info);
-       } else if (period > 0.0f && period < MINIMUM_PERIOD) {
-               period = MINIMUM_PERIOD; /* defined at conf.h */
+       } else if (period > 0.0f && period < DYNAMICBOX_CONF_MINIMUM_PERIOD) {
+               period = DYNAMICBOX_CONF_MINIMUM_PERIOD; /* defined at conf.h */
        }
 
        cbdata = malloc(sizeof(*cbdata));
@@ -3267,9 +3268,9 @@ HAPI void *instance_client_list(struct inst_info *inst)
 
 HAPI int instance_init(void)
 {
-       if (!strcasecmp(PROVIDER_METHOD, "shm")) {
+       if (!strcasecmp(DYNAMICBOX_CONF_PROVIDER_METHOD, "shm")) {
                s_info.env_buf_type = DBOX_FB_TYPE_SHM;
-       } else if (!strcasecmp(PROVIDER_METHOD, "pixmap")) {
+       } else if (!strcasecmp(DYNAMICBOX_CONF_PROVIDER_METHOD, "pixmap")) {
                s_info.env_buf_type = DBOX_FB_TYPE_PIXMAP;
        }
        /* Default method is DBOX_FB_TYPE_FILE */
index 31549cc..25af193 100644 (file)
--- a/src/io.c
+++ b/src/io.c
@@ -29,6 +29,7 @@
 #include <db-util.h>
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 
 #include "debug.h"
 #include "conf.h"
@@ -43,6 +44,9 @@
 
 int errno;
 
+#define MAX_ABI                256
+#define MAX_PKGNAME    512
+
 static struct {
        sqlite3 *handle;
 } s_info = {
@@ -709,7 +713,7 @@ HAPI int io_crawling_dynamicboxes(int (*cb)(const char *pkgid, const char *lbid,
                }
        }
 
-       dir = opendir(ROOT_PATH);
+       dir = opendir(DYNAMICBOX_CONF_ROOT_PATH);
        if (!dir) {
                ErrPrint("Error: %s\n", strerror(errno));
        } else {
@@ -824,13 +828,13 @@ static inline int db_init(void)
        int ret;
        struct stat stat;
 
-       ret = db_util_open_with_options(DBFILE, &s_info.handle, SQLITE_OPEN_READONLY, NULL);
+       ret = db_util_open_with_options(DYNAMICBOX_CONF_DBFILE, &s_info.handle, SQLITE_OPEN_READONLY, NULL);
        if (ret != SQLITE_OK) {
                ErrPrint("Failed to open a DB\n");
                return DBOX_STATUS_ERROR_IO_ERROR;
        }
 
-       if (lstat(DBFILE, &stat) < 0) {
+       if (lstat(DYNAMICBOX_CONF_DBFILE, &stat) < 0) {
                db_util_close(s_info.handle);
                s_info.handle = NULL;
                ErrPrint("%s\n", strerror(errno));
index d7aaaa4..e71894d 100644 (file)
@@ -35,6 +35,7 @@
 #if defined(HAVE_LIVEBOX)
 
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 
 #include "slave_life.h"
 #include "slave_rpc.h"
@@ -71,9 +72,9 @@ static inline int app_create(void)
 {
        int ret;
 
-       if (access(SLAVE_LOG_PATH, R_OK | W_OK) != 0) {
-               if (mkdir(SLAVE_LOG_PATH, 0755) < 0) {
-                       ErrPrint("Failed to create %s (%s)\n", SLAVE_LOG_PATH, strerror(errno));
+       if (access(DYNAMICBOX_CONF_LOG_PATH, R_OK | W_OK) != 0) {
+               if (mkdir(DYNAMICBOX_CONF_LOG_PATH, 0755) < 0) {
+                       ErrPrint("Failed to create %s (%s)\n", DYNAMICBOX_CONF_LOG_PATH, strerror(errno));
                }
        }
 
@@ -147,24 +148,24 @@ static inline int app_create(void)
 
        script_init();
 
-       if (util_service_is_enabled(SERVICE_FILE)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_FILE)) {
                file_service_init();
        }
 
-       if (util_service_is_enabled(SERVICE_UTILITY)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_UTILITY)) {
                utility_service_init();
        }
 #endif
 
-       if (util_service_is_enabled(SERVICE_SHORTCUT)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_SHORTCUT)) {
                shortcut_service_init();
        }
 
-       if (util_service_is_enabled(SERVICE_NOTIFICATION)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_NOTIFICATION)) {
                notification_service_init();
        }
 
-       if (util_service_is_enabled(SERVICE_BADGE)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_BADGE)) {
                badge_service_init();
        }
 
@@ -175,21 +176,21 @@ static inline int app_terminate(void)
 {
        int ret;
 
-       if (util_service_is_enabled(SERVICE_BADGE)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_BADGE)) {
                ret = badge_service_fini();
                if (ret < 0) {
                        DbgPrint("badge: %d\n", ret);
                }
        }
 
-       if (util_service_is_enabled(SERVICE_NOTIFICATION)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_NOTIFICATION)) {
                ret = notification_service_fini();
                if (ret < 0) {
                        DbgPrint("noti: %d\n", ret);
                }
        }
 
-       if (util_service_is_enabled(SERVICE_SHORTCUT)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_SHORTCUT)) {
                ret = shortcut_service_fini();
                if (ret < 0) {
                        DbgPrint("shortcut: %d\n", ret);
@@ -197,7 +198,7 @@ static inline int app_terminate(void)
        }
 
 #if defined(HAVE_LIVEBOX)
-       if (util_service_is_enabled(SERVICE_FILE)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_FILE)) {
                ret = file_service_fini();
                if (ret < 0) {
                        DbgPrint("Finalize the file service: %d\n", ret);
@@ -214,7 +215,7 @@ static inline int app_terminate(void)
                DbgPrint("dead signal handler finalized: %d\n", ret);
        }
 
-       if (util_service_is_enabled(SERVICE_UTILITY)) {
+       if (util_service_is_enabled(DYNAMICBOX_CONF_SERVICE_UTILITY)) {
                ret = utility_service_fini();
                if (ret < 0) {
                        DbgPrint("utility: %d\n", ret);
@@ -352,8 +353,8 @@ int main(int argc, char *argv[])
                return -EFAULT;
        }
 
-       conf_init();
-       conf_loader();
+       dynamicbox_conf_init();
+       dynamicbox_conf_load();
 
        /*!
         * How could we care this return values?
@@ -368,12 +369,12 @@ int main(int argc, char *argv[])
         * \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);
+       (void)util_unlink_files(DYNAMICBOX_CONF_ALWAYS_PATH);
+       (void)util_unlink_files(DYNAMICBOX_CONF_READER_PATH);
+       (void)util_unlink_files(DYNAMICBOX_CONF_IMAGE_PATH);
+       (void)util_unlink_files(DYNAMICBOX_CONF_LOG_PATH);
 
-       if (util_free_space(IMAGE_PATH) < MINIMUM_SPACE) {
+       if (util_free_space(DYNAMICBOX_CONF_IMAGE_PATH) < DYNAMICBOX_CONF_MINIMUM_SPACE) {
                util_remove_emergency_disk();
                util_prepare_emergency_disk();
        }
@@ -416,14 +417,6 @@ int main(int argc, char *argv[])
        g_type_init();
 #endif
 
-#if defined(HAVE_LIVEBOX)
-       /*!
-        * \note
-        * conf_update_size requires util_screen_init.
-        */
-       conf_update_size();
-#endif
-
        app_create();
 
        vconf_get_int(VCONFKEY_MASTER_RESTART_COUNT, &restart_count);
@@ -451,7 +444,7 @@ int main(int argc, char *argv[])
        }
 #endif
 
-       conf_reset();
+       dynamicbox_conf_reset();
        return 0;
 }
 
index c4c4443..3120573 100644 (file)
@@ -25,6 +25,7 @@
 #include <packet.h>
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 #include <pkgmgr-info.h>
 #include <ail.h>
 
@@ -321,13 +322,13 @@ static inline int load_conf(struct pkg_info *info)
        if (!parser) {
                info->dbox.size_list = 0x01; /* Default */
 
-               info->script = strdup(DEFAULT_SCRIPT);
+               info->script = strdup(DYNAMICBOX_CONF_DEFAULT_SCRIPT);
                if (!info->script) {
                        ErrPrint("Heap: %s\n", strerror(errno));
                        return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
                }
 
-               info->abi = strdup(DEFAULT_ABI);
+               info->abi = strdup(DYNAMICBOX_CONF_DEFAULT_ABI);
                if (!info->abi) {
                        ErrPrint("Heap: %s\n", strerror(errno));
                        DbgFree(info->script);
@@ -335,8 +336,8 @@ static inline int load_conf(struct pkg_info *info)
                        return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
                }
 
-               info->gbar.width = g_conf.width;
-               info->gbar.height = g_conf.height >> 2;
+               info->gbar.width = DYNAMICBOX_CONF_BASE_W;
+               info->gbar.height = DYNAMICBOX_CONF_BASE_H >> 2;
                info->dbox.pinup = 1;
                return DBOX_STATUS_ERROR_NONE;
        }
@@ -408,7 +409,7 @@ static inline int load_conf(struct pkg_info *info)
        }
 
        str = parser_script(parser);
-       str = str ? str : DEFAULT_SCRIPT;
+       str = str ? str : DYNAMICBOX_CONF_DEFAULT_SCRIPT;
        info->script = strdup(str);
        if (!info->script) {
                ErrPrint("Heap: %s\n", strerror(errno));
@@ -427,7 +428,7 @@ static inline int load_conf(struct pkg_info *info)
        }
 
        str = parser_abi(parser);
-       str = str ? str : DEFAULT_ABI;
+       str = str ? str : DYNAMICBOX_CONF_DEFAULT_ABI;
        info->abi = strdup(str);
        if (!info->abi) {
                ErrPrint("Heap: %s\n", strerror(errno));
@@ -451,8 +452,8 @@ static inline int load_conf(struct pkg_info *info)
        info->dbox.period = parser_period(parser);
        if (info->dbox.period < 0.0f) {
                info->dbox.period = 0.0f;
-       } else if (info->dbox.period > 0.0f && info->dbox.period < MINIMUM_PERIOD) {
-               info->dbox.period = MINIMUM_PERIOD;
+       } else if (info->dbox.period > 0.0f && info->dbox.period < DYNAMICBOX_CONF_MINIMUM_PERIOD) {
+               info->dbox.period = DYNAMICBOX_CONF_MINIMUM_PERIOD;
        }
 
        info->dbox.size_list = parser_size(parser);
index be00359..a90e0b6 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <dynamicbox_service.h>
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 
 #include "util.h"
 #include "debug.h"
@@ -171,14 +172,14 @@ HAPI RETURN_TYPE parser_find(const char *pkgname)
        int len;
        int ret;
 
-       len = strlen(pkgname) * 2 + strlen(CONF_PATH);
+       len = strlen(pkgname) * 2 + strlen(DYNAMICBOX_CONF_CONF_PATH);
 
        filename = malloc(len);
        if (!filename) {
                return (RETURN_TYPE)0;
        }
 
-       ret = snprintf(filename, len, CONF_PATH, pkgname, pkgname);
+       ret = snprintf(filename, len, DYNAMICBOX_CONF_CONF_PATH, pkgname, pkgname);
        if (ret < 0) {
                DbgFree(filename);
                return (RETURN_TYPE)0;
@@ -664,7 +665,7 @@ HAPI struct parser *parser_load(const char *pkgname)
        }
 
        /* live-, .conf */
-       len = strlen(CONF_PATH) + strlen(pkgname) * 2;
+       len = strlen(DYNAMICBOX_CONF_CONF_PATH) + strlen(pkgname) * 2;
        item->filename = malloc(len);
        if (!item->filename) {
                ErrPrint("Error: %s\n", strerror(errno));
@@ -672,7 +673,7 @@ HAPI struct parser *parser_load(const char *pkgname)
                return 0;
        }
 
-       ret = snprintf(item->filename, len, CONF_PATH, pkgname, pkgname);
+       ret = snprintf(item->filename, len, DYNAMICBOX_CONF_CONF_PATH, pkgname, pkgname);
        if (ret < 0) {
                ErrPrint("Error: %s\n", strerror(errno));
                DbgFree(item->filename);
index eab2e8f..f295b00 100644 (file)
@@ -34,6 +34,7 @@
 #include <packet.h>
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 
 #include "slave_life.h"
 #include "slave_rpc.h"
@@ -175,7 +176,7 @@ static int load_all_ports(void)
        char *path;
        int pathlen;
 
-       dir = opendir(SCRIPT_PORT_PATH);
+       dir = opendir(DYNAMICBOX_CONF_SCRIPT_PORT_PATH);
        if (!dir) {
                ErrPrint("Error: %s\n", strerror(errno));
                return DBOX_STATUS_ERROR_IO_ERROR;
@@ -186,7 +187,7 @@ static int load_all_ports(void)
                        continue;
                }
 
-               pathlen = strlen(ent->d_name) + strlen(SCRIPT_PORT_PATH) + 1;
+               pathlen = strlen(ent->d_name) + strlen(DYNAMICBOX_CONF_SCRIPT_PORT_PATH) + 1;
                path = malloc(pathlen);
                if (!path) {
                        ErrPrint("Heap: %s %d\n", strerror(errno), pathlen);
@@ -196,7 +197,7 @@ static int load_all_ports(void)
                        return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
                }
 
-               snprintf(path, pathlen, "%s%s", SCRIPT_PORT_PATH, ent->d_name);
+               snprintf(path, pathlen, "%s%s", DYNAMICBOX_CONF_SCRIPT_PORT_PATH, ent->d_name);
 
                item = malloc(sizeof(*item));
                if (!item) {
@@ -312,7 +313,7 @@ static int load_all_ports(void)
                        goto errout;
                }
 
-               if (item->init(SCALE_WIDTH_FACTOR, PREMULTIPLIED_COLOR) < 0) {
+               if (item->init(DYNAMICBOX_CONF_SCALE_WIDTH_FACTOR, DYNAMICBOX_CONF_PREMULTIPLIED_COLOR) < 0) {
                        ErrPrint("Failed to initialize script engine\n");
                        goto errout;
                }
@@ -553,7 +554,7 @@ HAPI struct script_info *script_handler_create(struct inst_info *inst, const cha
                return NULL;
        }
 
-       info->buffer_handle = buffer_handler_create(inst, s_info.env_buf_type, w, h, DEFAULT_PIXELS);
+       info->buffer_handle = buffer_handler_create(inst, s_info.env_buf_type, w, h, DYNAMICBOX_CONF_DEFAULT_PIXELS);
        if (!info->buffer_handle) {
                /* buffer_handler_create will prints some log */
                DbgFree(info);
@@ -1030,9 +1031,9 @@ free_out:
 
 HAPI int script_init(void)
 {
-       if (!strcasecmp(PROVIDER_METHOD, "shm")) {
+       if (!strcasecmp(DYNAMICBOX_CONF_PROVIDER_METHOD, "shm")) {
                s_info.env_buf_type = DBOX_FB_TYPE_SHM;
-       } else if (!strcasecmp(PROVIDER_METHOD, "pixmap")) {
+       } else if (!strcasecmp(DYNAMICBOX_CONF_PROVIDER_METHOD, "pixmap")) {
                s_info.env_buf_type = DBOX_FB_TYPE_PIXMAP;
        }
 
index aeda46e..3bd55f4 100644 (file)
@@ -28,6 +28,7 @@
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
 #include <dynamicbox_cmd_list.h>
+#include <dynamicbox_conf.h>
 #include <dynamicbox_script.h>
 
 #include "critical_log.h"
@@ -1262,14 +1263,14 @@ static struct packet *client_new(pid_t pid, int handle, const struct packet *pac
                ret = DBOX_STATUS_ERROR_FAULT;
        } else if (package_is_fault(info)) {
                ret = DBOX_STATUS_ERROR_FAULT;
-       } else if (util_free_space(IMAGE_PATH) <= MINIMUM_SPACE) {
+       } else if (util_free_space(DYNAMICBOX_CONF_IMAGE_PATH) <= DYNAMICBOX_CONF_MINIMUM_SPACE) {
                ErrPrint("Not enough space\n");
                ret = DBOX_STATUS_ERROR_NO_SPACE;
        } else {
                struct inst_info *inst;
 
-               if (period > 0.0f && period < MINIMUM_PERIOD) {
-                       period = MINIMUM_PERIOD;
+               if (period > 0.0f && period < DYNAMICBOX_CONF_MINIMUM_PERIOD) {
+                       period = DYNAMICBOX_CONF_MINIMUM_PERIOD;
                }
 
                inst = instance_create(client, timestamp, lbid, content, cluster, category, period, width, height);
@@ -3739,7 +3740,7 @@ static struct packet *client_pause_request(pid_t pid, int handle, const struct p
                goto out;
        }
 
-       if (USE_XMONITOR) {
+       if (DYNAMICBOX_CONF_USE_XMONITOR) {
                DbgPrint("XMONITOR enabled. ignore client paused request\n");
        } else {
                xmonitor_pause(client);
@@ -3767,7 +3768,7 @@ static struct packet *client_resume_request(pid_t pid, int handle, const struct
                goto out;
        }
 
-       if (USE_XMONITOR) {
+       if (DYNAMICBOX_CONF_USE_XMONITOR) {
                DbgPrint("XMONITOR enabled. ignore client resumed request\n");
        } else {
                xmonitor_resume(client);
@@ -5189,7 +5190,7 @@ static Eina_Bool pd_open_monitor_cb(void *inst)
        (void)instance_client_gbar_created(inst, DBOX_STATUS_ERROR_TIMEOUT);
        (void)instance_del_data(inst, GBAR_OPEN_MONITOR_TAG);
        (void)instance_unref(inst);
-       ErrPrint("GBAR Open request is timed-out (%lf)\n", GBAR_REQUEST_TIMEOUT);
+       ErrPrint("GBAR Open request is timed-out (%lf)\n", DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT);
        return ECORE_CALLBACK_CANCEL;
 }
 
@@ -5210,7 +5211,7 @@ static Eina_Bool pd_close_monitor_cb(void *inst)
        (void)instance_client_gbar_destroyed(inst, DBOX_STATUS_ERROR_TIMEOUT);
        (void)instance_del_data(inst, GBAR_CLOSE_MONITOR_TAG);
        (void)instance_unref(inst);
-       ErrPrint("GBAR Close request is not processed in %lf seconds\n", GBAR_REQUEST_TIMEOUT);
+       ErrPrint("GBAR Close request is not processed in %lf seconds\n", DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT);
        return ECORE_CALLBACK_CANCEL;
 }
 
@@ -5231,7 +5232,7 @@ static Eina_Bool pd_resize_monitor_cb(void *inst)
        (void)instance_client_gbar_destroyed(inst, DBOX_STATUS_ERROR_TIMEOUT);
        (void)instance_del_data(inst, GBAR_RESIZE_MONITOR_TAG);
        (void)instance_unref(inst);
-       ErrPrint("GBAR Resize request is not processed in %lf seconds\n", GBAR_REQUEST_TIMEOUT);
+       ErrPrint("GBAR Resize request is not processed in %lf seconds\n", DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT);
        return ECORE_CALLBACK_CANCEL;
 }
 
@@ -5315,7 +5316,7 @@ static struct packet *client_create_gbar(pid_t pid, int handle, const struct pac
                                        ErrPrint("Unable to send script event for openning GBAR [%s], %d\n", pkgname, tmp_ret);
                                }
                        } else {
-                               pd_monitor = ecore_timer_add(GBAR_REQUEST_TIMEOUT, pd_open_monitor_cb, instance_ref(inst));
+                               pd_monitor = ecore_timer_add(DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT, pd_open_monitor_cb, instance_ref(inst));
                                if (!pd_monitor) {
                                        (void)instance_unref(inst);
                                        ErrPrint("Failed to create a timer for GBAR Open monitor\n");
@@ -5596,7 +5597,7 @@ static struct packet *client_destroy_gbar(pid_t pid, int handle, const struct pa
                                        }
                                }
                        } else {
-                               pd_monitor = ecore_timer_add(GBAR_REQUEST_TIMEOUT, pd_close_monitor_cb, instance_ref(inst));
+                               pd_monitor = ecore_timer_add(DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT, pd_close_monitor_cb, instance_ref(inst));
                                if (!pd_monitor) {
                                        ErrPrint("Failed to add pd close monitor\n");
                                        inst = instance_unref(inst);
@@ -5761,7 +5762,7 @@ static struct packet *client_subscribed(pid_t pid, int handle, const struct pack
        }
 
        DbgPrint("[%d] cluster[%s] category[%s]\n", pid, cluster, category);
-       if (!strlen(cluster) || !strcasecmp(cluster, DEFAULT_CLUSTER)) {
+       if (!strlen(cluster) || !strcasecmp(cluster, DYNAMICBOX_CONF_DEFAULT_CLUSTER)) {
                ErrPrint("Invalid cluster name\n");
                goto out;
        }
@@ -5803,7 +5804,7 @@ static struct packet *client_delete_cluster(pid_t pid, int handle, const struct
 
        DbgPrint("pid[%d] cluster[%s]\n", pid, cluster);
 
-       if (!strlen(cluster) || !strcasecmp(cluster, DEFAULT_CLUSTER)) {
+       if (!strlen(cluster) || !strcasecmp(cluster, DYNAMICBOX_CONF_DEFAULT_CLUSTER)) {
                ErrPrint("Invalid cluster: %s\n", cluster);
                ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
                goto out;
@@ -5840,7 +5841,7 @@ static inline int update_pkg_cb(struct category *category, const char *pkgname,
        slave_rpc_request_update(pkgname, "", c_name, s_name, NULL, force);
 
        /* Just try to create a new package */
-       if (util_free_space(IMAGE_PATH) > MINIMUM_SPACE) {
+       if (util_free_space(DYNAMICBOX_CONF_IMAGE_PATH) > DYNAMICBOX_CONF_MINIMUM_SPACE) {
                double timestamp;
                struct inst_info *inst;
 
@@ -5851,7 +5852,7 @@ static inline int update_pkg_cb(struct category *category, const char *pkgname,
                 * Because this callback is called by the requests of clients.
                 * It means. some clients wants to handle this instances ;)
                 */
-               inst = instance_create(NULL, timestamp, pkgname, "", c_name, s_name, DEFAULT_PERIOD, 0, 0);
+               inst = instance_create(NULL, timestamp, pkgname, "", c_name, s_name, DYNAMICBOX_CONF_DEFAULT_PERIOD, 0, 0);
                if (!inst) {
                        ErrPrint("Failed to create a new instance\n");
                }
@@ -5925,7 +5926,7 @@ static struct packet *client_refresh_group(pid_t pid, int handle, const struct p
 
        DbgPrint("[%d] cluster[%s] category[%s]\n", pid, cluster_id, category_id);
 
-       if (!strlen(cluster_id) || !strcasecmp(cluster_id, DEFAULT_CLUSTER)) {
+       if (!strlen(cluster_id) || !strcasecmp(cluster_id, DYNAMICBOX_CONF_DEFAULT_CLUSTER)) {
                ErrPrint("Invalid cluster name: %s\n", cluster_id);
                goto out;
        }
@@ -5975,7 +5976,7 @@ static struct packet *client_delete_category(pid_t pid, int handle, const struct
        }
 
        DbgPrint("pid[%d] cluster[%s] category[%s]\n", pid, cluster, category);
-       if (!strlen(cluster) || !strcasecmp(cluster, DEFAULT_CLUSTER)) {
+       if (!strlen(cluster) || !strcasecmp(cluster, DYNAMICBOX_CONF_DEFAULT_CLUSTER)) {
                ErrPrint("Invalid cluster: %s\n", cluster);
                ret = DBOX_STATUS_ERROR_INVALID_PARAMETER;
                goto out;
@@ -6018,7 +6019,7 @@ static struct packet *client_unsubscribed(pid_t pid, int handle, const struct pa
 
        DbgPrint("[%d] cluster[%s] category[%s]\n", pid, cluster, category);
 
-       if (!strlen(cluster) || !strcasecmp(cluster, DEFAULT_CLUSTER)) {
+       if (!strlen(cluster) || !strcasecmp(cluster, DYNAMICBOX_CONF_DEFAULT_CLUSTER)) {
                ErrPrint("Invalid cluster name: %s\n", cluster);
                goto out;
        }
@@ -6058,7 +6059,7 @@ static struct packet *slave_hello(pid_t pid, int handle, const struct packet *pa
        }
 
        if (!slave) {
-               if (DEBUG_MODE) {
+               if (DYNAMICBOX_CONF_DEBUG_MODE || g_conf.debug_mode) {
                        char pkgname[pathconf("/", _PC_PATH_MAX)];
                        const char *abi;
 
@@ -6073,7 +6074,7 @@ static struct packet *slave_hello(pid_t pid, int handle, const struct packet *pa
                        if (!slave) {
                                abi = abi_find_by_pkgname(pkgname);
                                if (!abi) {
-                                       abi = DEFAULT_ABI;
+                                       abi = DYNAMICBOX_CONF_DEFAULT_ABI;
                                        DbgPrint("Slave pkgname is invalid, ABI is replaced with '%s'(default)\n", abi);
                                }
 
@@ -6089,7 +6090,7 @@ static struct packet *slave_hello(pid_t pid, int handle, const struct packet *pa
                                abi = slave_abi(slave);
                                if (!abi) {
                                        ErrPrint("ABI is not valid: %s\n", slavename);
-                                       abi = DEFAULT_ABI;
+                                       abi = DYNAMICBOX_CONF_DEFAULT_ABI;
                                }
                        }
 
@@ -6832,7 +6833,7 @@ static struct packet *slave_acquire_buffer(pid_t pid, int handle, const struct p
                ret = buffer_handler_load(info);
                if (ret == 0) {
                        instance_set_dbox_size(inst, w, h);
-                       instance_set_dbox_info(inst, PRIORITY_NO_CHANGE, CONTENT_NO_CHANGE, TITLE_NO_CHANGE);
+                       instance_set_dbox_info(inst, DYNAMICBOX_CONF_PRIORITY_NO_CHANGE, DYNAMICBOX_CONF_CONTENT_NO_CHANGE, DYNAMICBOX_CONF_TITLE_NO_CHANGE);
                        id = buffer_handler_id(info);
                } else {
                        ErrPrint("Failed to load a buffer(%d)\n", ret);
@@ -6974,7 +6975,7 @@ static struct packet *slave_resize_buffer(pid_t pid, int handle, const struct pa
                if (ret == (int)DBOX_STATUS_ERROR_NONE) {
                        id = buffer_handler_id(info);
                        instance_set_dbox_size(inst, w, h);
-                       instance_set_dbox_info(inst, PRIORITY_NO_CHANGE, CONTENT_NO_CHANGE, TITLE_NO_CHANGE);
+                       instance_set_dbox_info(inst, DYNAMICBOX_CONF_PRIORITY_NO_CHANGE, DYNAMICBOX_CONF_CONTENT_NO_CHANGE, DYNAMICBOX_CONF_TITLE_NO_CHANGE);
                }
        } else if (type == TYPE_GBAR && package_gbar_type(pkg) == GBAR_TYPE_BUFFER) {
                struct buffer_info *info;
@@ -7078,7 +7079,7 @@ static struct packet *slave_release_buffer(pid_t pid, int handle, const struct p
                        ret = buffer_handler_unload(info);
 
                        if (ret == (int)DBOX_STATUS_ERROR_NONE) {
-                               pd_monitor = ecore_timer_add(GBAR_REQUEST_TIMEOUT, pd_resize_monitor_cb, instance_ref(inst));
+                               pd_monitor = ecore_timer_add(DYNAMICBOX_CONF_GBAR_REQUEST_TIMEOUT, pd_resize_monitor_cb, instance_ref(inst));
                                if (!pd_monitor) {
                                        ErrPrint("Failed to create a timer for GBAR Open monitor\n");
                                        inst = instance_unref(inst);
@@ -8270,7 +8271,7 @@ static struct method s_slave_table[] = {
 
 HAPI int server_init(void)
 {
-       com_core_packet_use_thread(COM_CORE_THREAD);
+       com_core_packet_use_thread(DYNAMICBOX_CONF_COM_CORE_THREAD);
 
        if (unlink(INFO_SOCKET) < 0) {
                ErrPrint("info socket: %s\n", strerror(errno));
index 711623b..4af52c2 100644 (file)
@@ -39,6 +39,7 @@
 
 #if defined(HAVE_LIVEBOX)
 #include <dynamicbox_service.h>
+#include <dynamicbox_conf.h>
 #include "client_life.h"
 #include "slave_life.h"
 #include "xmonitor.h"
@@ -69,7 +70,7 @@ HAPI int setting_is_lcd_off(void)
 {
        int state;
 
-       if (!CHECK_LCD) {
+       if (!DYNAMICBOX_CONF_CHECK_LCD) {
                /* Always turned on */
                return 0;
        }
index 6f21c1b..f82307b 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <packet.h>
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 #include <dynamicbox_cmd_list.h>
 
 #include "critical_log.h"
@@ -197,7 +198,7 @@ static inline struct slave_node *create_slave_node(const char *name, int is_secu
        slave->pid = (pid_t)-1;
        slave->state = SLAVE_TERMINATED;
        slave->network = network;
-       slave->relaunch_count = SLAVE_RELAUNCH_COUNT;
+       slave->relaunch_count = DYNAMICBOX_CONF_SLAVE_RELAUNCH_COUNT;
 
        xmonitor_add_event_callback(XMONITOR_PAUSED, xmonitor_pause_cb, slave);
        xmonitor_add_event_callback(XMONITOR_RESUMED, xmonitor_resume_cb, slave);
@@ -432,7 +433,7 @@ static Eina_Bool activate_timer_cb(void *data)
                }
        }
 
-       CRITICAL_LOG("Slave is not activated in %lf sec (slave: %s)\n", SLAVE_ACTIVATE_TIME, slave_name(slave));
+       CRITICAL_LOG("Slave is not activated in %lf sec (slave: %s)\n", DYNAMICBOX_CONF_SLAVE_ACTIVATE_TIME, slave_name(slave));
        slave = slave_deactivated(slave);
        return ECORE_CALLBACK_CANCEL;
 }
@@ -494,9 +495,9 @@ static Eina_Bool relaunch_timer_cb(void *data)
                        invoke_slave_fault_handler(slave);
                } else {
                        bundle_add(param, BUNDLE_SLAVE_SVC_OP_TYPE, APP_CONTROL_OPERATION_MAIN);
-                       bundle_add(param, BUNDLE_SLAVE_NAME, slave_name(slave));
-                       bundle_add(param, BUNDLE_SLAVE_SECURED, slave->secured ? "true" : "false");
-                       bundle_add(param, BUNDLE_SLAVE_ABI, slave->abi);
+                       bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_NAME, slave_name(slave));
+                       bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_SECURED, slave->secured ? "true" : "false");
+                       bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_ABI, slave->abi);
 
                        slave->pid = (pid_t)aul_launch_app(slave_pkgname(slave), param);
 
@@ -571,12 +572,12 @@ HAPI int slave_activate(struct slave_node *slave)
                return DBOX_STATUS_ERROR_ALREADY;
        }
 
-       if (DEBUG_MODE) {
+       if (DYNAMICBOX_CONF_DEBUG_MODE || g_conf.debug_mode) {
                DbgPrint("Debug Mode enabled. name[%s] secured[%d] abi[%s]\n", slave_name(slave), slave->secured, slave->abi);
        } else {
                bundle *param;
 
-               slave->relaunch_count = SLAVE_RELAUNCH_COUNT;
+               slave->relaunch_count = DYNAMICBOX_CONF_SLAVE_RELAUNCH_COUNT;
 
                param = bundle_create();
                if (!param) {
@@ -585,9 +586,9 @@ HAPI int slave_activate(struct slave_node *slave)
                }
 
                bundle_add(param, BUNDLE_SLAVE_SVC_OP_TYPE, APP_CONTROL_OPERATION_MAIN);
-               bundle_add(param, BUNDLE_SLAVE_NAME, slave_name(slave));
-               bundle_add(param, BUNDLE_SLAVE_SECURED, slave->secured ? "true" : "false");
-               bundle_add(param, BUNDLE_SLAVE_ABI, slave->abi);
+               bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_NAME, slave_name(slave));
+               bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_SECURED, slave->secured ? "true" : "false");
+               bundle_add(param, DYNAMICBOX_CONF_BUNDLE_SLAVE_ABI, slave->abi);
 
                slave->pid = (pid_t)aul_launch_app(slave_pkgname(slave), param);
 
@@ -609,7 +610,7 @@ HAPI int slave_activate(struct slave_node *slave)
                case AUL_R_ECANCELED:           /**< Operation canceled */
                case AUL_R_ETIMEOUT:            /**< Timeout */
                        CRITICAL_LOG("Try relaunch this soon %s (%d)\n", slave_name(slave), slave->pid);
-                       slave->relaunch_timer = ecore_timer_add(SLAVE_RELAUNCH_TIME, relaunch_timer_cb, slave);
+                       slave->relaunch_timer = ecore_timer_add(DYNAMICBOX_CONF_SLAVE_RELAUNCH_TIME, relaunch_timer_cb, slave);
                        if (!slave->relaunch_timer) {
                                CRITICAL_LOG("Failed to register a relaunch timer (%s)\n", slave_name(slave));
                                slave->pid = (pid_t)-1;
@@ -624,7 +625,7 @@ HAPI int slave_activate(struct slave_node *slave)
                        break;
                }
 
-               slave->activate_timer = ecore_timer_add(SLAVE_ACTIVATE_TIME, activate_timer_cb, slave);
+               slave->activate_timer = ecore_timer_add(DYNAMICBOX_CONF_SLAVE_ACTIVATE_TIME, activate_timer_cb, slave);
                if (!slave->activate_timer) {
                        ErrPrint("Failed to register an activate timer\n");
                }
@@ -649,7 +650,7 @@ HAPI int slave_give_more_ttl(struct slave_node *slave)
                return DBOX_STATUS_ERROR_INVALID_PARAMETER;
        }
 
-       delay = SLAVE_TTL - ecore_timer_pending_get(slave->ttl_timer);
+       delay = DYNAMICBOX_CONF_SLAVE_TTL - ecore_timer_pending_get(slave->ttl_timer);
        ecore_timer_delay(slave->ttl_timer, delay);
        return DBOX_STATUS_ERROR_NONE;
 }
@@ -674,7 +675,7 @@ HAPI int slave_thaw_ttl(struct slave_node *slave)
 
        ecore_timer_thaw(slave->ttl_timer);
 
-       delay = SLAVE_TTL - ecore_timer_pending_get(slave->ttl_timer);
+       delay = DYNAMICBOX_CONF_SLAVE_TTL - ecore_timer_pending_get(slave->ttl_timer);
        ecore_timer_delay(slave->ttl_timer, delay);
        return DBOX_STATUS_ERROR_NONE;
 }
@@ -687,9 +688,9 @@ HAPI int slave_activated(struct slave_node *slave)
                slave_pause(slave);
        }
 
-       if (slave->secured == 1 && SLAVE_TTL > 0.0f) {
-               DbgPrint("Slave deactivation timer is added (%s - %lf)\n", slave_name(slave), SLAVE_TTL);
-               slave->ttl_timer = ecore_timer_add(SLAVE_TTL, slave_ttl_cb, slave);
+       if (slave->secured == 1 && DYNAMICBOX_CONF_SLAVE_TTL > 0.0f) {
+               DbgPrint("Slave deactivation timer is added (%s - %lf)\n", slave_name(slave), DYNAMICBOX_CONF_SLAVE_TTL);
+               slave->ttl_timer = ecore_timer_add(DYNAMICBOX_CONF_SLAVE_TTL, slave_ttl_cb, slave);
                if (!slave->ttl_timer) {
                        ErrPrint("Failed to create a TTL timer\n");
                }
@@ -816,7 +817,7 @@ HAPI struct slave_node *slave_deactivate(struct slave_node *slave, int no_timer)
                ErrPrint("Terminate timer is already fired (%d)\n", slave->pid);
        } else if (!no_timer && !slave->secured) {
                DbgPrint("Fire the terminate timer: %d\n", slave->pid);
-               slave->terminate_timer = ecore_timer_add(SLAVE_ACTIVATE_TIME, terminate_timer_cb, slave);
+               slave->terminate_timer = ecore_timer_add(DYNAMICBOX_CONF_SLAVE_ACTIVATE_TIME, terminate_timer_cb, slave);
                if (!slave->terminate_timer) {
                        /*!
                         * \note
@@ -923,6 +924,13 @@ HAPI struct slave_node *slave_deactivated_by_fault(struct slave_node *slave)
        int ret;
        int reactivate = 1;
        int reactivate_instances = 1;
+       int max_load;
+
+       if (g_conf.slave_max_load < 0) {
+               max_load = DYNAMICBOX_CONF_SLAVE_MAX_LOAD;
+       } else {
+               max_load = g_conf.slave_max_load;
+       }
 
        if (!slave_is_activated(slave)) {
                DbgPrint("Deactivating in progress\n");
@@ -949,9 +957,10 @@ HAPI struct slave_node *slave_deactivated_by_fault(struct slave_node *slave)
        double faulted_at;
 
        faulted_at = ecore_time_get();
-       if (faulted_at - slave->activated_at < MINIMUM_REACTIVATION_TIME) {
+       if (faulted_at - slave->activated_at < DYNAMICBOX_CONF_MINIMUM_REACTIVATION_TIME) {
                slave->critical_fault_count++;
-               if (!slave_loaded_instance(slave) || slave->critical_fault_count >= SLAVE_MAX_LOAD) {
+
+               if (!slave_loaded_instance(slave) || slave->critical_fault_count >= max_load) {
                        ErrPrint("Reactivation time is too fast and frequently occurred - Stop to auto reactivation\n");
                        reactivate = 0;
                        reactivate_instances = 0;
@@ -972,9 +981,9 @@ HAPI struct slave_node *slave_deactivated_by_fault(struct slave_node *slave)
                struct timeval rtv;
 
                timersub(&faulted_at, &slave->activated_at, &rtv);
-               if (rtv.tv_sec < MINIMUM_REACTIVATION_TIME) {
+               if (rtv.tv_sec < DYNAMICBOX_CONF_MINIMUM_REACTIVATION_TIME) {
                        slave->critical_fault_count++;
-                       if (!slave_loaded_instance(slave) || slave->critical_fault_count >= SLAVE_MAX_LOAD) {
+                       if (!slave_loaded_instance(slave) || slave->critical_fault_count >= max_load) {
                                ErrPrint("Reactivation time is too fast and frequently occurred - Stop to auto reactivation\n");
                                reactivate = 0;
                                reactivate_instances = 0;
@@ -1299,8 +1308,15 @@ HAPI struct slave_node *slave_find_available(const char *slave_pkgname, const ch
                        }
                } else if (slave->network == network) {
                        DbgPrint("slave[%s] loaded_package[%d] net: [%d]\n", slave_name(slave), slave->loaded_package, slave->network);
-                       if (!strcasecmp(abi, DEFAULT_ABI)) {
-                               if (slave->loaded_package < SLAVE_MAX_LOAD) {
+                       if (!strcasecmp(abi, DYNAMICBOX_CONF_DEFAULT_ABI)) {
+                               int max_load;
+                               if (g_conf.slave_max_load < 0) {
+                                       max_load = DYNAMICBOX_CONF_SLAVE_MAX_LOAD;
+                               } else {
+                                       max_load = g_conf.slave_max_load;
+                               }
+
+                               if (slave->loaded_package < max_load) {
                                        return slave;
                                }
                        } else {
@@ -1359,7 +1375,7 @@ HAPI char *slave_package_name(const char *abi, const char *lbid)
                return NULL;
        }
 
-       s_pkgname = util_replace_string(tmp, REPLACE_TAG_APPID, lbid);
+       s_pkgname = util_replace_string(tmp, DYNAMICBOX_CONF_REPLACE_TAG_APPID, lbid);
        if (!s_pkgname) {
                DbgPrint("Failed to get replaced string\n");
                s_pkgname = strdup(tmp);
index 1c8e9e6..555b595 100644 (file)
@@ -31,6 +31,7 @@
 #include <dynamicbox_errno.h>
 #include <dynamicbox_service.h>
 #include <dynamicbox_cmd_list.h>
+#include <dynamicbox_conf.h>
 
 #include "debug.h"
 #include "slave_life.h"
@@ -261,7 +262,7 @@ static void prepend_command(struct command *command)
                return;
        }
 
-       s_info.command_consuming_timer = ecore_timer_add(PACKET_TIME, command_consumer_cb, NULL);
+       s_info.command_consuming_timer = ecore_timer_add(DYNAMICBOX_CONF_PACKET_TIME, command_consumer_cb, NULL);
        if (!s_info.command_consuming_timer) {
                ErrPrint("Failed to add command consumer\n");
                s_info.command_list = eina_list_remove(s_info.command_list, command);
@@ -277,7 +278,7 @@ static void push_command(struct command *command)
                return;
        }
 
-       s_info.command_consuming_timer = ecore_timer_add(PACKET_TIME, command_consumer_cb, NULL);
+       s_info.command_consuming_timer = ecore_timer_add(DYNAMICBOX_CONF_PACKET_TIME, command_consumer_cb, NULL);
        if (!s_info.command_consuming_timer) {
                ErrPrint("Failed to add command consumer\n");
                s_info.command_list = eina_list_remove(s_info.command_list, command);
@@ -518,7 +519,7 @@ HAPI int slave_rpc_update_handle(struct slave_node *slave, int handle)
                ecore_timer_del(rpc->pong_timer);
        }
 
-       rpc->pong_timer = ecore_timer_add(DEFAULT_PING_TIME, ping_timeout_cb, slave);
+       rpc->pong_timer = ecore_timer_add(DYNAMICBOX_CONF_DEFAULT_PING_TIME, ping_timeout_cb, slave);
        if (!rpc->pong_timer) {
                ErrPrint("Failed to add ping timer\n");
        }
index 665e345..f9c356e 100644 (file)
 #include <Ecore.h>
 #if defined(HAVE_LIVEBOX)
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 #else
 #include "lite-errno.h"
+#define DYNAMICBOX_CONF_IMAGE_PATH "/tmp/"
 #endif
 
 #include "util.h"
@@ -419,12 +421,12 @@ HAPI int util_unlink_files(const char *folder)
 HAPI void util_remove_emergency_disk(void)
 {
        int ret;
-       ret = umount(IMAGE_PATH);
+       ret = umount(DYNAMICBOX_CONF_IMAGE_PATH);
        if (ret < 0) {
                ErrPrint("umount: %s\n", strerror(errno));
        }
 
-       DbgPrint("Try to unmount[%s] %d\n", IMAGE_PATH, ret);
+       DbgPrint("Try to unmount[%s] %d\n", DYNAMICBOX_CONF_IMAGE_PATH, ret);
        s_info.emergency_mounted = 0;
 }
 
@@ -453,7 +455,7 @@ HAPI void util_prepare_emergency_disk(void)
                TAG_ERROR
        };
 
-       buf = strdup(EMERGENCY_DISK);
+       buf = strdup(DYNAMICBOX_CONF_EMERGENCY_DISK);
        if (!buf) {
                ErrPrint("Failed to prepare emergency disk info\n");
                return;
@@ -554,69 +556,67 @@ HAPI void util_prepare_emergency_disk(void)
 
        DbgPrint("source[%s] type[%s] option[%s]\n", source, type, option);
 
-       ret = mount(source, IMAGE_PATH, type, MS_NOSUID | MS_NOEXEC, option);
+       ret = mount(source, DYNAMICBOX_CONF_IMAGE_PATH, type, MS_NOSUID | MS_NOEXEC, option);
        DbgFree(buf);
        if (ret < 0) {
                ErrPrint("Failed to mount: %s\n", strerror(errno));
                return;
        }
 
-       MINIMUM_SPACE = 0;
-
-       ErrPrint("Disk space is not enough, use the tmpfs. Currently required minimum space is %lu bytes\n", MINIMUM_SPACE);
-       if (chmod(IMAGE_PATH, 0750) < 0) {
+       ErrPrint("Disk space is not enough, use the tmpfs. Currently required minimum space is %lu bytes\n", DYNAMICBOX_CONF_MINIMUM_SPACE);
+       if (chmod(DYNAMICBOX_CONF_IMAGE_PATH, 0750) < 0) {
                ErrPrint("chmod: %s\n", strerror(errno));
        }
 
-       if (chown(IMAGE_PATH, 5000, 5000) < 0) {
+       if (chown(DYNAMICBOX_CONF_IMAGE_PATH, 5000, 5000) < 0) {
                ErrPrint("chown: %s\n", strerror(errno));
        }
 
-       ret = smack_setlabel(IMAGE_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
+       ret = smack_setlabel(DYNAMICBOX_CONF_IMAGE_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
        if (ret != 0) {
-               ErrPrint("Failed to set SMACK for %s (%d)\n", IMAGE_PATH, ret);
+               ErrPrint("Failed to set SMACK for %s (%d)\n", DYNAMICBOX_CONF_IMAGE_PATH, ret);
        } else {
-               ret = smack_setlabel(IMAGE_PATH, "1", SMACK_LABEL_TRANSMUTE);
-               DbgPrint("[%s] is successfully created (t: %d)\n", IMAGE_PATH, ret);
+               ret = smack_setlabel(DYNAMICBOX_CONF_IMAGE_PATH, "1", SMACK_LABEL_TRANSMUTE);
+               DbgPrint("[%s] is successfully created (t: %d)\n", DYNAMICBOX_CONF_IMAGE_PATH, ret);
        }
 
-       if (mkdir(ALWAYS_PATH, 0755) < 0) {
-               ErrPrint("mkdir: (%s) %s\n", ALWAYS_PATH, strerror(errno));
+       if (mkdir(DYNAMICBOX_CONF_ALWAYS_PATH, 0755) < 0) {
+               ErrPrint("mkdir: (%s) %s\n", DYNAMICBOX_CONF_ALWAYS_PATH, strerror(errno));
        } else {
-               if (chmod(ALWAYS_PATH, 0750) < 0) {
+               if (chmod(DYNAMICBOX_CONF_ALWAYS_PATH, 0750) < 0) {
                        ErrPrint("chmod: %s\n", strerror(errno));
                }
 
-               if (chown(ALWAYS_PATH, 5000, 5000) < 0) {
+               if (chown(DYNAMICBOX_CONF_ALWAYS_PATH, 5000, 5000) < 0) {
                        ErrPrint("chown: %s\n", strerror(errno));
                }
 
-               ret = smack_setlabel(ALWAYS_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
+               ret = smack_setlabel(DYNAMICBOX_CONF_ALWAYS_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
                if (ret != 0) {
-                       ErrPrint("Failed to set SMACK for %s (%d)\n", ALWAYS_PATH, ret);
+                       ErrPrint("Failed to set SMACK for %s (%d)\n", DYNAMICBOX_CONF_ALWAYS_PATH, ret);
                } else {
-                       ret = smack_setlabel(ALWAYS_PATH, "1", SMACK_LABEL_TRANSMUTE);
-                       DbgPrint("[%s] is successfully created (t: %d)\n", ALWAYS_PATH, ret);
+                       ret = smack_setlabel(DYNAMICBOX_CONF_ALWAYS_PATH, "1", SMACK_LABEL_TRANSMUTE);
+                       DbgPrint("[%s] is successfully created (t: %d)\n", DYNAMICBOX_CONF_ALWAYS_PATH, ret);
                }
        }
 
-       if (mkdir(READER_PATH, 0755) < 0) {
-               ErrPrint("mkdir: (%s) %s\n", READER_PATH, strerror(errno));
+       if (mkdir(DYNAMICBOX_CONF_READER_PATH, 0755) < 0) {
+               ErrPrint("mkdir: (%s) %s\n", DYNAMICBOX_CONF_READER_PATH, strerror(errno));
        } else {
-               if (chmod(READER_PATH, 0750) < 0) {
+               if (chmod(DYNAMICBOX_CONF_READER_PATH, 0750) < 0) {
                        ErrPrint("chmod: %s\n", strerror(errno));
                }
 
-               if (chown(READER_PATH, 5000, 5000) < 0) {
+               if (chown(DYNAMICBOX_CONF_READER_PATH, 5000, 5000) < 0) {
                        ErrPrint("chown: %s\n", strerror(errno));
                }
 
-               ret = smack_setlabel(READER_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
+               ret = smack_setlabel(DYNAMICBOX_CONF_READER_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
                if (ret != 0) {
-                       ErrPrint("Failed to set SMACK for %s (%d)\n", READER_PATH, ret);
+                       ErrPrint("Failed to set SMACK for %s (%d)\n", DYNAMICBOX_CONF_READER_PATH, ret);
                } else {
-                       ret = smack_setlabel(READER_PATH, "1", SMACK_LABEL_TRANSMUTE);
-                       DbgPrint("[%s] is successfully created (t: %d)\n", READER_PATH, ret);
+                       ret = smack_setlabel(DYNAMICBOX_CONF_READER_PATH, "1", SMACK_LABEL_TRANSMUTE);
+                       DbgPrint("[%s] is successfully created (t: %d)\n", DYNAMICBOX_CONF_READER_PATH, ret);
                }
        }
 
@@ -632,36 +632,36 @@ HAPI void util_setup_log_disk(void)
 {
        int ret;
 
-       if (access(SLAVE_LOG_PATH, R_OK | W_OK | X_OK) == 0) {
-               DbgPrint("[%s] is already accessible\n", SLAVE_LOG_PATH);
+       if (access(DYNAMICBOX_CONF_LOG_PATH, R_OK | W_OK | X_OK) == 0) {
+               DbgPrint("[%s] is already accessible\n", DYNAMICBOX_CONF_LOG_PATH);
                return;
        }
 
-       DbgPrint("Initiate the critical log folder [%s]\n", SLAVE_LOG_PATH);
-       if (mkdir(SLAVE_LOG_PATH, 0755) < 0) {
+       DbgPrint("Initiate the critical log folder [%s]\n", DYNAMICBOX_CONF_LOG_PATH);
+       if (mkdir(DYNAMICBOX_CONF_LOG_PATH, 0755) < 0) {
                ErrPrint("mkdir: %s\n", strerror(errno));
        } else {
-               if (chmod(SLAVE_LOG_PATH, 0750) < 0) {
+               if (chmod(DYNAMICBOX_CONF_LOG_PATH, 0750) < 0) {
                        ErrPrint("chmod: %s\n", strerror(errno));
                }
 
-               if (chown(SLAVE_LOG_PATH, 5000, 5000) < 0) {
+               if (chown(DYNAMICBOX_CONF_LOG_PATH, 5000, 5000) < 0) {
                        ErrPrint("chown: %s\n", strerror(errno));
                }
 
-               ret = smack_setlabel(SLAVE_LOG_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
+               ret = smack_setlabel(DYNAMICBOX_CONF_LOG_PATH, DATA_SHARE_LABEL, SMACK_LABEL_ACCESS);
                if (ret != 0) {
-                       ErrPrint("Failed to set SMACK for %s (%d)\n", SLAVE_LOG_PATH, ret);
+                       ErrPrint("Failed to set SMACK for %s (%d)\n", DYNAMICBOX_CONF_LOG_PATH, ret);
                } else {
-                       ret = smack_setlabel(SLAVE_LOG_PATH, "1", SMACK_LABEL_TRANSMUTE);
-                       DbgPrint("[%s] is successfully created (t: %d)\n", SLAVE_LOG_PATH, ret);
+                       ret = smack_setlabel(DYNAMICBOX_CONF_LOG_PATH, "1", SMACK_LABEL_TRANSMUTE);
+                       DbgPrint("[%s] is successfully created (t: %d)\n", DYNAMICBOX_CONF_LOG_PATH, ret);
                }
        }
 }
 
 HAPI int util_service_is_enabled(const char *tag)
 {
-       return !!strcasestr(SERVICES, tag);
+       return !!strcasestr(DYNAMICBOX_CONF_SERVICES, tag);
 }
 
 /* End of a file */
index 16db05a..bb820e3 100644 (file)
@@ -32,6 +32,7 @@
 #include <gio/gio.h>
 #include <dlog.h>
 #include <dynamicbox_errno.h>
+#include <dynamicbox_conf.h>
 
 #include "conf.h"
 #include "debug.h"
@@ -72,7 +73,7 @@ static struct info {
 static inline void touch_paused_file(void)
 {
        int fd;
-       fd = creat(PAUSED_FILE, 0644);
+       fd = creat(DYNAMICBOX_CONF_PAUSED_FILE, 0644);
        if (fd >= 0) {
                if (close(fd) < 0) {
                        ErrPrint("close: %s\n", strerror(errno));
@@ -84,7 +85,7 @@ static inline void touch_paused_file(void)
 
 static inline void remove_paused_file(void)
 {
-       if (unlink(PAUSED_FILE) < 0) {
+       if (unlink(DYNAMICBOX_CONF_PAUSED_FILE) < 0) {
                ErrPrint("Unlink .live.paused: %s\n", strerror(errno));
        }
 }
@@ -149,7 +150,7 @@ HAPI void xmonitor_handle_state_changes(void)
 
                touch_paused_file();
 
-               sqlite3_release_memory(SQLITE_FLUSH_MAX);
+               sqlite3_release_memory(DYNAMICBOX_CONF_SQLITE_FLUSH_MAX);
                malloc_trim(0);
        } else {
                remove_paused_file();
@@ -168,7 +169,7 @@ HAPI int xmonitor_update_state(int target_pid)
        struct client_node *client;
        int pid;
 
-       if (!USE_XMONITOR || target_pid < 0) {
+       if (!DYNAMICBOX_CONF_USE_XMONITOR || target_pid < 0) {
                return DBOX_STATUS_ERROR_NONE;
        }
 
@@ -394,7 +395,7 @@ static inline int enable_xmonitor(void)
 
 HAPI int xmonitor_init(void)
 {
-       if (USE_XMONITOR) {
+       if (DYNAMICBOX_CONF_USE_XMONITOR) {
                int ret;
                ret = enable_xmonitor();
                if (ret < 0) {
@@ -414,7 +415,7 @@ HAPI int xmonitor_init(void)
 
 HAPI void xmonitor_fini(void)
 {
-       if (USE_XMONITOR) {
+       if (DYNAMICBOX_CONF_USE_XMONITOR) {
                disable_xmonitor();
        }
 }