pos_data_t *gps_pos_data = NULL;
sv_data_t *gps_sv_data = NULL;
nmea_data_t *gps_nmea_data = NULL;
-last_pos_t *gps_last_pos = NULL;
+pos_data_t *gps_last_pos = NULL;
int g_dnet_used = 0;
}
if (gps_last_pos == NULL) {
- gps_last_pos = (last_pos_t *) malloc(sizeof(last_pos_t));
+ gps_last_pos = (pos_data_t *) malloc(sizeof(pos_data_t));
if (gps_last_pos == NULL) {
LOG_GPS(DBG_ERR, "Failed to alloc gps_last_pos");
result = FALSE;
} else {
- memset(gps_last_pos, 0x00, sizeof(last_pos_t));
+ memset(gps_last_pos, 0x00, sizeof(pos_data_t));
}
}
return result;
g_gps_plugin.handle = NULL;
g_gps_plugin.name = (char *)malloc(strlen(module_name) + 1);
snprintf(g_gps_plugin.name, strlen(module_name) + 1, "%s", module_name);
+ if (strcmp(REPLAY_MODULE, g_gps_plugin.name) == 0) {
+ setting_set_int(REPLAY_ENABLED, 1);
+ } else {
+ setting_set_int(REPLAY_ENABLED, 0);
+ }
}
static void _gps_plugin_handler_deinit()
{
+ setting_set_int(REPLAY_ENABLED, 0);
+
if (g_gps_plugin.handle != NULL) {
g_gps_plugin.handle = NULL;
}
if (setting_get_int(GPS_SESSION, &int_val) == FALSE) {
LOG_GPS(DBG_ERR, "//ERROR!! GPS_SESSION setting get failed");
- int_val = GPS_SESSION_TRACKING_MODE; //set to default
+ int_val = GPS_SESSION_TRACKING_MODE;
}
g_gps_params.session_type = int_val;
if (setting_get_int(GPS_OPERATION, &int_val) == FALSE) {
LOG_GPS(DBG_ERR, "//ERROR!! GPS_OPERATION setting get failed");
- int_val = GPS_OPERATION_STANDALONE; //set to default
+ int_val = GPS_OPERATION_STANDALONE;
}
g_gps_params.operation_mode = int_val;
}
if (gps_last_pos == NULL) {
- gps_last_pos = (last_pos_t *) malloc(sizeof(last_pos_t));
+ gps_last_pos = (pos_data_t *) malloc(sizeof(pos_data_t));
if (gps_last_pos == NULL) {
LOG_GPS(DBG_WARN, "//callback: gps_last_pos re-malloc Failed!!");
} else {
- memset(gps_last_pos, 0x00, sizeof(last_pos_t));
+ memset(gps_last_pos, 0x00, sizeof(pos_data_t));
gps_manager_get_last_position(gps_last_pos);
}
}
{
if (gps_pos_data != NULL) {
memcpy(gps_pos_data, &(gps_event->event_data.pos_ind.pos), sizeof(pos_data_t));
+ memcpy(gps_last_pos, gps_pos_data, sizeof(pos_data_t));
g_update_cb.pos_cb(gps_pos_data, gps_event->event_data.pos_ind.error, g_user_data);
- if (gps_manager_distance_to_last_position(gps_pos_data, gps_last_pos) != -1) {
- gps_manager_update_last_position(gps_pos_data, gps_last_pos);
- }
+ gps_manager_set_last_position(gps_last_pos);
memset(gps_pos_data, 0x00, sizeof(pos_data_t));
} else {
LOG_GPS(DBG_ERR, "gps_sv_data is NULL");