upload tizen1.0 source
[framework/location/libslp-location.git] / location / manager / location-signaling-util.c
similarity index 84%
rename from location/location-signaling-util.c
rename to location/manager/location-signaling-util.c
index 263dc2f..4306c46 100644 (file)
@@ -23,8 +23,8 @@
 #include "config.h"
 #endif
 
-#include "location/location-signaling-util.h"
-#include "location/location-log.h"
+#include "location-signaling-util.h"
+#include "location-log.h"
 
 #define POS_EXPIRATION_TIME            9       /* sec */
 
@@ -165,3 +165,35 @@ velocity_signaling (LocationObject *obj,
        }
 
 }
+
+void
+satellite_signaling(LocationObject *obj,
+       guint32 signals[LAST_SIGNAL],
+       gboolean *prev_enabled,
+       guint interval,
+       guint *sat_timestamp,
+       LocationSatellite **prev_sat,
+       gboolean enabled,
+       const LocationSatellite *sat)
+{
+       g_return_if_fail(obj);
+       g_return_if_fail(signals);
+       g_return_if_fail(sat);
+
+       if (*prev_sat) {
+               location_satellite_free(*prev_sat);
+       }
+
+       *prev_sat = location_satellite_copy (sat);
+       if (!(*sat_timestamp) || sat->timestamp - *sat_timestamp > interval) {
+
+               LOCATION_LOGD ("Signal emit: SATELLITE SERVICE_UPDATED");
+               LocationSatellite *temp_sat = location_satellite_copy (sat);
+
+               g_signal_emit (obj, signals[SERVICE_UPDATED], 0, SATELLITE_UPDATED, temp_sat, NULL);
+
+               *sat_timestamp = sat->timestamp;
+
+               location_satellite_free(temp_sat);
+       }
+}