base_width=720
base_height=1280
minimum_period=1.0
-script=edje
-default_abi=c
-default_group=disclosure
+#script=edje
+#default_abi=c
+#default_group=disclosure
default_period=-1.0
default_packet_time=0.0001
-default_content=default
+#default_content=default
minimum_space=104857600
-replace_tag=/APPID/
+#replace_tag=/APPID/
slave_ttl=30.0
slave_activate_time=30.0
slave_relaunch_time=3.0
max_log_line=1000
max_log_file=3
sqilte_flush_max=1048576
-db_path=/opt/dbspace/.livebox.db
-share_path=/opt/usr/share/live_magazine/
+#db_path=/opt/dbspace/.livebox.db
+#share_path=/opt/usr/share/live_magazine/
log_path=/tmp/.dbox.service
-always_path=/opt/usr/share/live_magazine/always
-reader_path=/opt/usr/share/live_magazine/reader
-script_port_path=/usr/share/data-provider-master/plugin-script/
+#always_path=/opt/usr/share/live_magazine/always
+#reader_path=/opt/usr/share/live_magazine/reader
+#script_port_path=/usr/share/data-provider-master/plugin-script/
ping_interval=240.0
slave_max_load=30
use_sw_backend=false
overwrite_content=false
com_core_thread=true
use_xmonitor=false
-input=/dev/input/event2
+#input=/dev/input/event2
pd_request_timeout=5.0
premultiplied=1
+#emergency_disk=source=tmpfs;type=tmpfs;option=size=6M
+#services=[livebox],[shortcut],[notification],[utility],[badge],[file]
double pd_request_timeout;
char *emergency_disk;
+ char *services;
};
extern struct conf g_conf;
#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 "[livebox]"
+#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"
extern void util_remove_emergency_disk(void);
extern void util_prepare_emergency_disk(void);
extern int util_emergency_disk_is_mounted(void);
+extern int util_service_is_enabled(const char *tag);
#define SCHEMA_FILE "file://"
#define SCHEMA_PIXMAP "pixmap://"
Name: data-provider-master
Summary: Master service provider for liveboxes
-Version: 0.31.2
+Version: 0.32.0
Release: 1
Group: HomeTF/Livebox
License: Flora
#include "util.h"
#include "debug.h"
+static const char *CONF_DEFAULT_SERVICES = "[livebox],[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_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/.livebox.db";
-static const char *CONF_DEFAULT_PATH_INPUT = "/dev/input/event1";
+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_PD_GROUP = "disclosure";
}
}
+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");
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;
}
HAPI int conf_loader(void)
.handler = emergency_disk_handler,
},
{
+ .name = "services",
+ .handler = services_handler,
+ },
+ {
.name = "use_xmonitor",
.handler = use_xmonitor,
},
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;
+ }
}
/* End of a file */
event_init();
- shortcut_service_init();
- notification_service_init();
- badge_service_init();
- utility_service_init();
+ if (util_service_is_enabled(SERVICE_SHORTCUT)) {
+ shortcut_service_init();
+ }
+
+ if (util_service_is_enabled(SERVICE_NOTIFICATION)) {
+ notification_service_init();
+ }
+
+ if (util_service_is_enabled(SERVICE_BADGE)) {
+ badge_service_init();
+ }
+
+ if (util_service_is_enabled(SERVICE_UTILITY)) {
+ utility_service_init();
+ }
+
script_init();
- file_service_init();
+ if (util_service_is_enabled(SERVICE_FILE)) {
+ file_service_init();
+ }
return 0;
}
{
int ret;
- ret = file_service_fini();
- DbgPrint("Finalize the file service: %d\n", ret);
+ if (util_service_is_enabled(SERVICE_FILE)) {
+ ret = file_service_fini();
+ DbgPrint("Finalize the file service: %d\n", ret);
+ }
ret = server_fini();
DbgPrint("Finalize server: %d\n", ret);
ret = dead_fini();
DbgPrint("dead signal handler finalized: %d\n", ret);
- ret = utility_service_fini();
- DbgPrint("utility: %d\n", ret);
+ if (util_service_is_enabled(SERVICE_UTILITY)) {
+ ret = utility_service_fini();
+ DbgPrint("utility: %d\n", ret);
+ }
- ret = badge_service_fini();
- DbgPrint("badge: %d\n", ret);
+ if (util_service_is_enabled(SERVICE_BADGE)) {
+ ret = badge_service_fini();
+ DbgPrint("badge: %d\n", ret);
+ }
- ret = notification_service_fini();
- DbgPrint("noti: %d\n", ret);
+ if (util_service_is_enabled(SERVICE_NOTIFICATION)) {
+ ret = notification_service_fini();
+ DbgPrint("noti: %d\n", ret);
+ }
- ret = shortcut_service_fini();
- DbgPrint("shortcut: %d\n", ret);
+ if (util_service_is_enabled(SERVICE_SHORTCUT)) {
+ ret = shortcut_service_fini();
+ DbgPrint("shortcut: %d\n", ret);
+ }
ret = event_fini();
DbgPrint("event: %d\n", ret);
* limitations under the License.
*/
+#define _GNU_SOURCE
+
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
}
}
+HAPI int util_service_is_enabled(const char *tag)
+{
+ return !!strcasestr(SERVICES, tag);
+}
+
/* End of a file */