GpsMaemo5::GpsMaemo5(QObject *parent) :
QObject(parent),
latitude(0), longitude(0), accuracy(0),
- interval(1800), wait(30), usegps(false),
+ interval(1800), wait(30), method("cell"),
emitfix(false), stopgps(true) {
#ifdef Q_WS_MAEMO_5
control = location_gpsd_control_get_default();
#endif
#ifdef Q_WS_MAEMO_5
- g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_ACWP, NULL);
- if (usegps) {
+ if ( method == QString("cell") ) {
+ g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_ACWP, NULL);
+ } else if ( method == QString("both") ) {
+ g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_USER_SELECTED, NULL);
+ } else if ( method == QString("agps") ) {
g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_AGNSS, NULL);
+ } else {
+ g_object_set(G_OBJECT(control), "preferred-method", LOCATION_METHOD_ACWP, NULL);
}
location_gpsd_control_start(control);
#else
stop();
}
-int GpsMaemo5::config(int i, int w, bool g) {
+int GpsMaemo5::config(int i, int w, QString m) {
qDebug() << "GpsMaemo5: config";
stopgps = false;
interval = i;
wait = w;
- usegps = g;
+ method = m;
return 0;
}