From dafb08cf2b5b0081bec9f0d4ae293367fffd0af2 Mon Sep 17 00:00:00 2001 From: Rodrigo Linfati Date: Sat, 22 Jan 2011 23:20:42 +0100 Subject: [PATCH] more work on dameon --- src/gps.cpp | 9 +++++++-- src/gps.h | 2 ++ src/latitude.cpp | 23 +++++++++++++++++++++++ src/latitude.h | 2 ++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/gps.cpp b/src/gps.cpp index 7c9eead..a12d2ab 100644 --- a/src/gps.cpp +++ b/src/gps.cpp @@ -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(); diff --git a/src/gps.h b/src/gps.h index 9f1cac9..61162bf 100644 --- a/src/gps.h +++ b/src/gps.h @@ -10,6 +10,7 @@ extern "C" { } #else #include +#include #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: diff --git a/src/latitude.cpp b/src/latitude.cpp index 33e8719..12ccf5c 100644 --- a/src/latitude.cpp +++ b/src/latitude.cpp @@ -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")); + } + } +} diff --git a/src/latitude.h b/src/latitude.h index b3a781d..8ed3076 100644 --- a/src/latitude.h +++ b/src/latitude.h @@ -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 -- 1.7.9.5