separate daemon from gui, not auto connect
authorRodrigo Linfati <rodrigo@linfati.cl>
Mon, 24 Jan 2011 14:59:59 +0000 (15:59 +0100)
committerRodrigo Linfati <rodrigo@linfati.cl>
Mon, 24 Jan 2011 14:59:59 +0000 (15:59 +0100)
13 files changed:
GoogleLatitudeCommon.pri [new file with mode: 0644]
GoogleLatitudeDaemon.pro [new file with mode: 0644]
GoogleLatitudeGUI.pro [new file with mode: 0644]
data/googlelatitude.desktop
debian/googlelatitude.install
debian/rules
googlelatitude.pro
src/glatitude.cpp
src/gps.cpp
src/latitude.cpp
src/main-daemon.cpp [new file with mode: 0644]
src/main-gui.cpp [new file with mode: 0644]
src/main.cpp [deleted file]

diff --git a/GoogleLatitudeCommon.pri b/GoogleLatitudeCommon.pri
new file mode 100644 (file)
index 0000000..e39bd9d
--- /dev/null
@@ -0,0 +1,16 @@
+HEADERS    += src/glatitude.h   src/gps.h
+SOURCES    += src/glatitude.cpp src/gps.cpp
+
+OBJECTS_DIR = build
+MOC_DIR     = build
+DESTDIR     = build
+
+TEMPLATE    = app
+
+QT         += network
+
+contains(QT_CONFIG, maemo5) {
+    QT          += maemo5
+    CONFIG      += link_pkgconfig
+    PKGCONFIG   += glib-2.0 liblocation
+}
diff --git a/GoogleLatitudeDaemon.pro b/GoogleLatitudeDaemon.pro
new file mode 100644 (file)
index 0000000..f4fbe2c
--- /dev/null
@@ -0,0 +1,6 @@
+include(GoogleLatitudeCommon.pri)
+TARGET      = GoogleLatitudeDaemon
+HEADERS    += src/daemon.h
+SOURCES    += src/daemon.cpp src/main-daemon.cpp
+
+QT         -= gui
diff --git a/GoogleLatitudeGUI.pro b/GoogleLatitudeGUI.pro
new file mode 100644 (file)
index 0000000..3d43ee1
--- /dev/null
@@ -0,0 +1,6 @@
+include(GoogleLatitudeCommon.pri)
+TARGET      = GoogleLatitudeGUI
+HEADERS    += src/latitude.h
+SOURCES    += src/latitude.cpp src/main-gui.cpp
+
+QT         += webkit
index 80f40a7..1feabfb 100644 (file)
@@ -2,8 +2,8 @@
 Encoding=UTF-8
 Version=1.0
 Type=Application
 Encoding=UTF-8
 Version=1.0
 Type=Application
-Name=Google Latitude Update
-Exec=/opt/linfati.com/googlelatitude
+Name=Google Latitude And Buzz
+Exec=/opt/linfati.com/GoogleLatitudeGUI
 Icon=googlelatitude
 X-HildonDesk-ShowInToolbar=true
 X-Osso-Type=application/x-executable
 Icon=googlelatitude
 X-HildonDesk-ShowInToolbar=true
 X-Osso-Type=application/x-executable
index 86695eb..158ebb6 100644 (file)
@@ -1,5 +1,4 @@
 data/googlelatitude.desktop usr/share/applications/hildon
 data/googlelatitude.png usr/share/icons/hicolor/64x64/apps
 data/googlelatitude.desktop usr/share/applications/hildon
 data/googlelatitude.png usr/share/icons/hicolor/64x64/apps
-build/googlelatitude opt/linfati.com
 build/GoogleLatitudeGUI opt/linfati.com
 build/GoogleLatitudeDaemon opt/linfati.com
 build/GoogleLatitudeGUI opt/linfati.com
 build/GoogleLatitudeDaemon opt/linfati.com
index a6abacb..f44f604 100755 (executable)
@@ -36,8 +36,6 @@ install: build
        dh_clean -k 
        dh_installdirs
        $(MAKE) DESTDIR=$(CURDIR)/debian/$(APPNAME) install
        dh_clean -k 
        dh_installdirs
        $(MAKE) DESTDIR=$(CURDIR)/debian/$(APPNAME) install
-       ln -s googlelatitude build/GoogleLatitudeGUI
-       ln -s googlelatitude build/GoogleLatitudeDaemon
 
 binary-indep: build install
 binary-arch: build install
 
 binary-indep: build install
 binary-arch: build install
index cceb79f..f7030aa 100644 (file)
@@ -1,16 +1,3 @@
-TARGET      = googlelatitude
-HEADERS    += src/latitude.h src/glatitude.h src/gps.h src/daemon.h
-SOURCES    += src/main.cpp src/latitude.cpp src/glatitude.cpp src/gps.cpp src/daemon.cpp
-
-OBJECTS_DIR = build
-MOC_DIR     = build
-DESTDIR     = build
-
-TEMPLATE    = app
-QT         += core gui network webkit
-
-contains(QT_CONFIG, maemo5) {
-    QT          += maemo5
-    CONFIG      += link_pkgconfig
-    PKGCONFIG   += glib-2.0 liblocation
-}
+TEMPLATE = subdirs
+SUBDIRS += GoogleLatitudeDaemon.pro
+SUBDIRS += GoogleLatitudeGUI.pro
index 2f9dcac..b9a2ace 100644 (file)
@@ -40,11 +40,17 @@ void GoogleLatitude::set(double la, double lo, double ac) {
     longitude = lo;
     accuracy = ac;
 
     longitude = lo;
     accuracy = ac;
 
-    qDebug() << "GoogleLatitude: set la = " << la << " lo = " << lo << " ac = " << ac;
-    qDebug() << "GoogleLatitude: set lastupdate = " << lastupdate << " current = " << QDateTime::currentDateTime().toUTC().toTime_t();
+    qDebug() << "GoogleLatitude: set la" << la << "lo" << lo << "ac" << ac << "current" << QDateTime::currentDateTime().toUTC().toTime_t();
     if (login_error) return;
     if (la*lo == 0) return;
     if ( QDateTime::currentDateTime().toUTC().toTime_t() < lastupdate + interval ) return;
     if (login_error) return;
     if (la*lo == 0) return;
     if ( QDateTime::currentDateTime().toUTC().toTime_t() < lastupdate + interval ) return;
+
+    QNetworkConfigurationManager mgr;
+    if (!mgr.isOnline()) {
+        qDebug() << "GoogleLatitude: offline";
+        return;
+    }
+
     worker->get(QNetworkRequest(urllogin));
 }
 
     worker->get(QNetworkRequest(urllogin));
 }
 
@@ -78,16 +84,16 @@ void GoogleLatitude::finishedreply(QNetworkReply *r) {
         QString output = r->readAll();
         QRegExp regexp ("Authentication required");
         if (regexp.indexIn(output, 1) != -1) {
         QString output = r->readAll();
         QRegExp regexp ("Authentication required");
         if (regexp.indexIn(output, 1) != -1) {
-            qDebug() << "GoogleLatitude: update error";
+            qDebug() << "GoogleLatitude: update error auth";
             login_error = true;
             emit ERROR();
         } else {
             lastupdate = QDateTime::currentDateTime().toUTC().toTime_t();
             login_error = true;
             emit ERROR();
         } else {
             lastupdate = QDateTime::currentDateTime().toUTC().toTime_t();
-            qDebug() << "GoogleLatitude: update ok " << "lastupdate = " << lastupdate;
+            qDebug() << "GoogleLatitude: update ok" << "lastupdate" << lastupdate;
             emit OK();
         }
     } else {
             emit OK();
         }
     } else {
-        qDebug() << "GoogleLatitude Error url:" << r->url();
+        qDebug() << "GoogleLatitude Error url" << r->url();
         qDebug() << r->rawHeaderList();
         qDebug() << r->readAll();
     }
         qDebug() << r->rawHeaderList();
         qDebug() << r->readAll();
     }
index a12d2ab..d8a7f53 100644 (file)
@@ -25,7 +25,7 @@ GpsMaemo5::GpsMaemo5(QObject *parent) : QObject(parent) {
 void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
     if (device->fix) {
         if (device->fix->fields) {
 void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
     if (device->fix) {
         if (device->fix->fields) {
-            g_print("GpsMaemo5 lat = %f, long = %f, eph = %f\n", gps->device->fix->latitude, gps->device->fix->longitude, gps->device->fix->eph/100.);
+            g_print("GpsMaemo5 lat %f lon %f eph %f\n", gps->device->fix->latitude, gps->device->fix->longitude, gps->device->fix->eph/100.);
             gps->latitude = gps->device->fix->latitude;
             gps->longitude = gps->device->fix->longitude;
             gps->accuracy = gps->device->fix->eph/100.;
             gps->latitude = gps->device->fix->latitude;
             gps->longitude = gps->device->fix->longitude;
             gps->accuracy = gps->device->fix->eph/100.;
@@ -35,9 +35,8 @@ void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
 }
 #else
 void GpsMaemo5::gloc() {
 }
 #else
 void GpsMaemo5::gloc() {
-    qDebug() << "GpsMaemo5 gloc";
     worker->post(QNetworkRequest(urlloc), QByteArray("{version:\"1.1.0\"}"));
     worker->post(QNetworkRequest(urlloc), QByteArray("{version:\"1.1.0\"}"));
-    QTimer::singleShot(60*1000, this, SLOT(gloc()));
+    QTimer::singleShot(45*1000, this, SLOT(gloc()));
 }
 
 void GpsMaemo5::finishedreply(QNetworkReply *r) {
 }
 
 void GpsMaemo5::finishedreply(QNetworkReply *r) {
@@ -49,10 +48,10 @@ void GpsMaemo5::finishedreply(QNetworkReply *r) {
         latitude = regexp.capturedTexts().at(1).toDouble();
         longitude = regexp.capturedTexts().at(2).toDouble();
         accuracy = regexp.capturedTexts().at(3).toDouble();
         latitude = regexp.capturedTexts().at(1).toDouble();
         longitude = regexp.capturedTexts().at(2).toDouble();
         accuracy = regexp.capturedTexts().at(3).toDouble();
-        qDebug() << "GpsMaemo5 lat = " << latitude << " long = " << longitude << " acc = " << accuracy;
+        qDebug() << "GpsIP lat" << latitude << "lon" << longitude << "acc" << accuracy;
         emit fix();
     } else {
         emit fix();
     } else {
-        qDebug() << "GpsMaemo5 Error url:" << r->url();
+        qDebug() << "GpsIP Error url" << r->url();
         qDebug() << r->rawHeaderList();
         qDebug() << r->readAll();
     }
         qDebug() << r->rawHeaderList();
         qDebug() << r->readAll();
     }
index 12ccf5c..2d70baa 100644 (file)
@@ -124,7 +124,7 @@ void LatitudeGUI::mode_demonio() {
     } else {
         QProcess *cli = new QProcess(this);
         cli->start(QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon");
     } else {
         QProcess *cli = new QProcess(this);
         cli->start(QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon");
-        qDebug() << "LatitudeGUI: demonio " << QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon";
+        qDebug() << "LatitudeGUI: demonio" << QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon";
         if ( ! system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
             demonio->setText(tr("&Stop Daemon"));
         }
         if ( ! system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
             demonio->setText(tr("&Stop Daemon"));
         }
diff --git a/src/main-daemon.cpp b/src/main-daemon.cpp
new file mode 100644 (file)
index 0000000..843aa67
--- /dev/null
@@ -0,0 +1,13 @@
+#include "daemon.h"
+
+int main(int argc, char *argv[]) {
+    QCoreApplication::setOrganizationName("linfati");
+    QCoreApplication::setOrganizationDomain("linfati.com");
+    QCoreApplication::setApplicationName("GoogleLatitude");
+
+    QCoreApplication app(argc, argv);
+    Daemon *demonio;
+    demonio = new Daemon();
+
+    return app.exec();
+}
diff --git a/src/main-gui.cpp b/src/main-gui.cpp
new file mode 100644 (file)
index 0000000..cef60e2
--- /dev/null
@@ -0,0 +1,13 @@
+#include "latitude.h"
+
+int main(int argc, char *argv[]) {
+    QCoreApplication::setOrganizationName("linfati");
+    QCoreApplication::setOrganizationDomain("linfati.com");
+    QCoreApplication::setApplicationName("GoogleLatitude");
+
+    QApplication app(argc, argv);
+    LatitudeGUI *gui = new LatitudeGUI();
+    gui->show();
+
+    return app.exec();
+}
diff --git a/src/main.cpp b/src/main.cpp
deleted file mode 100644 (file)
index 42eebdd..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "latitude.h"
-#include "daemon.h"
-
-int main(int argc, char *argv[]) {
-    QCoreApplication::setOrganizationName("linfati");
-    QCoreApplication::setOrganizationDomain("linfati.com");
-    QCoreApplication::setApplicationName("GoogleLatitude");
-    QCoreApplication::setApplicationVersion("0.4.5");
-
-    if ( QString(argv[0]).contains("GoogleLatitudeDaemon") ) {
-        QCoreApplication app(argc, argv);
-        qDebug() << "main: Daemon";
-        Daemon *demonio;
-        demonio = new Daemon();
-        app.exec();
-    } else if ( QString(argv[0]).contains("GoogleLatitudeGUI") ) {
-        QApplication app(argc, argv);
-        qDebug() << "main: GUI";
-        LatitudeGUI *gui = new LatitudeGUI();
-        gui->show();
-        app.exec();
-    } else {
-        QApplication app(argc, argv);
-        qDebug() << "main: default";
-        LatitudeGUI *gui = new LatitudeGUI();
-        gui->show();
-        app.exec();
-    }
-
-    return 0;
-}