X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fclient.c;h=ff64fa3558d489e595dfde7df2a273d45d601f91;hb=5bc13c89117dc2814b503dfce34516770816416c;hp=6fe12f184d5e276f9b15cd7e9d1bb7ad6fbca4ab;hpb=6e64029ee9b576a86fcc417be6d7c80f69a66d07;p=platform%2Fframework%2Fweb%2Flivebox-viewer.git diff --git a/src/client.c b/src/client.c index 6fe12f1..ff64fa3 100644 --- a/src/client.c +++ b/src/client.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -30,6 +31,7 @@ #include #include #include +#include #include "debug.h" #include "client.h" @@ -41,13 +43,18 @@ #include "master_rpc.h" #include "conf.h" #include "critical_log.h" +#include "file_service.h" + +int errno; static struct info { int fd; guint timer_id; + char *client_addr; } s_info = { .fd = -1, .timer_id = 0, + .client_addr = NULL, }; static struct packet *master_fault_package(pid_t pid, int handle, const struct packet *packet) @@ -188,7 +195,7 @@ static struct packet *master_deleted(pid_t pid, int handle, const struct packet /*! * \note * - * "if (handler->id == NULL)" + * "if (handler->id == NULL) {" * * The instance is not created yet. * But the master forcely destroy it and send destroyed event to this @@ -198,8 +205,9 @@ static struct packet *master_deleted(pid_t pid, int handle, const struct packet * before creating an instance successfully. */ if (handler->created_cb == handler->deleted_cb) { - if (handler->created_cbdata != handler->deleted_cbdata) + if (handler->created_cbdata != handler->deleted_cbdata) { DbgPrint("cb is same but cbdata is different (%s - %s)\n", pkgname, id); + } handler->deleted_cb = NULL; handler->deleted_cbdata = NULL; @@ -279,10 +287,11 @@ static struct packet *master_lb_update_begin(pid_t pid, int handle, const struct lb_set_lb_fb(handler, fbfile); ret = fb_sync(lb_get_lb_fb(handler)); - if (ret != LB_STATUS_SUCCESS) + if (ret != LB_STATUS_SUCCESS) { ErrPrint("Failed to do sync FB (%s - %s) (%d)\n", pkgname, fbfile, ret); - else + } else { lb_invoke_event_handler(handler, LB_EVENT_LB_UPDATE_BEGIN); + } } else { ErrPrint("Invalid request[%s], %s\n", id, fbfile); } @@ -320,10 +329,11 @@ static struct packet *master_pd_update_begin(pid_t pid, int handle, const struct lb_set_lb_fb(handler, fbfile); ret = fb_sync(lb_get_lb_fb(handler)); - if (ret != LB_STATUS_SUCCESS) + if (ret != LB_STATUS_SUCCESS) { ErrPrint("Failed to do sync FB (%s - %s) (%d)\n", pkgname, fbfile, ret); - else + } else { lb_invoke_event_handler(handler, LB_EVENT_PD_UPDATE_BEGIN); + } } else { ErrPrint("Invalid request[%s], %s\n", id, fbfile); } @@ -498,14 +508,16 @@ static struct packet *master_lb_updated(pid_t pid, int handle, const struct pack } else if (lb_get_lb_fb(handler)) { lb_set_lb_fb(handler, fbfile); ret = fb_sync(lb_get_lb_fb(handler)); - if (ret != LB_STATUS_SUCCESS) + if (ret != LB_STATUS_SUCCESS) { ErrPrint("Failed to do sync FB (%s - %s) (%d)\n", pkgname, util_basename(util_uri_to_path(id)), ret); + } } else { ret = LB_STATUS_SUCCESS; } - if (ret == LB_STATUS_SUCCESS) + if (ret == LB_STATUS_SUCCESS) { lb_invoke_event_handler(handler, LB_EVENT_LB_UPDATED); + } out: return NULL; @@ -545,8 +557,9 @@ static struct packet *master_pd_created(pid_t pid, int handle, const struct pack } else { (void)lb_set_pd_fb(handler, buf_id); ret = fb_sync(lb_get_pd_fb(handler)); - if (ret < 0) + if (ret < 0) { ErrPrint("Failed to do sync FB (%s - %s)\n", pkgname, util_basename(util_uri_to_path(id))); + } } handler->is_pd_created = (status == 0); @@ -566,7 +579,7 @@ static struct packet *master_pd_created(pid_t pid, int handle, const struct pack * pd_create_cb must be reset. * Because, in the create callback, user can call create_pd function again. */ - DbgPrint("CREATE_PD\n"); + DbgPrint("PERF_DBOX\n"); cb(handler, status, cbdata); } else if (handler->is_pd_created) { lb_invoke_event_handler(handler, LB_EVENT_PD_CREATED); @@ -672,10 +685,11 @@ static struct packet *master_pd_updated(pid_t pid, int handle, const struct pack (void)lb_set_pd_fb(handler, fbfile); ret = fb_sync(lb_get_pd_fb(handler)); - if (ret < 0) + if (ret < 0) { ErrPrint("Failed to do sync FB (%s - %s), %d\n", pkgname, util_basename(util_uri_to_path(id)), ret); - else + } else { lb_invoke_event_handler(handler, LB_EVENT_PD_UPDATED); + } } out: @@ -713,8 +727,9 @@ static struct packet *master_update_mode(pid_t pid, int handle, const struct pac goto out; } - if (status == LB_STATUS_SUCCESS) + if (status == LB_STATUS_SUCCESS) { lb_set_update_mode(handler, active_mode); + } if (handler->update_mode_cb) { ret_cb_t cb; @@ -796,8 +811,9 @@ static struct packet *master_size_changed(pid_t pid, int handle, const struct pa lb_set_lb_fb(handler, fbfile); ret = fb_sync(lb_get_lb_fb(handler)); - if (ret < 0) + if (ret < 0) { ErrPrint("Failed to do sync FB (%s - %s)\n", pkgname, util_basename(util_uri_to_path(id))); + } /* Just update the size info only. */ } @@ -867,8 +883,9 @@ static struct packet *master_period_changed(pid_t pid, int handle, const struct goto out; } - if (status == 0) + if (status == 0) { lb_set_period(handler, period); + } if (handler->period_changed_cb) { ret_cb_t cb; @@ -921,8 +938,9 @@ static struct packet *master_group_changed(pid_t pid, int handle, const struct p goto out; } - if (status == 0) + if (status == 0) { (void)lb_set_group(handler, cluster, category); + } if (handler->group_changed_cb) { ret_cb_t cb; @@ -1055,12 +1073,14 @@ static struct packet *master_created(pid_t pid, int handle, const struct packet break; case _LB_TYPE_SCRIPT: case _LB_TYPE_BUFFER: - if (!strlen(lb_fname)) + if (!strlen(lb_fname)) { break; + } lb_set_lb_fb(handler, lb_fname); ret = fb_sync(lb_get_lb_fb(handler)); - if (ret < 0) + if (ret < 0) { ErrPrint("Failed to do sync FB (%s - %s)\n", pkgname, util_basename(util_uri_to_path(id))); + } break; case _LB_TYPE_TEXT: lb_set_text_lb(handler); @@ -1075,13 +1095,15 @@ static struct packet *master_created(pid_t pid, int handle, const struct packet switch (pd_type) { case _PD_TYPE_SCRIPT: case _PD_TYPE_BUFFER: - if (!strlen(pd_fname)) + if (!strlen(pd_fname)) { break; + } lb_set_pd_fb(handler, pd_fname); ret = fb_sync(lb_get_pd_fb(handler)); - if (ret < 0) + if (ret < 0) { ErrPrint("Failed to do sync FB (%s - %s)\n", pkgname, util_basename(util_uri_to_path(id))); + } break; case _PD_TYPE_TEXT: lb_set_text_pd(handler); @@ -1240,10 +1262,11 @@ static void acquire_cb(struct livebox *handler, const struct packet *result, voi } else { int ret; - if (packet_get(result, "i", &ret) != 1) + if (packet_get(result, "i", &ret) != 1) { ErrPrint("Invalid argument\n"); - else + } else { DbgPrint("Acquire returns: %d\n", ret); + } } return; @@ -1256,7 +1279,7 @@ static inline int make_connection(void) DbgPrint("Let's making connection!\n"); - s_info.fd = com_core_packet_client_init(CLIENT_SOCKET, 0, s_table); + s_info.fd = com_core_packet_client_init(client_addr(), 0, s_table); if (s_info.fd < 0) { ErrPrint("Try this again later\n"); return LB_STATUS_ERROR_IO; @@ -1290,8 +1313,9 @@ static void master_started_cb(keynode_t *node, void *data) { int state = 0; - if (vconf_get_bool(VCONFKEY_MASTER_STARTED, &state) < 0) + if (vconf_get_bool(VCONFKEY_MASTER_STARTED, &state) < 0) { ErrPrint("Unable to get [%s]\n", VCONFKEY_MASTER_STARTED); + } DbgPrint("Master state: %d\n", state); if (state == 1 && make_connection() == LB_STATUS_SUCCESS) { @@ -1303,10 +1327,11 @@ static void master_started_cb(keynode_t *node, void *data) static gboolean timeout_cb(gpointer data) { - if (vconf_notify_key_changed(VCONFKEY_MASTER_STARTED, master_started_cb, NULL) < 0) + if (vconf_notify_key_changed(VCONFKEY_MASTER_STARTED, master_started_cb, NULL) < 0) { ErrPrint("Failed to add vconf for monitoring service state\n"); - else + } else { DbgPrint("vconf event callback is registered\n"); + } master_started_cb(NULL, NULL); @@ -1345,12 +1370,26 @@ static int disconnected_cb(int handle, void *data) int client_init(void) { + s_info.client_addr = vconf_get_str(VCONFKEY_MASTER_CLIENT_ADDR); + if (!s_info.client_addr) { + s_info.client_addr = strdup(CLIENT_SOCKET); + if (!s_info.client_addr) { + ErrPrint("Heap: %s\n", strerror(errno)); + return -ENOMEM; + } + } + + (void)file_service_init(); + + DbgPrint("Server Address: %s\n", s_info.client_addr); + com_core_add_event_callback(CONNECTOR_DISCONNECTED, disconnected_cb, NULL); com_core_add_event_callback(CONNECTOR_CONNECTED, connected_cb, NULL); - if (vconf_notify_key_changed(VCONFKEY_MASTER_STARTED, master_started_cb, NULL) < 0) + if (vconf_notify_key_changed(VCONFKEY_MASTER_STARTED, master_started_cb, NULL) < 0) { ErrPrint("Failed to add vconf for service state\n"); - else + } else { DbgPrint("vconf event callback is registered\n"); + } master_started_cb(NULL, NULL); return 0; @@ -1363,19 +1402,26 @@ int client_fd(void) const char *client_addr(void) { - return CLIENT_SOCKET; + return s_info.client_addr; } int client_fini(void) { int ret; + + (void)file_service_fini(); + ret = vconf_ignore_key_changed(VCONFKEY_MASTER_STARTED, master_started_cb); - if (ret < 0) + if (ret < 0) { DbgPrint("Ignore vconf key: %d\n", ret); + } + com_core_del_event_callback(CONNECTOR_DISCONNECTED, disconnected_cb, NULL); com_core_del_event_callback(CONNECTOR_CONNECTED, connected_cb, NULL); com_core_packet_client_fini(s_info.fd); s_info.fd = -1; + free(s_info.client_addr); + s_info.client_addr = NULL; return LB_STATUS_SUCCESS; }