more work on dameon
authorRodrigo Linfati <rodrigo@linfati.cl>
Sat, 22 Jan 2011 22:20:42 +0000 (23:20 +0100)
committerRodrigo Linfati <rodrigo@linfati.cl>
Sat, 22 Jan 2011 22:20:42 +0000 (23:20 +0100)
src/gps.cpp
src/gps.h
src/latitude.cpp
src/latitude.h

index 7c9eead..a12d2ab 100644 (file)
@@ -17,8 +17,7 @@ GpsMaemo5::GpsMaemo5(QObject *parent) : QObject(parent) {
     urlloc = QUrl::fromEncoded("http://www.google.com/loc/json");
     worker = new QNetworkAccessManager();
     connect(worker, SIGNAL(finished(QNetworkReply *)), this, SLOT(finishedreply(QNetworkReply *)));
-
-    worker->post(QNetworkRequest(urlloc), QByteArray("{version:\"1.1.0\"}"));
+    gloc();
 #endif // Q_WS_MAEMO_5
 }
 
@@ -35,6 +34,12 @@ void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
     }
 }
 #else
+void GpsMaemo5::gloc() {
+    qDebug() << "GpsMaemo5 gloc";
+    worker->post(QNetworkRequest(urlloc), QByteArray("{version:\"1.1.0\"}"));
+    QTimer::singleShot(60*1000, this, SLOT(gloc()));
+}
+
 void GpsMaemo5::finishedreply(QNetworkReply *r) {
     if ( r->url() == urlloc ) {
         QString loc = r->readAll();
index 9f1cac9..61162bf 100644 (file)
--- a/src/gps.h
+++ b/src/gps.h
@@ -10,6 +10,7 @@ extern "C" {
 }
 #else
 #include <QtNetwork>
+#include <QTimer>
 #endif // Q_WS_MAEMO_5
 
 class GpsMaemo5 : public QObject {
@@ -31,6 +32,7 @@ public:
 #else
 private slots:
     void finishedreply(QNetworkReply *r);
+    void gloc();
 #endif // Q_WS_MAEMO_5
 
 private:
index 33e8719..12ccf5c 100644 (file)
@@ -17,6 +17,15 @@ LatitudeGUI::LatitudeGUI(QMainWindow *parent) : QMainWindow(parent) {
     menuBar()->addAction(tr("&Buzz"), this, SLOT(mode_buzz()));
     menuBar()->addAction(tr("&Config"), this, SLOT(config()));
 
+    demonio = new QAction(this);
+    if ( system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
+        demonio->setText(tr("&Start Daemon"));
+    } else {
+        demonio->setText(tr("&Stop Daemon"));
+    }
+    connect(demonio, SIGNAL(triggered()), this, SLOT(mode_demonio()));
+    menuBar()->addAction(demonio);
+
     // updater
     glatitude = new GoogleLatitude(this);
     gps = new GpsMaemo5(this);
@@ -107,3 +116,17 @@ void LatitudeGUI::maps_login() {
         maps->page()->mainFrame()->evaluateJavaScript("document.getElementById('gaia_loginform').submit();");
     }
 }
+
+void LatitudeGUI::mode_demonio() {
+    if ( ! system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
+        system("killall GoogleLatitudeDaemon 2> /dev/null");
+        demonio->setText(tr("&Start Daemon"));
+    } else {
+        QProcess *cli = new QProcess(this);
+        cli->start(QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon");
+        qDebug() << "LatitudeGUI: demonio " << QCoreApplication::applicationDirPath()+"/GoogleLatitudeDaemon";
+        if ( ! system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
+            demonio->setText(tr("&Stop Daemon"));
+        }
+    }
+}
index b3a781d..8ed3076 100644 (file)
@@ -26,6 +26,7 @@ private slots:
     void maps_login();
     void mode_buzz();
     void mode_latitude();
+    void mode_demonio();
 
 private:
     GoogleLatitude *glatitude;
@@ -33,6 +34,7 @@ private:
     QSettings *setting;
     QWebView *maps;
     QUrl url;
+    QAction *demonio;
 };
 
 #endif // LATITUDE_H