#include <telepathy-glib/interfaces.h>
#include <location/location-gps-device.h>
-#include <location/location-gpsd-control.h>
#include "connection-watcher.h"
#include "position-publisher.h"
/* properties */
enum
{
- PROP_START_GPS = 1,
- PROP_BLUR,
+ PROP_BLUR = 1,
LAST_PROPERTY
};
struct _PositionPublisherPrivate
{
ConnectionWatcher *watcher;
- LocationGPSDControl *gps_control;
LocationGPSDevice *gps_device;
GSList *connections;
GHashTable *location;
/* TRUE if location has been modified while we were waiting */
gboolean modified;
gboolean blur;
- gboolean start_gps;
gboolean dispose_has_run;
};
g_signal_connect (priv->watcher, "connection-added",
G_CALLBACK (connection_added_cb), obj);
- priv->gps_control = location_gpsd_control_get_default();
-
- g_object_set (G_OBJECT(priv->gps_control),
- "preferred-method", LOCATION_METHOD_USER_SELECTED,
- "preferred-interval", LOCATION_INTERVAL_120S,
- NULL);
-
priv->gps_device = g_object_new (LOCATION_TYPE_GPS_DEVICE, NULL);
g_signal_connect (priv->gps_device, "changed",
G_PARAM_CONSTRUCT | G_PARAM_WRITABLE | G_PARAM_READABLE
| G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_BLUR, param_spec);
-
- param_spec = g_param_spec_boolean ("start-gps", "Start GPS?",
- "Whether the publisher starts the GPS.", FALSE,
- G_PARAM_CONSTRUCT | G_PARAM_WRITABLE | G_PARAM_READABLE
- | G_PARAM_STATIC_STRINGS);
- g_object_class_install_property (object_class, PROP_START_GPS, param_spec);
}
void
priv->dispose_has_run = TRUE;
- if (priv->start_gps)
- {
- location_gpsd_control_stop (priv->gps_control);
- priv->start_gps = FALSE;
- }
-
g_object_unref (priv->watcher);
- g_object_unref (priv->gps_control);
g_object_unref (priv->gps_device);
for (l = priv->connections; l != NULL; l = g_slist_next (l))
case PROP_BLUR:
g_value_set_boolean (value, priv->blur);
break;
- case PROP_START_GPS:
- g_value_set_boolean (value, priv->start_gps);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
case PROP_BLUR:
priv->blur = g_value_get_boolean (value);
break;
- case PROP_START_GPS:
- priv->start_gps = g_value_get_boolean (value);
- if (priv->start_gps)
- location_gpsd_control_start (priv->gps_control);
- else
- location_gpsd_control_stop (priv->gps_control);
break;
default:
}
PositionPublisher *
-position_publisher_new (gboolean blur, gboolean start_gps)
+position_publisher_new (gboolean blur)
{
return g_object_new (POSITION_PUBLISHER_TYPE,
"blur", blur,
- "start-gps", start_gps,
NULL);
}