LBS_CLIENT_METHOD_GEOFENCE,
LBS_CLIENT_METHOD_MOCK,
LBS_CLIENT_METHOD_PASSIVE,
+ LBS_CLIENT_METHOD_FUSED
} lbs_client_method_e;
typedef enum {
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);
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;
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)
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));
}
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);
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);
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);
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);
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
#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");
g_object_unref(lbs_pos);
return LBS_SERVER_ERROR_NONE;
-
}
EXPORT_API int