diff options
author | Marcin Masternak <m.masternak@samsung.com> | 2017-05-12 18:39:34 +0200 |
---|---|---|
committer | kj7.sung <kj7.sung@samsung.com> | 2017-07-11 18:48:53 +0900 |
commit | ba0597d159cad2860e3b6c670cc6ad5a75863811 (patch) | |
tree | f0529a1ddeb352c87db6dae148d0a83baa415282 | |
parent | efe7a0a398af31516d3c04813f5c972c8a9e016c (diff) | |
download | lbs-dbus-ba0597d159cad2860e3b6c670cc6ad5a75863811.tar.gz lbs-dbus-ba0597d159cad2860e3b6c670cc6ad5a75863811.tar.bz2 lbs-dbus-ba0597d159cad2860e3b6c670cc6ad5a75863811.zip |
Fused Locationsubmit/tizen/20170713.072054
Change-Id: Idf2623e4b47e5b63f5acb86325896a74b2daaab0
Signed-off-by: kj7.sung <kj7.sung@samsung.com>
Signed-off-by: Marcin Masternak <m.masternak@samsung.com>
-rw-r--r-- | client/include/lbs_dbus_client.h | 5 | ||||
-rwxr-xr-x | client/src/lbs_dbus_client.c | 11 | ||||
-rw-r--r-- | packaging/liblbs-dbus.spec | 2 | ||||
-rw-r--r-- | server/include/lbs_dbus_server.h | 10 | ||||
-rw-r--r-- | server/src/lbs_dbus_server.c | 11 |
5 files changed, 22 insertions, 17 deletions
diff --git a/client/include/lbs_dbus_client.h b/client/include/lbs_dbus_client.h index d3a64e6..6b03553 100644 --- a/client/include/lbs_dbus_client.h +++ b/client/include/lbs_dbus_client.h @@ -36,6 +36,7 @@ typedef enum { LBS_CLIENT_METHOD_GEOFENCE, LBS_CLIENT_METHOD_MOCK, LBS_CLIENT_METHOD_PASSIVE, + LBS_CLIENT_METHOD_FUSED } lbs_client_method_e; typedef enum { @@ -65,8 +66,8 @@ typedef void (*lbs_client_cb)(const char *sig, GVariant *param, void *user_data) int lbs_client_create(lbs_client_method_e method, lbs_client_dbus_h *lbs_client); int lbs_client_destroy(lbs_client_dbus_h lbs_client); -int lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client_callback_e callback_type, lbs_client_cb callback, void *user_data); -int lbs_client_stop(lbs_client_dbus_h lbs_client, unsigned int interval); +int lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client_callback_e callback_type, lbs_client_cb callback, int fused_mode, void *user_data); +int lbs_client_stop(lbs_client_dbus_h lbs_client, unsigned int interval, int fused_mode); int lbs_client_batch_start(lbs_client_dbus_h lbs_client, lbs_client_callback_e callback_type, lbs_client_cb callback, unsigned int batch_interval, unsigned int batch_period, void *user_data); int lbs_client_batch_stop(lbs_client_dbus_h lbs_client); diff --git a/client/src/lbs_dbus_client.c b/client/src/lbs_dbus_client.c index 0e92fa6..843a5cb 100755 --- a/client/src/lbs_dbus_client.c +++ b/client/src/lbs_dbus_client.c @@ -41,6 +41,7 @@ typedef struct _lbs_client_dbus_s { int batch_evt_id; int nmea_evt_id; int privacy_evt_id; + int fused_mode; unsigned int interval; lbs_client_cb user_cb; lbs_client_cb batch_cb; @@ -210,7 +211,7 @@ static void __privacy_setting_changed(GDBusConnection *conn, const gchar *name, g_free(pkg_id); g_free(privacy_id); - if (lbs_client_stop(handle, handle->interval) != LBS_CLIENT_ERROR_NONE) + if (lbs_client_stop(handle, handle->interval, handle->fused_mode) != LBS_CLIENT_ERROR_NONE) LBS_CLIENT_LOGE("lbs_client_stop is fail"); if (handle->user_cb) @@ -441,6 +442,7 @@ lbs_client_set_position_update_interval(lbs_client_dbus_h lbs_client, unsigned i g_variant_builder_add(builder, "{sv}", "INTERVAL_UPDATE", g_variant_new_uint32(interval)); g_variant_builder_add(builder, "{sv}", "PREV_INTERVAL", g_variant_new_uint32(prev_interval)); g_variant_builder_add(builder, "{sv}", "METHOD", g_variant_new_int32(handle->method)); + g_variant_builder_add(builder, "{sv}", "FUSED_MODE", g_variant_new_int32(handle->fused_mode)); param = g_variant_ref_sink(g_variant_new("(@a{sv})", g_variant_builder_end(builder))); method = g_variant_ref_sink(g_variant_new("(i)", handle->method)); @@ -543,7 +545,7 @@ lbs_client_batch_stop(lbs_client_dbus_h lbs_client) } EXPORT_API int -lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client_callback_e callback_type, lbs_client_cb callback, void *user_data) +lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client_callback_e callback_type, lbs_client_cb callback, int fused_mode, void *user_data) { LBS_CLIENT_LOGD("lbs_client_start"); g_return_val_if_fail(lbs_client, LBS_CLIENT_ERROR_PARAMETER); @@ -620,6 +622,7 @@ lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client g_variant_builder_add(builder, "{sv}", "CMD", g_variant_new_string("START")); g_variant_builder_add(builder, "{sv}", "METHOD", g_variant_new_int32(handle->method)); g_variant_builder_add(builder, "{sv}", "INTERVAL", g_variant_new_uint32(interval)); + g_variant_builder_add(builder, "{sv}", "FUSED_MODE", g_variant_new_int32(fused_mode)); if (__lbs_get_appid(&app_id)) { LBS_CLIENT_LOGD("[%s] Request START", app_id); @@ -702,12 +705,13 @@ lbs_client_start(lbs_client_dbus_h lbs_client, unsigned int interval, lbs_client lbs_client_privacy_signal_subcribe(handle); handle->is_started = TRUE; handle->interval = interval; + handle->fused_mode = fused_mode; return LBS_CLIENT_ERROR_NONE; } EXPORT_API int -lbs_client_stop(lbs_client_dbus_h lbs_client, unsigned int interval) +lbs_client_stop(lbs_client_dbus_h lbs_client, unsigned int interval, int fused_mode) { LBS_CLIENT_LOGD("lbs_client_stop [interval: %d]", interval); @@ -732,6 +736,7 @@ lbs_client_stop(lbs_client_dbus_h lbs_client, unsigned int interval) LBS_CLIENT_LOGD("METHOD: %d", handle->method); g_variant_builder_add(builder, "{sv}", "METHOD", g_variant_new_int32(handle->method)); g_variant_builder_add(builder, "{sv}", "INTERVAL", g_variant_new_uint32(interval)); + g_variant_builder_add(builder, "{sv}", "FUSED_MODE", g_variant_new_int32(fused_mode)); if (__lbs_get_appid(&app_id)) { LBS_CLIENT_LOGD("[%s] Request STOP", app_id); diff --git a/packaging/liblbs-dbus.spec b/packaging/liblbs-dbus.spec index 64561f4..afc9a85 100644 --- a/packaging/liblbs-dbus.spec +++ b/packaging/liblbs-dbus.spec @@ -1,6 +1,6 @@ Name: liblbs-dbus Summary: DBus interface for Location Based Service -Version: 1.0.3 +Version: 1.1.0 Release: 1 Group: Location/Libraries License: Apache-2.0 diff --git a/server/include/lbs_dbus_server.h b/server/include/lbs_dbus_server.h index e8bb001..7b55b05 100644 --- a/server/include/lbs_dbus_server.h +++ b/server/include/lbs_dbus_server.h @@ -120,6 +120,16 @@ lbs_server_create(char *service_name, 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); +typedef enum { + LBS_SERVER_METHOD_GPS = 0, + LBS_SERVER_METHOD_NPS, + LBS_SERVER_METHOD_AGPS, + LBS_SERVER_METHOD_GEOFENCE, + LBS_SERVER_METHOD_MOCK, + LBS_SERVER_METHOD_PASSIVE, + LBS_SERVER_METHOD_FUSED, + LBS_SERVER_METHOD_SIZE, +} lbs_server_method_e; __END_DECLS diff --git a/server/src/lbs_dbus_server.c b/server/src/lbs_dbus_server.c index cf32b7f..9bf0b3f 100644 --- a/server/src/lbs_dbus_server.c +++ b/server/src/lbs_dbus_server.c @@ -82,16 +82,6 @@ typedef struct _lbs_server_dbus_s { #endif } lbs_server_dbus_s; -typedef enum { - LBS_SERVER_METHOD_GPS = 0, - LBS_SERVER_METHOD_NPS, - LBS_SERVER_METHOD_AGPS, - LBS_SERVER_METHOD_GEOFENCE, - LBS_SERVER_METHOD_MOCK, - LBS_SERVER_METHOD_PASSIVE, - LBS_SERVER_METHOD_SIZE, -} lbs_server_method_e; - static gboolean lbs_dbus_setup_position_interface(LbsObjectSkeleton *object, lbs_server_dbus_s *ctx) { LBS_SERVER_LOGD("lbs_dbus_setup_position_interface"); @@ -725,7 +715,6 @@ lbs_server_emit_position_changed(lbs_server_dbus_h lbs_server, g_object_unref(lbs_pos); return LBS_SERVER_ERROR_NONE; - } EXPORT_API int |