#include "debug_util.h"
#include "last_position.h"
-#include <MapiControl.h>
-#include <MapiTransport.h>
-#include <MapiMessage.h>
+#include <msg.h>
+#include <msg_transport.h>
#include <sysman.h>
#include <vconf.h>
#include <glib.h>
#include <glib-object.h>
+#if !GLIB_CHECK_VERSION (2, 31, 0)
#include <glib/gthread.h>
+#endif
#include <dbus/dbus-glib.h>
#define GPS_NI_POPUP "/usr/bin/gps_popup"
{
int int_val;
- if (setting_get_int(GPS_SESSION, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! GPS_SESSION setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_SESSION, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_SESSION setting");
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");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_OPERATION, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_OPERATION setting");
int_val = GPS_OPERATION_STANDALONE;
}
g_gps_params.operation_mode = int_val;
- if (setting_get_int(GPS_STARTING, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! GPS_STARTING setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_STARTING, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_STARTING setting");
int_val = GPS_STARTING_HOT_;
}
g_gps_params.starting_type = int_val;
int int_val;
char *str;
- str = setting_get_string(SUPL_SERVER);
+ str = setting_get_string(VCONFKEY_LOCATION_SUPL_SERVER);
if (str == NULL) {
snprintf(g_gps_params.supl_url, MAX_SUPL_URL_LEN, "%s", SUPL_SERVER_URL_DEFAULT);
snprintf(g_gps_params.supl_url, MAX_SUPL_URL_LEN, "%s", str);
}
- if (setting_get_int(SUPL_PORT, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! SUPL_PORT setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_SUPL_PORT, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_SUPL_PORT setting");
int_val = SUPL_SERVER_PORT_DEFAULT;
}
g_gps_params.supl_port = int_val;
{
int int_val;
- if (setting_get_int(SUPL_SSL, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! SUPL_SSL setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_SUPL_SSL, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_SUPL_SSL setting");
int_val = 0;
}
g_gps_params.ssl_mode = int_val;
static void _gps_nmea_changed_cb(keynode_t * key, void *data)
{
int int_val;
- if (setting_get_int(NMEA_LOGGING, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "NMEA_LOGGING get Failed.");
+ if (setting_get_int(VCONFKEY_LOCATION_NMEA_LOGGING, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_NMEA_LOGGING setting");
int_val = 0;
}
logging_enabled = (int_val == 1) ? TRUE : FALSE;
int int_val;
gboolean ret;
- if (setting_get_int(REPLAY_ENABLED, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "REPLAY_ENABLED get Failed.");
+ if (setting_get_int(VCONFKEY_LOCATION_REPLAY_ENABLED, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR get VCONFKEY_LOCATION_REPLAY_ENABLED setting");
int_val = 0;
}
static void _gps_replay_changed_cb(keynode_t * key, void *data)
{
-
replay_enabled = get_replay_enabled();
reload_plugin_module();
return;
}
-static void _gps_server_set_indicator(int gps_state)
+static void _position_state_changed_cb(keynode_t * key, void *data)
{
int ret;
+ int gps_state = 0;
int wps_state = 0;
- setting_get_int(VCONFKEY_WPS_STATE, &wps_state);
+ setting_get_int(VCONFKEY_LOCATION_GPS_STATE, &gps_state);
+ setting_get_int(VCONFKEY_LOCATION_WPS_STATE, &wps_state);
LOG_GPS(DBG_LOW, "gps state : [%d], wps state : [%d]", gps_state, wps_state);
if (gps_state == POSITION_CONNECTED || wps_state == POSITION_CONNECTED) {
- ret = setting_set_int(VCONFKEY_GPS_STATE, POSITION_CONNECTED);
+ ret = setting_set_int(VCONFKEY_LOCATION_POSITION_STATE, POSITION_CONNECTED);
} else {
if (gps_state == POSITION_OFF && wps_state == POSITION_OFF) {
- ret = setting_set_int(VCONFKEY_GPS_STATE, POSITION_OFF);
+ ret = setting_set_int(VCONFKEY_LOCATION_POSITION_STATE, POSITION_OFF);
} else {
- ret = setting_set_int(VCONFKEY_GPS_STATE, POSITION_SEARCHING);
+ ret = setting_set_int(VCONFKEY_LOCATION_POSITION_STATE, POSITION_SEARCHING);
}
}
+ return;
+}
+
+static void _gps_server_set_gps_state(int gps_state)
+{
+ int ret;
+
+ switch (gps_state) {
+ case POSITION_CONNECTED:
+ ret = setting_set_int(VCONFKEY_LOCATION_GPS_STATE, POSITION_CONNECTED);
+ break;
+ case POSITION_SEARCHING:
+ ret = setting_set_int(VCONFKEY_LOCATION_GPS_STATE, POSITION_SEARCHING);
+ break;
+ case POSITION_OFF:
+ ret = setting_set_int(VCONFKEY_LOCATION_GPS_STATE, POSITION_OFF);
+ break;
+ default:
+ ret = setting_set_int(VCONFKEY_LOCATION_GPS_STATE, POSITION_OFF);
+ break;
+ }
+
if (ret == 1) {
LOG_GPS(DBG_LOW, "Succesee to set indicator");
} else {
int request_start_session()
{
- int status = TRUE;
+ gboolean status = TRUE;
gps_failure_reason_t reason_code = GPS_FAILURE_CAUSE_NORMAL;
if (gps_session_state != GPS_SESSION_STOPPED && gps_session_state != GPS_SESSION_STOPPING) {
return TRUE;
}
+ gps_session_state = GPS_SESSION_STARTING;
+ LOG_GPS(DBG_LOW, "==GPSSessionState[%d]", gps_session_state);
status = get_plugin_module()->request(GPS_ACTION_START_SESSION, &g_gps_params, &reason_code);
if (status == FALSE) {
LOG_GPS(DBG_LOW, "Main: sending GPS_ACTION_START_SESSION OK !");
_initialize_data();
- gps_session_state = GPS_SESSION_STARTING;
- LOG_GPS(DBG_LOW, "==GPSSessionState[%d]", gps_session_state);
- setting_ignore_key_changed(REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_REPLAY_ENABLED, _gps_replay_changed_cb);
return TRUE;
}
int request_stop_session()
{
- unsigned int status = TRUE;
+ gboolean status = TRUE;
gboolean cur_replay_enabled = FALSE;
gps_failure_reason_t reason_code = GPS_FAILURE_CAUSE_NORMAL;
replay_enabled = cur_replay_enabled;
reload_plugin_module();
}
- setting_notify_key_changed(REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_REPLAY_ENABLED, _gps_replay_changed_cb);
} else {
LOG_GPS(DBG_LOW, " plugin->request to LBS_GPS_STOP_SESSION Failed, reasonCode =%d", reason_code);
}
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);
+ setting_set_int(VCONFKEY_LOCATION_REPLAY_ENABLED, 1);
} else {
- setting_set_int(REPLAY_ENABLED, 0);
+ setting_set_int(VCONFKEY_LOCATION_REPLAY_ENABLED, 0);
}
}
static void _gps_plugin_handler_deinit()
{
- setting_set_int(REPLAY_ENABLED, 0);
+ setting_set_int(VCONFKEY_LOCATION_REPLAY_ENABLED, 0);
if (g_gps_plugin.handle != NULL) {
g_gps_plugin.handle = NULL;
int int_val = 0;
char *str;
- if (setting_get_int(GPS_SESSION, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! GPS_SESSION setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_SESSION, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_SESSION setting");
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");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_OPERATION, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_OPERATION setting");
int_val = GPS_OPERATION_STANDALONE;
}
g_gps_params.operation_mode = int_val;
- if (setting_get_int(GPS_STARTING, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! TING_MODE setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_GPS_STARTING, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_GPS_STATING setting");
int_val = GPS_STARTING_HOT_;
}
g_gps_params.starting_type = int_val;
g_gps_params.time_bn_fixes = 1;
- str = setting_get_string(SUPL_SERVER);
+ str = setting_get_string(VCONFKEY_LOCATION_SUPL_SERVER);
if (str == NULL) {
snprintf(g_gps_params.supl_url, MAX_SUPL_URL_LEN, "%s", SUPL_SERVER_URL_DEFAULT);
LOG_GPS(DBG_ERR, "vconf fail to get Server URL [Default URL]");
snprintf(g_gps_params.supl_url, MAX_SUPL_URL_LEN, "%s", str);
}
- if (setting_get_int(SUPL_PORT, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! SUPL_PORT setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_SUPL_PORT, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_SUPL_PORT setting");
int_val = SUPL_SERVER_PORT_DEFAULT;
}
g_gps_params.supl_port = int_val;
LOG_GPS(DBG_LOW, "First Read!! SUPL server:%s, port:%d", g_gps_params.supl_url, g_gps_params.supl_port);
- if (setting_get_int(SUPL_SSL, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//ERROR!! SUPL_SSL setting get failed");
+ if (setting_get_int(VCONFKEY_LOCATION_SUPL_SSL, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_SUPL_SSL setting");
int_val = 0;
}
g_gps_params.ssl_mode = int_val;
- if (setting_get_int(NMEA_LOGGING, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//NMEA_LOGGING get Failed.");
+ if (setting_get_int(VCONFKEY_LOCATION_NMEA_LOGGING, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_NMEA_LOGGING setting");
int_val = 0;
}
logging_enabled = (int_val == 1) ? TRUE : FALSE;
- if (setting_get_int(REPLAY_ENABLED, &int_val) == FALSE) {
- LOG_GPS(DBG_ERR, "//REPLAY_ENABLED get Failed.");
+ if (setting_get_int(VCONFKEY_LOCATION_REPLAY_ENABLED, &int_val) == FALSE) {
+ LOG_GPS(DBG_ERR, "//ERROR!! get VCONFKEY_LOCATION_REPLAY_ENABLED setting");
int_val = 0;
}
replay_enabled = (int_val == 1) ? TRUE : FALSE;
static void _gps_notify_params()
{
- setting_notify_key_changed(GPS_SESSION, _gps_mode_changed_cb);
- setting_notify_key_changed(GPS_OPERATION, _gps_mode_changed_cb);
- setting_notify_key_changed(GPS_STARTING, _gps_mode_changed_cb);
- setting_notify_key_changed(SUPL_SERVER, _gps_supl_changed_cb);
- setting_notify_key_changed(SUPL_PORT, _gps_supl_changed_cb);
- setting_notify_key_changed(SUPL_SSL, _gps_setting_changed_cb);
- setting_notify_key_changed(NMEA_LOGGING, _gps_nmea_changed_cb);
- setting_notify_key_changed(REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_GPS_SESSION, _gps_mode_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_GPS_OPERATION, _gps_mode_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_GPS_STARTING, _gps_mode_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_SUPL_SERVER, _gps_supl_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_SUPL_PORT, _gps_supl_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_SUPL_SSL, _gps_setting_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_NMEA_LOGGING, _gps_nmea_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_GPS_STATE, _position_state_changed_cb);
+ setting_notify_key_changed(VCONFKEY_LOCATION_WPS_STATE, _position_state_changed_cb);
}
static void _gps_ignore_params()
{
- setting_ignore_key_changed(GPS_SESSION, _gps_mode_changed_cb);
- setting_ignore_key_changed(GPS_OPERATION, _gps_mode_changed_cb);
- setting_ignore_key_changed(GPS_STARTING, _gps_mode_changed_cb);
- setting_ignore_key_changed(SUPL_SERVER, _gps_supl_changed_cb);
- setting_ignore_key_changed(SUPL_PORT, _gps_supl_changed_cb);
- setting_ignore_key_changed(SUPL_SSL, _gps_setting_changed_cb);
- setting_ignore_key_changed(NMEA_LOGGING, _gps_nmea_changed_cb);
- setting_ignore_key_changed(REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_GPS_SESSION, _gps_mode_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_GPS_OPERATION, _gps_mode_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_GPS_STARTING, _gps_mode_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_SUPL_SERVER, _gps_supl_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_SUPL_PORT, _gps_supl_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_SUPL_SSL, _gps_setting_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_NMEA_LOGGING, _gps_nmea_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_REPLAY_ENABLED, _gps_replay_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_GPS_STATE, _position_state_changed_cb);
+ setting_ignore_key_changed(VCONFKEY_LOCATION_WPS_STATE, _position_state_changed_cb);
}
static void _gps_server_start_event()
gps_session_state = GPS_SESSION_STARTED;
if (logging_enabled) {
+ LOG_GPS(DBG_LOW, "NMEA STARTED");
start_nmea_log();
}
}
}
- _gps_server_set_indicator(POSITION_SEARCHING);
+ _gps_server_set_gps_state(POSITION_SEARCHING);
pm_lock_state(LCD_OFF, STAY_CUR_STATE, 0);
}
gps_session_state = GPS_SESSION_STOPPED;
LOG_GPS(DBG_LOW, "==GPSSessionState[%d]", gps_session_state);
- _gps_server_set_indicator(POSITION_OFF);
+ _gps_server_set_gps_state(POSITION_OFF);
pm_unlock_state(LCD_NORMAL, PM_RESET_TIMER);
if (logging_enabled) {
+ LOG_GPS(DBG_LOW, "NMEA STOPPED");
stop_nmea_log();
}
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");
+ LOG_GPS(DBG_ERR, "gps_pos_data is NULL");
}
}
LOG_GPS(DBG_LOW, "<<::::::::::: GPS_EVENT_SATELLITE :::::::::::::::");
if (gps_event_info->event_data.sv_ind.error == GPS_ERR_NONE) {
if (gps_event_info->event_data.sv_ind.sv.pos_valid) {
- _gps_server_set_indicator(POSITION_CONNECTED);
+ _gps_server_set_gps_state(POSITION_CONNECTED);
} else {
- _gps_server_set_indicator(POSITION_SEARCHING);
+ _gps_server_set_gps_state(POSITION_SEARCHING);
}
_report_sv_event(gps_event_info);
} else {
}
-static void _gps_supl_networkinit_smscb(MSG_HANDLE_T hMsgHandle, msg_message_t msg, void *user_param)
+static void _gps_supl_networkinit_smscb(msg_handle_t hMsgHandle, msg_struct_t msg, void *user_param)
{
LOG_GPS(DBG_ERR, "_gps_supl_networkinit_smscb is called");
- LOG_GPS(DBG_ERR, "SUPLNI MSG size is [ %d ]", msg_get_message_body_size(msg));
gps_ni_popup_data_t new_message;
memset(&new_message, 0x00, sizeof(new_message));
- new_message.msg_body = (char *)msg_sms_get_message_body(msg);
- new_message.msg_size = msg_get_message_body_size(msg);
+ msg_get_int_value(msg, MSG_MESSAGE_DATA_SIZE_INT, &new_message.msg_size);
+ msg_get_str_value(msg, MSG_MESSAGE_SMS_DATA_STR, new_message.msg_body, new_message.msg_size);
+
// TODO: Button number of LBS Popup
new_message.num_btn = 2;
}
-static void _gps_supl_networkinit_wappushcb(MSG_HANDLE_T hMsgHandle, const char *pPushHeader, const char *pPushBody,
+static void _gps_supl_networkinit_wappushcb(msg_handle_t hMsgHandle, const char *pPushHeader, const char *pPushBody,
int pushBodyLen, void *user_param)
{
LOG_GPS(DBG_ERR, "_gps_supl_networkinit_wappushcb is called");
static void *_gps_register_msgfwcb()
{
- MSG_HANDLE_T msgHandle = NULL;
- MSG_ERROR_T err = MSG_SUCCESS;
+ msg_handle_t msgHandle = NULL;
+ msg_error_t err = MSG_SUCCESS;
int setValue = 0;
int ret;
_gps_notify_params();
if (!load_plugin_module(g_gps_plugin.name, &g_gps_plugin.handle)) {
- LOG_GPS(DBG_ERR, "Failed to load plugin module.");
+ LOG_GPS(DBG_ERR, "Fail to load plugin module.");
return -1;
}
- LOG_GPS(DBG_LOW, "after read parameters......");
-
if (!get_plugin_module()->init(_gps_server_gps_event_cb, &g_gps_params)) {
- LOG_GPS(DBG_WARN, "//GPS Initialization failed");
+ LOG_GPS(DBG_WARN, "Fail to gps-manager module initialization");
return -1;
}
+
// Register SUPL NI cb to MSG server
if (pthread_create(&msg_thread, NULL, _gps_register_msgfwcb, NULL) != 0) {
LOG_GPS(DBG_WARN, "Can not make pthread......");
_gps_ignore_params();
if (!get_plugin_module()->deinit(&ReasonCode)) {
- LOG_GPS(DBG_WARN, "GPS De-Initialization failed.");
+ LOG_GPS(DBG_WARN, "Fail to gps-manager module de-initialization");
}
-
unload_plugin_module(g_gps_plugin.handle);
+
_gps_plugin_handler_deinit();
return 0;