From 200a046d57bab70425290ac4a5acc87f30beb15b Mon Sep 17 00:00:00 2001 From: "kj7.sung" Date: Thu, 3 Aug 2017 11:54:05 +0900 Subject: Change interval table to support fused location Change-Id: I071cd58c6f0bd4bbd07af0ee300ecb4a28fa41f9 Signed-off-by: kj7.sung --- client/src/lbs_dbus_client.c | 2 +- server/CMakeLists.txt | 1 - server/include/lbs_dbus_server.h | 44 ++--- server/src/lbs_dbus_server.c | 359 +++++++++++++++++++-------------------- 4 files changed, 187 insertions(+), 219 deletions(-) diff --git a/client/src/lbs_dbus_client.c b/client/src/lbs_dbus_client.c index 0c47f2d..a016e58 100755 --- a/client/src/lbs_dbus_client.c +++ b/client/src/lbs_dbus_client.c @@ -58,7 +58,7 @@ static int __lbs_get_appid(char **app_id) } *app_id = (char *)g_malloc0(sizeof(char) * 64); g_strlcpy(*app_id, aid, 64); - LBS_CLIENT_LOGD("get_appid %s", *app_id); + LBS_CLIENT_LOGD("get_appid [%s]", *app_id); g_free(aid); return TRUE; diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index a701606..8cd0461 100755 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -19,7 +19,6 @@ SET_TARGET_PROPERTIES(lbs-dbus-server PROPERTIES VERSION 0.1.0 SOVERSION 0 OUTPU INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/lbs-dbus-server.conf DESTINATION ${PREFIX}/etc/dbus-1/system.d) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/lbs_dbus_server.h DESTINATION ${INCLUDEDIR}/lbs-dbus) INSTALL(TARGETS lbs-dbus-server DESTINATION ${LIBDIR} COMPONENT Runtime) -#ADD_SUBDIRECTORY(test_src) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/generated-code.c diff --git a/server/include/lbs_dbus_server.h b/server/include/lbs_dbus_server.h index b9ee004..b528cb1 100644 --- a/server/include/lbs_dbus_server.h +++ b/server/include/lbs_dbus_server.h @@ -30,6 +30,7 @@ typedef enum { LBS_SERVER_INTERVAL_ADD = 0, LBS_SERVER_INTERVAL_REMOVE, LBS_SERVER_INTERVAL_UPDATE, + LBS_SERVER_INTERVAL_REMOVE_CLIENT, } lbs_server_interval_manipulation_type; typedef gboolean(*LbsDbusUpdateIntervalCB)(lbs_server_interval_manipulation_type type, const gchar *client, int method, guint interval, guint prev_interval, gpointer userdata); typedef void (*LbsDbusRequestChangeIntervalCB)(int method, gpointer userdata); @@ -81,41 +82,20 @@ typedef struct _lbs_server_dbus_cb_t { } lbs_server_dbus_cb_t; -int lbs_server_emit_position_changed(lbs_server_dbus_h lbs_server, gint arg_method, gint arg_fields, gint arg_timestamp, +int lbs_server_emit_position_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_method, gint arg_fields, gint arg_timestamp, gdouble arg_latitude, gdouble arg_longitude, gdouble arg_altitude, gdouble arg_speed, gdouble arg_direction, gdouble arg_climb, GVariant *arg_accuracy); -int lbs_server_emit_batch_changed(lbs_server_dbus_h lbs_server, gint arg_num_of_location); -int lbs_server_emit_satellite_changed(lbs_server_dbus_h lbs_server, gint arg_timestamp, gint arg_satellite_used, gint arg_satellite_visible, GVariant *arg_used_prn, GVariant *arg_sat_info); -int lbs_server_emit_nmea_changed(lbs_server_dbus_h lbs_server, gint arg_timestamp, const gchar *arg_nmea_data); -int lbs_server_emit_status_changed(lbs_server_dbus_h lbs_server, int method, gint status); -int lbs_server_emit_geofence_status_changed(lbs_server_dbus_h lbs_server, gint status); -int lbs_server_emit_geofence_changed(lbs_server_dbus_h lbs_server, const gchar *app_id, gint fence_id, gint fence_state); -int lbs_server_emit_gps_geofence_status_changed(lbs_server_dbus_h lbs_server, gint status); -int lbs_server_emit_gps_geofence_changed(lbs_server_dbus_h lbs_server, gint fence_id, gint transition, gdouble latitude, gdouble longitude, gdouble altitude, gdouble speed, gdouble bearing, gdouble hor_accuracy); - - -#ifdef TIZEN_2_4 -int -lbs_server_create(char *service_name, - char *service_path, - char *name, - char *description, - lbs_server_dbus_h *lbs_server, - LbsDbusSetOptionsCB set_options_cb, - LbsDbusShutdownCB shutdown_cb, - LbsDbusUpdateIntervalCB update_interval_cb, - LbsDbusRequestChangeIntervalCB request_change_interval_cb, - LbsDbusGetNmeaCB get_nmea_cb, - GpsGeofenceAddFenceCB add_hw_fence_cb, - GpsGeofenceDeleteFenceCB delete_hw_fence_cb, - GpsGeofencePauseFenceCB pause_hw_fence_cb, - GpsGeofenceResumeFenceCB resume_hw_fence_cb, - gpointer userdata); - -#endif +int lbs_server_emit_batch_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_num_of_location); +int lbs_server_emit_satellite_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_timestamp, gint arg_satellite_used, gint arg_satellite_visible, GVariant *arg_used_prn, GVariant *arg_sat_info); +int lbs_server_emit_nmea_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_timestamp, const gchar *arg_nmea_data); +int lbs_server_emit_status_changed(lbs_server_dbus_h lbs_dbus_server, int method, gint status); +int lbs_server_emit_geofence_status_changed(lbs_server_dbus_h lbs_dbus_server, gint status); +int lbs_server_emit_geofence_changed(lbs_server_dbus_h lbs_dbus_server, const gchar *app_id, gint fence_id, gint fence_state); +int lbs_server_emit_gps_geofence_status_changed(lbs_server_dbus_h lbs_dbus_server, gint status); +int lbs_server_emit_gps_geofence_changed(lbs_server_dbus_h lbs_dbus_server, gint fence_id, gint transition, gdouble latitude, gdouble longitude, gdouble altitude, gdouble speed, gdouble bearing, gdouble hor_accuracy); /* Tizen 3.0 */ -int lbs_server_create(char *service_name, char *service_path, char *name, char *description, lbs_server_dbus_h *lbs_server, lbs_server_dbus_cb_t *lbs_server_cb, gpointer userdata); -int lbs_server_destroy(lbs_server_dbus_h lbs_server); +int lbs_server_create(char *service_name, char *service_path, char *name, char *description, lbs_server_dbus_h *lbs_dbus_server, lbs_server_dbus_cb_t *lbs_server_cb, gpointer userdata); +int lbs_server_destroy(lbs_server_dbus_h lbs_dbus_server); typedef enum { LBS_SERVER_METHOD_GPS = 0, diff --git a/server/src/lbs_dbus_server.c b/server/src/lbs_dbus_server.c index 7b9cf67..5f7f1af 100644 --- a/server/src/lbs_dbus_server.c +++ b/server/src/lbs_dbus_server.c @@ -79,10 +79,10 @@ typedef struct _lbs_server_dbus_s { #endif } lbs_server_dbus_s; -static gboolean lbs_dbus_setup_position_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) +static gboolean lbs_dbus_setup_position_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *handle) { LBS_SERVER_LOGD("lbs_dbus_setup_position_interface"); - if (!object || !ctx) + if (!object || !handle) return FALSE; LbsPosition *position = NULL; @@ -93,10 +93,10 @@ static gboolean lbs_dbus_setup_position_interface(LbsObjectSkeleton *object, lbs return TRUE; } -static gboolean lbs_dbus_setup_batch_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) +static gboolean lbs_dbus_setup_batch_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *handle) { LBS_SERVER_LOGD("lbs_dbus_setup_batch_interface"); - if (!object || !ctx) + if (!object || !handle) return FALSE; LbsBatch *batch = NULL; @@ -107,10 +107,10 @@ static gboolean lbs_dbus_setup_batch_interface(LbsObjectSkeleton *object, lbs_se return TRUE; } -static gboolean lbs_dbus_setup_satellite_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) +static gboolean lbs_dbus_setup_satellite_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *handle) { LBS_SERVER_LOGD("lbs_dbus_setup_satellite_interface"); - if (!object || !ctx) + if (!object || !handle) return FALSE; LbsSatellite *sat = NULL; @@ -121,10 +121,10 @@ static gboolean lbs_dbus_setup_satellite_interface(LbsObjectSkeleton *object, lb return TRUE; } -static gboolean lbs_dbus_setup_nmea_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) +static gboolean lbs_dbus_setup_nmea_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *handle) { LBS_SERVER_LOGD("lbs_dbus_setup_nmea_interface"); - if (!object || !ctx) + if (!object || !handle) return FALSE; LbsNmea *nmea = NULL; @@ -135,10 +135,10 @@ static gboolean lbs_dbus_setup_nmea_interface(LbsObjectSkeleton *object, lbs_ser return TRUE; } -static gboolean lbs_dbus_setup_gps_geofence_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) +static gboolean lbs_dbus_setup_gps_geofence_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *handle) { LBS_SERVER_LOGD("lbs_dbus_setup_gps_geofence_interface"); - if (!object || !ctx) + if (!object || !handle) return FALSE; LbsGpsGeofence *gps_geofence = NULL; @@ -154,12 +154,12 @@ static gboolean on_manager_getproviderinfo(LbsManager *mgr, GDBusMethodInvocation *invocation, gpointer user_data) { LBS_SERVER_LOGD("on_manager_getproviderinfo"); - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->name && ctx->description) - lbs_manager_complete_get_provider_info(mgr, invocation, ctx->name, ctx->description); + if (handle->name && handle->description) + lbs_manager_complete_get_provider_info(mgr, invocation, handle->name, handle->description); else lbs_manager_complete_get_provider_info(mgr, invocation, NULL, NULL); @@ -170,11 +170,11 @@ static gboolean on_manager_getstatus(LbsManager *mgr, GDBusMethodInvocation *invocation, gpointer user_data) { LBS_SERVER_LOGD("on_manager_getstatus"); - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - lbs_manager_complete_get_status(mgr, invocation, ctx->status); + lbs_manager_complete_get_status(mgr, invocation, handle->status); return TRUE; } @@ -182,15 +182,15 @@ on_manager_getstatus(LbsManager *mgr, GDBusMethodInvocation *invocation, gpointe static gboolean on_nmea_getnmea(LbsNmea *nmea, GDBusMethodInvocation *invocation, gpointer user_data) { - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; gint timestamp = 0; gchar *nmea_data = NULL; - if (ctx->get_nmea_cb) { - ctx->get_nmea_cb(×tamp, &nmea_data, ctx->userdata); + if (handle->get_nmea_cb) { + handle->get_nmea_cb(×tamp, &nmea_data, handle->userdata); LBS_SERVER_LOGD("timestmap: %d, nmea_data: %s", timestamp, nmea_data); } lbs_nmea_complete_get_nmea(nmea, invocation, timestamp, nmea_data); @@ -203,14 +203,14 @@ static gboolean on_manager_setoptions(LbsManager *mgr, GDBusMethodInvocation *invocation, GVariant *options, gpointer user_data) { LBS_SERVER_LOGD("ENTER >>>"); - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->set_options_cb) { + if (handle->set_options_cb) { const gchar *sender = NULL; sender = g_dbus_method_invocation_get_sender(invocation); - ctx->set_options_cb(options, sender, ctx->userdata); + handle->set_options_cb(options, sender, handle->userdata); LBS_SERVER_LOGD("set_options_cb was called"); } @@ -225,25 +225,25 @@ on_manager_addreference(LbsManager *mgr, GDBusMethodInvocation *invocation, int LBS_SERVER_LOGD("method: %d", method); if (method < 0 || method >= LBS_SERVER_METHOD_SIZE) return FALSE; - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; const gchar *sender = NULL; - gchar *sender_cp = NULL; + gchar *client = NULL; int count = 0; /* Update the hash of open connections */ sender = g_dbus_method_invocation_get_sender(invocation); - sender_cp = g_strdup(sender); + client = g_strdup(sender); - int *count_arr = (int *) g_hash_table_lookup(ctx->connections, sender_cp); + int *count_arr = (int *) g_hash_table_lookup(handle->connections, client); if (!count_arr) { - LBS_SERVER_LOGD("first add for sender %s ", sender_cp); + LBS_SERVER_LOGD("first add for sender %s ", client); count_arr = (int *)g_malloc0(LBS_SERVER_METHOD_SIZE * sizeof(int)); g_return_val_if_fail(count_arr, FALSE); - g_hash_table_insert(ctx->connections, (gpointer)sender_cp, (gpointer)count_arr); + g_hash_table_insert(handle->connections, (gpointer)client, (gpointer)count_arr); } count = count_arr[method]; @@ -251,10 +251,10 @@ on_manager_addreference(LbsManager *mgr, GDBusMethodInvocation *invocation, int if (count <= 0) { count = 1; - LBS_SERVER_LOGE("Client reference count set to 1 for sender [%s] of method [%d]", sender_cp, method); + LBS_SERVER_LOGE("Client reference count set to 1 for client [%s] of method [%d]", client, method); } - LBS_SERVER_LOGD("sender [%s], method[%d], count [%d] is inserted in hash table", sender_cp, method, count); + LBS_SERVER_LOGD("client [%s], method[%d], count [%d] is inserted in hash table", client, method, count); count_arr[method] = count; @@ -269,19 +269,20 @@ static gboolean lbs_find_method(gpointer key, gpointer value, gpointer user_data int *arr = (int *) value; int method = *ip; - LBS_SERVER_LOGD("[%s] lbs_find_method method:%d, count:%d", (char *)key, method, arr[method]); + if (arr[method] > 0) + LBS_SERVER_LOGD("[%s] lbs_find_method method: %d, count: %d", (char *)key, method, arr[method]); return (arr[method] > 0) ? TRUE : FALSE; } static gboolean -lbs_server_remove_client(lbs_server_dbus_s *ctx, const char *client, int method) +lbs_server_remove_client(lbs_server_dbus_s *handle, const char *client, int method) { - if (!ctx || !client) + if (!handle || !client) return FALSE; int count = 0; - int *count_arr = (int *) g_hash_table_lookup(ctx->connections, client); + int *count_arr = (int *) g_hash_table_lookup(handle->connections, client); if (!count_arr) { LBS_SERVER_LOGD("Client[%s] Method[%d] is already removed", client, method); @@ -313,7 +314,7 @@ lbs_server_remove_client(lbs_server_dbus_s *ctx, const char *client, int method) } } - if (!g_hash_table_remove(ctx->connections, client)) + if (!g_hash_table_remove(handle->connections, client)) LBS_SERVER_LOGE("g_hash_table_remove is Fail"); } @@ -321,23 +322,23 @@ lbs_server_remove_client(lbs_server_dbus_s *ctx, const char *client, int method) gboolean *shutdown_arr = (gboolean *) g_malloc0_n(LBS_SERVER_METHOD_SIZE, sizeof(gboolean)); g_return_val_if_fail(shutdown_arr, FALSE); - if (g_hash_table_size(ctx->connections) == 0) { - LBS_SERVER_SECLOG("Hash table size is zero, Now shutdown provider[%s]", ctx->name); + if (g_hash_table_size(handle->connections) == 0) { + LBS_SERVER_SECLOG("Hash table size is zero, Now shutdown provider[%s]", handle->name); for (; index < LBS_SERVER_METHOD_SIZE; index++) shutdown_arr[index] = TRUE; } else { LBS_SERVER_SECLOG("Hash table size is not zero"); for (; index < LBS_SERVER_METHOD_SIZE ; index++) { - if (g_hash_table_find(ctx->connections, (GHRFunc)lbs_find_method, &index) == NULL) { + if (g_hash_table_find(handle->connections, (GHRFunc)lbs_find_method, &index) == NULL) { shutdown_arr[index] = TRUE; continue; } } } - if (ctx->shutdown_cb) { - ctx->shutdown_cb(ctx->userdata, shutdown_arr); + if (handle->shutdown_cb) { + handle->shutdown_cb(handle->userdata, shutdown_arr); LBS_SERVER_LOGD("shutdown_cb called.. gps:%d, nps:%d", shutdown_arr[LBS_SERVER_METHOD_GPS], shutdown_arr[LBS_SERVER_METHOD_NPS]); } @@ -351,13 +352,13 @@ static gboolean on_manager_removereference(LbsManager *mgr, GDBusMethodInvocatio LBS_SERVER_LOGD("method: %d", method); if (method < 0 || method >= LBS_SERVER_METHOD_SIZE) return FALSE; - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; const gchar *sender = NULL; sender = g_dbus_method_invocation_get_sender(invocation); - if (!lbs_server_remove_client(ctx, sender, method)) + if (!lbs_server_remove_client(handle, sender, method)) LBS_SERVER_LOGD("Unreffed by client that has not been referenced"); lbs_manager_complete_remove_reference(mgr, invocation); @@ -369,28 +370,20 @@ static gboolean on_manager_removereference(LbsManager *mgr, GDBusMethodInvocatio * For H/W gps-geofence methods */ static gboolean -on_gps_geofence_addfence(LbsGpsGeofence *gps_geofence, - GDBusMethodInvocation *invocation, - gint fence_id, - gdouble latitude, - gdouble longitude, - gint radius, - gint last_state, - gint monitor_states, - gint notification_responsiveness, - gint unknown_timer, - gpointer user_data) +on_gps_geofence_addfence(LbsGpsGeofence *gps_geofence, GDBusMethodInvocation *invocation, + gint fence_id, gdouble latitude, gdouble longitude, gint radius, gint last_state, + gint monitor_states, gint notification_responsiveness, gint unknown_timer, gpointer user_data) { LBS_SERVER_LOGD("on_gps_geofence_addfence"); /* call gps-manager's callback, add_hw_fence_cb */ - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->add_hw_fence_cb) { - ctx->add_hw_fence_cb(fence_id, latitude, longitude, radius, last_state, monitor_states, - notification_responsiveness, unknown_timer, ctx->userdata); + if (handle->add_hw_fence_cb) { + handle->add_hw_fence_cb(fence_id, latitude, longitude, radius, last_state, monitor_states, + notification_responsiveness, unknown_timer, handle->userdata); LBS_SERVER_LOGD("add_hw_fence_cb called"); } lbs_gps_geofence_complete_add_fence(gps_geofence, invocation); @@ -403,12 +396,12 @@ on_gps_geofence_deletefence(LbsGpsGeofence *gps_geofence, GDBusMethodInvocation LBS_SERVER_LOGD("on_gps_geofence_deletefence"); /* call gps-manager's callback, delete_hw_fence_cb */ - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->delete_hw_fence_cb) { - ctx->delete_hw_fence_cb(fence_id, ctx->userdata); + if (handle->delete_hw_fence_cb) { + handle->delete_hw_fence_cb(fence_id, handle->userdata); LBS_SERVER_LOGD("delete_hw_fence_cb called"); } lbs_gps_geofence_complete_delete_fence(gps_geofence, invocation); @@ -421,12 +414,12 @@ on_gps_geofence_pausefence(LbsGpsGeofence *gps_geofence, GDBusMethodInvocation * LBS_SERVER_LOGD("on_gps_geofence_pausefence"); /* call gps-manager's callback, pause_hw_fence_cb */ - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->pause_hw_fence_cb) { - ctx->pause_hw_fence_cb(fence_id, ctx->userdata); + if (handle->pause_hw_fence_cb) { + handle->pause_hw_fence_cb(fence_id, handle->userdata); LBS_SERVER_LOGD("pause_hw_fence_cb called"); } @@ -439,13 +432,13 @@ on_gps_geofence_resumefence(LbsGpsGeofence *gps_geofence, GDBusMethodInvocation { LBS_SERVER_LOGD("on_gps_geofence_resumefence"); - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; /* call gps-manager's callback, resume_hw_fence_cb */ - if (ctx->resume_hw_fence_cb) { - ctx->resume_hw_fence_cb(fence_id, monitor_states, ctx->userdata); + if (handle->resume_hw_fence_cb) { + handle->resume_hw_fence_cb(fence_id, monitor_states, handle->userdata); LBS_SERVER_LOGD("resume_hw_fence_cb called"); } @@ -464,12 +457,12 @@ on_manager_setmocklocation(LbsManager *mgr, GDBusMethodInvocation *invocation, g LBS_SERVER_LOGD("on_manager_setmocklocation [method: %d]", method); if (method < 0 || method >= LBS_SERVER_METHOD_SIZE) return FALSE; - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return FALSE; - if (ctx->set_mock_location_cb) { - ctx->set_mock_location_cb(method, latitude, longitude, altitude, speed, direction, accuracy, ctx->userdata); + if (handle->set_mock_location_cb) { + handle->set_mock_location_cb(method, latitude, longitude, altitude, speed, direction, accuracy, handle->userdata); LBS_SERVER_LOGD("set_mock_location_cb was called"); } @@ -483,16 +476,16 @@ static gboolean lbs_remove_client_by_force(const char *client, void *data) { LBS_SERVER_LOGD("remove client by force for client [%s]", client); - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)data; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)data; - int *count_arr = (int *) g_hash_table_lookup(ctx->connections, client); + int *count_arr = (int *) g_hash_table_lookup(handle->connections, client); if (!count_arr) { LBS_SERVER_LOGD("Client[%s] is already removed", client); return FALSE; } else { LBS_SERVER_LOGD("[Client: %s]. Remove all clients in hash table", client); - if (!g_hash_table_remove(ctx->connections, client)) + if (!g_hash_table_remove(handle->connections, client)) LBS_SERVER_LOGE("g_hash_table_remove is Fail"); } @@ -500,38 +493,37 @@ lbs_remove_client_by_force(const char *client, void *data) gboolean *shutdown_arr = (gboolean *) g_malloc0_n(LBS_SERVER_METHOD_SIZE, sizeof(gboolean)); g_return_val_if_fail(shutdown_arr, FALSE); - if (g_hash_table_size(ctx->connections) == 0) { - LBS_SERVER_SECLOG("Hash table size is zero, Now shutdown provider[%s]", ctx->name); + if (g_hash_table_size(handle->connections) == 0) { + LBS_SERVER_SECLOG("Hash table size is zero, Now shutdown provider[%s]", handle->name); for (; index < LBS_SERVER_METHOD_SIZE; index++) shutdown_arr[index] = TRUE; } else { LBS_SERVER_SECLOG("Hash table size is not zero"); for (; index < LBS_SERVER_METHOD_SIZE ; index++) { - if (g_hash_table_find(ctx->connections, (GHRFunc)lbs_find_method, &index) == NULL) { + if (g_hash_table_find(handle->connections, (GHRFunc)lbs_find_method, &index) == NULL) { shutdown_arr[index] = TRUE; continue; } } } - if (ctx->shutdown_cb) { - ctx->shutdown_cb(ctx->userdata, shutdown_arr); - LBS_SERVER_LOGD("shutdown_cb called.. gps:%d, nps:%d", + if (handle->shutdown_cb) { + handle->shutdown_cb(handle->userdata, shutdown_arr); + LBS_SERVER_LOGD("shutdown_cb called.. gps: %d, nps: %d", shutdown_arr[LBS_SERVER_METHOD_GPS], shutdown_arr[LBS_SERVER_METHOD_NPS]); } - if (ctx->update_interval_cb) { + if (handle->update_interval_cb) { gboolean is_needed_change_interval = FALSE; for (index = 0; index < LBS_SERVER_METHOD_SIZE ; index++) { - is_needed_change_interval = ctx->update_interval_cb(LBS_SERVER_INTERVAL_REMOVE, client, index, 0, 0, ctx->userdata); + is_needed_change_interval = handle->update_interval_cb(LBS_SERVER_INTERVAL_REMOVE, client, index, 0, 0, handle->userdata); if (is_needed_change_interval) { is_needed_change_interval = FALSE; - if (ctx->request_change_interval_cb) - ctx->request_change_interval_cb(index, ctx->userdata); + if (handle->request_change_interval_cb) + handle->request_change_interval_cb(index, handle->userdata); } } - } LBS_SERVER_LOGD("###### A client[%s] is abnormally shut down ########", client); @@ -555,13 +547,10 @@ lbs_scan_sender(char *key, char *value, gpointer user_data) } static void -on_name_owner_changed(GDBusConnection *connection, - const gchar *sender_name, - const gchar *object_path, - const gchar *interface_name, - const gchar *signal_name, - GVariant *parameters, /* 1. service name 2. prev_owner 3. new_owner */ - gpointer user_data) +on_name_owner_changed(GDBusConnection *connection, const gchar *sender_name, + const gchar *object_path, const gchar *interface_name, const gchar *signal_name, + GVariant *parameters, /* 1. service name 2. prev_owner 3. new_owner */ + gpointer user_data) { lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; g_return_if_fail(handle); @@ -592,8 +581,8 @@ out: static void on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { - lbs_server_dbus_s *ctx = (lbs_server_dbus_s *)user_data; - if (!ctx) + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)user_data; + if (!handle) return; LbsManager *mgr = NULL; @@ -603,7 +592,7 @@ static void on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer u LBS_SERVER_LOGD("dbus registered"); /* create object for each interfaces*/ - path = g_strdup_printf("%s/%s", ctx->service_path, "SAMSUNG"); + path = g_strdup_printf("%s/%s", handle->service_path, "SAMSUNG"); if (path == NULL) { LBS_SERVER_LOGE("path is NULL"); path = NULL; @@ -617,66 +606,66 @@ static void on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer u } g_free(path); - ctx->obj_skeleton = object; - lbs_dbus_setup_position_interface(object, ctx); - lbs_dbus_setup_batch_interface(object, ctx); - lbs_dbus_setup_satellite_interface(object, ctx); - lbs_dbus_setup_nmea_interface(object, ctx); + handle->obj_skeleton = object; + lbs_dbus_setup_position_interface(object, handle); + lbs_dbus_setup_batch_interface(object, handle); + lbs_dbus_setup_satellite_interface(object, handle); + lbs_dbus_setup_nmea_interface(object, handle); /* add H/W gps-geofence interface */ - lbs_dbus_setup_gps_geofence_interface(object, ctx); - g_dbus_object_manager_server_export(ctx->manager, G_DBUS_OBJECT_SKELETON(object)); + lbs_dbus_setup_gps_geofence_interface(object, handle); + g_dbus_object_manager_server_export(handle->manager, G_DBUS_OBJECT_SKELETON(object)); /* Add interface to default object path */ mgr = lbs_manager_skeleton_new(); - ctx->get_providerinfo_h = g_signal_connect(mgr, "handle-get-provider-info", G_CALLBACK(on_manager_getproviderinfo), ctx); - ctx->get_status_h = g_signal_connect(mgr, "handle-get-status", G_CALLBACK(on_manager_getstatus), ctx); - if (ctx->set_options_cb != NULL) - ctx->set_option_h = g_signal_connect(mgr, "handle-set-options", G_CALLBACK(on_manager_setoptions), ctx); + handle->get_providerinfo_h = g_signal_connect(mgr, "handle-get-provider-info", G_CALLBACK(on_manager_getproviderinfo), handle); + handle->get_status_h = g_signal_connect(mgr, "handle-get-status", G_CALLBACK(on_manager_getstatus), handle); + if (handle->set_options_cb != NULL) + handle->set_option_h = g_signal_connect(mgr, "handle-set-options", G_CALLBACK(on_manager_setoptions), handle); - ctx->add_reference_h = g_signal_connect(mgr, "handle-add-reference", G_CALLBACK(on_manager_addreference), ctx); - if (ctx->shutdown_cb) - ctx->remove_reference_h = g_signal_connect(mgr, "handle-remove-reference", G_CALLBACK(on_manager_removereference), ctx); + handle->add_reference_h = g_signal_connect(mgr, "handle-add-reference", G_CALLBACK(on_manager_addreference), handle); + if (handle->shutdown_cb) + handle->remove_reference_h = g_signal_connect(mgr, "handle-remove-reference", G_CALLBACK(on_manager_removereference), handle); /* Tizen 3.0 */ - if (ctx->set_mock_location_cb) - ctx->set_mock_location_h = g_signal_connect(mgr, "handle-set-mock-location", G_CALLBACK(on_manager_setmocklocation), ctx); + if (handle->set_mock_location_cb) + handle->set_mock_location_h = g_signal_connect(mgr, "handle-set-mock-location", G_CALLBACK(on_manager_setmocklocation), handle); /* Add interface for nmea method*/ LbsNmea *nmea = NULL; nmea = lbs_nmea_skeleton_new(); - ctx->get_nmea_h = g_signal_connect(nmea, "handle-get-nmea", G_CALLBACK(on_nmea_getnmea), ctx); + handle->get_nmea_h = g_signal_connect(nmea, "handle-get-nmea", G_CALLBACK(on_nmea_getnmea), handle); /* register callback for each methods for H/W gps-geofence */ LbsGpsGeofence *gps_geofence = NULL; - if (ctx->obj_skeleton) { - gps_geofence = lbs_object_get_gps_geofence(LBS_OBJECT(ctx->obj_skeleton)); + if (handle->obj_skeleton) { + gps_geofence = lbs_object_get_gps_geofence(LBS_OBJECT(handle->obj_skeleton)); if (gps_geofence) { - if (ctx->add_hw_fence_cb) - ctx->add_hw_fence_h = g_signal_connect(gps_geofence, "handle-add-fence", G_CALLBACK(on_gps_geofence_addfence), ctx); + if (handle->add_hw_fence_cb) + handle->add_hw_fence_h = g_signal_connect(gps_geofence, "handle-add-fence", G_CALLBACK(on_gps_geofence_addfence), handle); - if (ctx->delete_hw_fence_cb) - ctx->delete_hw_fence_h = g_signal_connect(gps_geofence, "handle-delete-fence", G_CALLBACK(on_gps_geofence_deletefence), ctx); + if (handle->delete_hw_fence_cb) + handle->delete_hw_fence_h = g_signal_connect(gps_geofence, "handle-delete-fence", G_CALLBACK(on_gps_geofence_deletefence), handle); - if (ctx->pause_hw_fence_cb) - ctx->pause_hw_fence_h = g_signal_connect(gps_geofence, "handle-pause-fence", G_CALLBACK(on_gps_geofence_pausefence), ctx); + if (handle->pause_hw_fence_cb) + handle->pause_hw_fence_h = g_signal_connect(gps_geofence, "handle-pause-fence", G_CALLBACK(on_gps_geofence_pausefence), handle); - if (ctx->resume_hw_fence_cb) - ctx->resume_hw_fence_h = g_signal_connect(gps_geofence, "handle-resume-fence", G_CALLBACK(on_gps_geofence_resumefence), ctx); + if (handle->resume_hw_fence_cb) + handle->resume_hw_fence_h = g_signal_connect(gps_geofence, "handle-resume-fence", G_CALLBACK(on_gps_geofence_resumefence), handle); g_object_unref(gps_geofence); } } - ctx->owner_changed_id = g_dbus_connection_signal_subscribe(conn, + handle->owner_changed_id = g_dbus_connection_signal_subscribe(conn, "org.freedesktop.DBus", "org.freedesktop.DBus", "NameOwnerChanged", "/org/freedesktop/DBus", NULL, - G_DBUS_SIGNAL_FLAGS_NONE, on_name_owner_changed, ctx, NULL); + G_DBUS_SIGNAL_FLAGS_NONE, on_name_owner_changed, handle, NULL); - g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(mgr), conn, ctx->service_path, NULL); - g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(nmea), conn, ctx->service_path, NULL); + g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(mgr), conn, handle->service_path, NULL); + g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(nmea), conn, handle->service_path, NULL); - g_dbus_object_manager_server_set_connection(ctx->manager, conn); + g_dbus_object_manager_server_set_connection(handle->manager, conn); LBS_SERVER_LOGD("done to acquire the dbus"); } @@ -692,14 +681,14 @@ static void on_name_lost(GDBusConnection *connection, const gchar *name, gpointe } EXPORT_API int -lbs_server_emit_position_changed(lbs_server_dbus_h lbs_server, +lbs_server_emit_position_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_method, gint arg_fields, gint arg_timestamp, gdouble arg_latitude, gdouble arg_longitude, gdouble arg_altitude, gdouble arg_speed, gdouble arg_direction, gdouble arg_climb, GVariant *arg_accuracy) { - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); g_return_val_if_fail(arg_accuracy, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsPosition *lbs_pos = NULL; @@ -715,11 +704,11 @@ lbs_server_emit_position_changed(lbs_server_dbus_h lbs_server, } EXPORT_API int -lbs_server_emit_batch_changed(lbs_server_dbus_h lbs_server, gint arg_num_of_location) +lbs_server_emit_batch_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_num_of_location) { - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsBatch *lbs_batch = NULL; @@ -734,13 +723,13 @@ lbs_server_emit_batch_changed(lbs_server_dbus_h lbs_server, gint arg_num_of_loca } EXPORT_API int -lbs_server_emit_satellite_changed(lbs_server_dbus_h lbs_server, gint arg_timestamp, gint arg_satellite_used, gint arg_satellite_visible, GVariant *arg_used_prn, GVariant *arg_sat_info) +lbs_server_emit_satellite_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_timestamp, gint arg_satellite_used, gint arg_satellite_visible, GVariant *arg_used_prn, GVariant *arg_sat_info) { - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); g_return_val_if_fail(arg_used_prn, LBS_SERVER_ERROR_PARAMETER); g_return_val_if_fail(arg_sat_info, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsSatellite *sat = NULL; @@ -754,14 +743,14 @@ lbs_server_emit_satellite_changed(lbs_server_dbus_h lbs_server, gint arg_timesta } EXPORT_API int -lbs_server_emit_nmea_changed(lbs_server_dbus_h lbs_server, gint arg_timestamp, const gchar *arg_nmea_data) +lbs_server_emit_nmea_changed(lbs_server_dbus_h lbs_dbus_server, gint arg_timestamp, const gchar *arg_nmea_data) { LBS_SERVER_LOGW("timestamp: %d, nmea_data: %s", arg_timestamp, arg_nmea_data); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); g_return_val_if_fail(arg_nmea_data, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsNmea *nmea = NULL; @@ -775,12 +764,12 @@ lbs_server_emit_nmea_changed(lbs_server_dbus_h lbs_server, gint arg_timestamp, c } EXPORT_API int -lbs_server_emit_status_changed(lbs_server_dbus_h lbs_server, int method, gint status) +lbs_server_emit_status_changed(lbs_server_dbus_h lbs_dbus_server, int method, gint status) { LBS_SERVER_LOGD("method: %d, status: %d", method, status); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsManager *lbs_mgr = NULL; @@ -796,12 +785,12 @@ lbs_server_emit_status_changed(lbs_server_dbus_h lbs_server, int method, gint st /* gps-manager -> geofence-manager : enable/disable */ EXPORT_API int -lbs_server_emit_gps_geofence_status_changed(lbs_server_dbus_h lbs_server, gint status) +lbs_server_emit_gps_geofence_status_changed(lbs_server_dbus_h lbs_dbus_server, gint status) { LBS_SERVER_LOGD("ENTER >>>"); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsGpsGeofence *gps_geofence = NULL; @@ -817,12 +806,12 @@ lbs_server_emit_gps_geofence_status_changed(lbs_server_dbus_h lbs_server, gint s /* gps-manager -> geofence-manger: fence in/out */ EXPORT_API int -lbs_server_emit_gps_geofence_changed(lbs_server_dbus_h lbs_server, gint fence_id, gint transition, gdouble latitude, gdouble longitude, gdouble altitude, gdouble speed, gdouble bearing, gdouble hor_accuracy) +lbs_server_emit_gps_geofence_changed(lbs_server_dbus_h lbs_dbus_server, gint fence_id, gint transition, gdouble latitude, gdouble longitude, gdouble altitude, gdouble speed, gdouble bearing, gdouble hor_accuracy) { LBS_SERVER_LOGD("ENTER >>>"); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; g_return_val_if_fail(handle->obj_skeleton, LBS_SERVER_ERROR_PARAMETER); LbsGpsGeofence *gps_geofence = NULL; @@ -841,69 +830,69 @@ static void _glib_log(const gchar *log_domain, GLogLevelFlags log_level, const g } EXPORT_API int -lbs_server_create(char *service_name, char *service_path, char *name, char *description, lbs_server_dbus_h *lbs_server, lbs_server_dbus_cb_t *lbs_server_cb, gpointer userdata) +lbs_server_create(char *service_name, char *service_path, char *name, char *description, lbs_server_dbus_h *lbs_dbus_server, lbs_server_dbus_cb_t *lbs_server_cb, gpointer userdata) { LBS_SERVER_LOGD("ENTER >>>"); g_return_val_if_fail(service_name, LBS_SERVER_ERROR_PARAMETER); g_return_val_if_fail(service_path, LBS_SERVER_ERROR_PARAMETER); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); int ret = LBS_SERVER_ERROR_NONE; - lbs_server_dbus_s *server = g_new0(lbs_server_dbus_s, 1); - g_return_val_if_fail(server, LBS_SERVER_ERROR_MEMORY); + lbs_server_dbus_s *handle = g_new0(lbs_server_dbus_s, 1); + g_return_val_if_fail(handle, LBS_SERVER_ERROR_MEMORY); g_log_set_default_handler(_glib_log, NULL); - server->service_name = g_strdup(service_name); - server->service_path = g_strdup(service_path); - server->manager = g_dbus_object_manager_server_new(server->service_path); + handle->service_name = g_strdup(service_name); + handle->service_path = g_strdup(service_path); + handle->manager = g_dbus_object_manager_server_new(handle->service_path); if (name) - server->name = g_strdup(name); + handle->name = g_strdup(name); if (description) - server->description = g_strdup(description); + handle->description = g_strdup(description); - server->connections = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); - server->userdata = userdata; + handle->connections = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); + handle->userdata = userdata; #if TIZEN_3_0_OPT - server->callback = lbs_server_cb; + handle->callback = lbs_server_cb; #endif - server->set_options_cb = lbs_server_cb->set_options_cb; - server->shutdown_cb = lbs_server_cb->shutdown_cb; - server->update_interval_cb = lbs_server_cb->update_interval_cb; - server->request_change_interval_cb = lbs_server_cb->request_change_interval_cb; - server->get_nmea_cb = lbs_server_cb->get_nmea_cb; + handle->set_options_cb = lbs_server_cb->set_options_cb; + handle->shutdown_cb = lbs_server_cb->shutdown_cb; + handle->update_interval_cb = lbs_server_cb->update_interval_cb; + handle->request_change_interval_cb = lbs_server_cb->request_change_interval_cb; + handle->get_nmea_cb = lbs_server_cb->get_nmea_cb; /* Tizen 3.0 */ - server->set_mock_location_cb = lbs_server_cb->set_mock_location_cb; + handle->set_mock_location_cb = lbs_server_cb->set_mock_location_cb; /* add H/W gps-gefence callbacks */ - server->add_hw_fence_cb = lbs_server_cb->add_hw_fence_cb; - server->delete_hw_fence_cb = lbs_server_cb->delete_hw_fence_cb; - server->pause_hw_fence_cb = lbs_server_cb->pause_hw_fence_cb; - server->resume_hw_fence_cb = lbs_server_cb->resume_hw_fence_cb; - server->owner_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, - service_name, G_BUS_NAME_OWNER_FLAGS_REPLACE, on_bus_acquired, on_name_acquired, on_name_lost, server, NULL); + handle->add_hw_fence_cb = lbs_server_cb->add_hw_fence_cb; + handle->delete_hw_fence_cb = lbs_server_cb->delete_hw_fence_cb; + handle->pause_hw_fence_cb = lbs_server_cb->pause_hw_fence_cb; + handle->resume_hw_fence_cb = lbs_server_cb->resume_hw_fence_cb; + handle->owner_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, + service_name, G_BUS_NAME_OWNER_FLAGS_REPLACE, on_bus_acquired, on_name_acquired, on_name_lost, handle, NULL); - LBS_SERVER_LOGD("g_bus_own_name id=[%d]", server->owner_id); + LBS_SERVER_LOGD("g_bus_own_name id=[%d]", handle->owner_id); - *lbs_server = (lbs_server_dbus_h *)server; + *lbs_dbus_server = (lbs_server_dbus_h *)handle; return ret; } EXPORT_API int -lbs_server_destroy(lbs_server_dbus_h lbs_server) +lbs_server_destroy(lbs_server_dbus_h lbs_dbus_server) { LBS_SERVER_LOGD("ENTER >>>"); - g_return_val_if_fail(lbs_server, LBS_SERVER_ERROR_PARAMETER); + g_return_val_if_fail(lbs_dbus_server, LBS_SERVER_ERROR_PARAMETER); - lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_server; + lbs_server_dbus_s *handle = (lbs_server_dbus_s *)lbs_dbus_server; int ret = LBS_SERVER_ERROR_NONE; -- cgit v1.2.3