Supported to set mock location continuously. 69/57969/1 accepted/tizen/ivi/20160218.023917 accepted/tizen/mobile/20160128.082935 accepted/tizen/tv/20160128.082956 accepted/tizen/wearable/20160128.083013 submit/tizen/20160128.052719 submit/tizen_common/20160218.142243 submit/tizen_ivi/20160217.000000 submit/tizen_ivi/20160217.000003
authorYoung-Ae Kang <youngae.kang@samsung.com>
Tue, 26 Jan 2016 11:59:05 +0000 (20:59 +0900)
committerYoung-Ae Kang <youngae.kang@samsung.com>
Tue, 26 Jan 2016 12:00:47 +0000 (21:00 +0900)
Change-Id: I456a8c14dd5ed8659ce4881481b8b215dbe2e365

lbs-server/src/lbs_server.c
lbs-server/src/lbs_server.h [changed mode: 0644->0755]
packaging/lbs-server.spec

index c6219179263521ef7274ea9fe1f2d6b55d4cd0ef..dbaf7b687370c42b70ecb562b70ebf8a3b043106 100755 (executable)
@@ -1536,6 +1536,7 @@ static void set_mock_location_cb(gint method, gdouble latitude, gdouble longitud
 
        time_t timestamp;
        time(&timestamp);
+       g_mock_position.fields |= LBS_POSITION_EXT_FIELDS_DIRTY;
        g_mock_position.timestamp = timestamp;
        g_mock_position.latitude = latitude;
        g_mock_position.longitude = longitude;
@@ -1558,6 +1559,7 @@ int __copy_mock_location(lbs_server_s *lbs_server)
 
        memset(&lbs_server->mock_position, 0x00, sizeof(NpsManagerPositionExt));
        memcpy(&lbs_server->mock_position, &g_mock_position, sizeof(NpsManagerPositionExt));
+       g_mock_position.fields = LBS_POSITION_EXT_FIELDS_NONE;
        LOG_SEC("[%ld] lat = %lf, lng = %lf", lbs_server->mock_position.timestamp, lbs_server->mock_position.latitude, lbs_server->mock_position.longitude);
 
        if (lbs_server->mock_position.latitude >= -90 && lbs_server->mock_position.latitude <= 90 ) {
@@ -1599,9 +1601,15 @@ static gboolean __mock_position_update_cb(gpointer userdata)
                }
        } else if (lbs_server->mock_status == LBS_STATUS_AVAILABLE) {
                if (g_mock_position.timestamp) {
+                       if (g_mock_position.fields & LBS_POSITION_EXT_FIELDS_DIRTY){
+                               __copy_mock_location(lbs_server);               
+                       }
+                       
                        time_t timestamp;
                        time(&timestamp);
-                       LOG_MOCK(DBG_LOW, "previous time: %d", lbs_server->mock_position.timestamp);
+
+                       LOG_SEC("[%d] lat = %lf, lng = %lf", lbs_server->mock_position.timestamp, 
+                               lbs_server->mock_position.latitude, lbs_server->mock_position.longitude);
 
                        lbs_server->mock_position.timestamp = timestamp;
                        lbs_server_emit_position_changed(lbs_server->lbs_dbus_server, LBS_SERVER_METHOD_MOCK,
old mode 100644 (file)
new mode 100755 (executable)
index 4676952..7a91247
@@ -112,7 +112,8 @@ typedef enum {
        LBS_POSITION_EXT_FIELDS_ALTITUDE = 1 << 2,
        LBS_POSITION_EXT_FIELDS_SPEED = 1 << 3,
        LBS_POSITION_EXT_FIELDS_DIRECTION = 1 << 4,
-       LBS_POSITION_EXT_FIELDS_CLIMB = 1 << 5
+       LBS_POSITION_EXT_FIELDS_CLIMB = 1 << 5,
+       LBS_POSITION_EXT_FIELDS_DIRTY= 1 << 6
 } LbsPositionExtFields;
 
 /**
index 89b19c8de5d13c773722d47d4ac660809f593292..029fe0f8b03f906666dc52b3dccf4f4dc888af9d 100644 (file)
@@ -1,6 +1,6 @@
 Name:    lbs-server
 Summary: LBS Server for Tizen
-Version: 1.0.0
+Version: 1.0.1
 Release: 1
 Group:   Location/Service
 License: Apache-2.0