-Makefile
-googlelatitude.pro.user
-build/*
-build-stamp
-configure-stamp
+LatitudeUpdater.pro.user
+++ /dev/null
-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
-}
+++ /dev/null
-include(GoogleLatitudeCommon.pri)
-TARGET = GoogleLatitudeDaemon
-HEADERS += src/daemon.h
-SOURCES += src/daemon.cpp src/main-daemon.cpp
-
-QT -= gui
+++ /dev/null
-include(GoogleLatitudeCommon.pri)
-TARGET = GoogleLatitudeGUI
-HEADERS += src/latitude.h
-SOURCES += src/latitude.cpp src/main-gui.cpp
-
-QT += webkit
+++ /dev/null
-Thanks to:
- Joppu http://talk.maemo.org/member.php?u=24013
- http://talk.maemo.org/showpost.php?p=449435&postcount=83
-
+++ /dev/null
-author "Danilo Luvizotto <danilo.luvizotto@gmail.com>"
-description "Google Latitude Updater Daemon"
-
-start on started hildon-desktop
-
-console output
-
-post-stop script
- killall -9 GoogleLatitudeDaemon
-end script
-
-exec /bin/su - user -c "/opt/linfati.com/GoogleLatitudeDaemon --init"
-
+++ /dev/null
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Type=Application
-Name=Latitude & Buzz
-Exec=/opt/linfati.com/GoogleLatitudeGUI
-Icon=googlelatitude
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-
+++ /dev/null
-The Debian Package googlelatitude
-----------------------------
-
-Comments regarding the Package
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> sab, 02 gen 2010 22:12:52 +0100
+++ /dev/null
-googlelatitude for Debian
--------------------------
-
-<possible notes regarding this package - if none, delete this file>
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> sab, 02 gen 2010 22:12:52 +0100
+++ /dev/null
-googlelatitude (0.6-2) unstable; urgency=low
-
- * enable use of gps+cell
- * fix the "start daemon" bug
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Thu, 27 Jan 2011 16:07:22 +0100
-
-googlelatitude (0.6-1) unstable; urgency=low
-
- * auto update setting for daemon, fix start at boot time, fix NaN in gps eph
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 26 Jan 2011 17:23:41 +0100
-
-googlelatitude (0.6-0) unstable; urgency=low
-
- * Daemon at boot time (default off)
- * If not network, do not try to update
- * Use of gps
- * Max 120s for a fix, min of 5 in cell-mode and 15 in gps-mode, default 30s
- * Updates between 1800s, min 300, max 3600
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 26 Jan 2011 16:32:34 +0100
-
-googlelatitude (0.4-7) unstable; urgency=low
-
- * fix maximal accuracy
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Tue, 25 Jan 2011 00:48:01 +0100
-
-googlelatitude (0.4-6) unstable; urgency=low
-
- * GUI for the daemon mode
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Sat, 22 Jan 2011 23:26:09 +0100
-
-googlelatitude (0.4-5) unstable; urgency=low
-
- * New daemon mode
- * bugs fix
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Sat, 22 Jan 2011 18:51:23 +0100
-
-googlelatitude (0.4-0) unstable; urgency=low
-
- * Bump version
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 05 May 2010 16:14:00 +0200
-
-googlelatitude (0.3-9) unstable; urgency=low
-
- * Cleanup, preparation for pr1.2
- * Now Google Location and Buzz
- * TODO: geolocation on webkit
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 05 May 2010 16:05:51 +0200
-
-googlelatitude (0.3-8) unstable; urgency=low
-
- * Testing, minor bugs fix
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Sat, 02 Jan 2010 03:53:51 +0100
-
-googlelatitude (0.3-7) unstable; urgency=low
-
- * libqt4 -> diablo = OK, fremantle -> fail
- * libqt4-maemo5 -> fremantle => OK
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Sat, 02 Jan 2010 03:40:22 +0100
-
-googlelatitude (0.3-6) unstable; urgency=low
-
- * test libqt4 + libqt4-maemo5
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Sat, 02 Jan 2010 02:44:33 +0100
-
-googlelatitude (0.3-5) unstable; urgency=low
-
- * some fix, support to auto update, auto stop on real-fix
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Fri, 01 Jan 2010 23:32:32 +0100
-
-googlelatitude (0.3-1) unstable; urgency=low
-
- * initial support to liblocation
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Fri, 01 Jan 2010 16:20:56 +0100
-
-googlelatitude (0.2-2) unstable; urgency=low
-
- * minor change in gui
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Tue, 29 Dec 2009 23:23:46 +0100
-
-googlelatitude (0.2-1) unstable; urgency=low
-
- * more fix...
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Tue, 29 Dec 2009 21:53:01 +0100
-
-googlelatitude (0.2-0) unstable; urgency=low
-
- * Google Maps via WebKit
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Tue, 29 Dec 2009 12:58:25 +0100
-
-googlelatitude (0.1-4) unstable; urgency=low
-
- * add libgconf2-dev depend... ¿why?
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 16 Dec 2009 19:08:20 +0100
-
-googlelatitude (0.1-3) unstable; urgency=low
-
- * fix depend from libqt4-dev to libqt4-maemo5-dev
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 16 Dec 2009 16:35:12 +0100
-
-googlelatitude (0.1-2) unstable; urgency=low
-
- * fix section
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Wed, 16 Dec 2009 15:34:52 +0100
-
-googlelatitude (0.1-1) unstable; urgency=low
-
- * Initial release
-
- -- Rodrigo Linfati <rodrigo@linfati.cl> Tue, 15 Dec 2009 20:42:16 +0100
-
+++ /dev/null
-Source: googlelatitude
-Section: user/navigation
-Priority: optional
-Maintainer: Rodrigo Linfati <rodrigo@linfati.cl>
-Build-Depends: debhelper (>= 5), libqt4-dev, liblocation-dev, libgconf2-dev
-Standards-Version: 3.7.2
-Homepage: http://googlelatitude.garage.maemo.org/
-XSBC-Bugtracker: mailto:rodrigo@linfati.cl
-
-Package: googlelatitude
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Google Latitude and Buzz
- Google Latitude Updater is written in QT4.
- Features:
- - Retrieve location using Cell Tower and send to Google Latitude
- - View Location of Friends
- - View Buzz of Friends
- - View and Search on Google Maps
- - Run as Daemon
-XB-Maemo-Display-Name: Google Latitude and Buzz
-XB-Description: Google Latitude and Buzz Client
- Google Latitude Updater is written in QT4.
- Features:
- - Retrieve location using Cell Tower and send to Google Latitude
- - View Location of Friends
- - View Buzz of Friends
- - View and Search on Google Maps
- - Run as Daemon
-XB-Maemo-Icon-26:
- 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
- YII=
-
+++ /dev/null
-This package was debianized by Rodrigo Linfati <rodrigo@linfati.cl> on
-sab, 02 gen 2010 22:12:52 +0100.
-
-It was downloaded from <http://googlelatitude.garage.maemo.org/>
-
-Upstream Author(s):
-
- Rodrigo Linfati <rodrigo@linfati.cl>
-
-Copyright:
-
- Copyright (C) 2009 Rodrigo Linfati
-
-License:
-
- This package is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU Lesser General
-Public License can be found in `/usr/share/common-licenses/LGPL'.
-
-The Debian packaging is (C) 2010, Rodrigo Linfati <rodrigo@linfati.cl> and
-is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+++ /dev/null
-#
-# Regular cron jobs for the googlelatitude package
-#
-0 4 * * * root [ -x /usr/bin/googlelatitude_maintenance ] && /usr/bin/googlelatitude_maintenance
+++ /dev/null
-data/Readme.icons
+++ /dev/null
-#! /bin/sh -e
-# /usr/lib/emacsen-common/packages/install/googlelatitude
-
-# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
-# from the install scripts for gettext by Santiago Vila
-# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
-
-FLAVOR=$1
-PACKAGE=googlelatitude
-
-if [ ${FLAVOR} = emacs ]; then exit 0; fi
-
-echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
-
-#FLAVORTEST=`echo $FLAVOR | cut -c-6`
-#if [ ${FLAVORTEST} = xemacs ] ; then
-# SITEFLAG="-no-site-file"
-#else
-# SITEFLAG="--no-site-file"
-#fi
-FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
-
-ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
-ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-
-# Install-info-altdir does not actually exist.
-# Maybe somebody will write it.
-if test -x /usr/sbin/install-info-altdir; then
- echo install/${PACKAGE}: install Info links for ${FLAVOR}
- install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/share/info/${PACKAGE}.info.gz
-fi
-
-install -m 755 -d ${ELCDIR}
-cd ${ELDIR}
-FILES=`echo *.el`
-cp ${FILES} ${ELCDIR}
-cd ${ELCDIR}
-
-cat << EOF > path.el
-(setq load-path (cons "." load-path) byte-compile-warnings nil)
-EOF
-${FLAVOR} ${FLAGS} ${FILES}
-rm -f *.el path.el
-
-exit 0
+++ /dev/null
-#!/bin/sh -e
-# /usr/lib/emacsen-common/packages/remove/googlelatitude
-
-FLAVOR=$1
-PACKAGE=googlelatitude
-
-if [ ${FLAVOR} != emacs ]; then
- if test -x /usr/sbin/install-info-altdir; then
- echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
- install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/share/info/googlelatitude.info.gz
- fi
-
- echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
- rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-fi
+++ /dev/null
-;; -*-emacs-lisp-*-
-;;
-;; Emacs startup file, e.g. /etc/emacs/site-start.d/50googlelatitude.el
-;; for the Debian googlelatitude package
-;;
-;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
-;; Modified by Dirk Eddelbuettel <edd@debian.org>
-;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
-
-;; The googlelatitude package follows the Debian/GNU Linux 'emacsen' policy and
-;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
-;; xemacs19, emacs20, xemacs20...). The compiled code is then
-;; installed in a subdirectory of the respective site-lisp directory.
-;; We have to add this to the load-path:
-(let ((package-dir (concat "/usr/share/"
- (symbol-name flavor)
- "/site-lisp/googlelatitude")))
-;; If package-dir does not exist, the googlelatitude package must have
-;; removed but not purged, and we should skip the setup.
- (when (file-directory-p package-dir)
- (setq load-path (cons package-dir load-path))
- (autoload 'googlelatitude-mode "googlelatitude-mode"
- "Major mode for editing googlelatitude files." t)
- (add-to-list 'auto-mode-alist '("\\.googlelatitude$" . googlelatitude-mode))))
-
+++ /dev/null
-# Defaults for googlelatitude initscript
-# sourced by /etc/init.d/googlelatitude
-# installed at /etc/default/googlelatitude by the maintainer scripts
-
-#
-# This is a POSIX shell fragment
-#
-
-# Additional options that are passed to the Daemon.
-DAEMON_OPTS=""
+++ /dev/null
-Document: googlelatitude
-Title: Debian googlelatitude Manual
-Author: <insert document author here>
-Abstract: This manual describes what googlelatitude is
- and how it can be used to
- manage online manuals on Debian systems.
-Section: unknown
-
-Format: debiandoc-sgml
-Files: /usr/share/doc/googlelatitude/googlelatitude.sgml.gz
-
-Format: postscript
-Files: /usr/share/doc/googlelatitude/googlelatitude.ps.gz
-
-Format: text
-Files: /usr/share/doc/googlelatitude/googlelatitude.text.gz
-
-Format: HTML
-Index: /usr/share/doc/googlelatitude/html/index.html
-Files: /usr/share/doc/googlelatitude/html/*.html
-
-
+++ /dev/null
-data/googlelatitude.desktop usr/share/applications/hildon
-data/googlelatitude.png usr/share/icons/hicolor/64x64/apps
-build/GoogleLatitudeGUI opt/linfati.com
-build/GoogleLatitudeDaemon opt/linfati.com
-data/glupdater etc/event.d
+++ /dev/null
-#! /bin/sh
-#
-# skeleton example file to build /etc/init.d/ scripts.
-# This file should be used to construct scripts for /etc/init.d.
-#
-# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
-# Modified for Debian
-# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
-# Further changes by Javier Fernandez-Sanguino <jfs@debian.org>
-#
-# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl
-#
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/googlelatitude
-NAME=googlelatitude
-DESC=googlelatitude
-
-test -x $DAEMON || exit 0
-
-LOGDIR=/var/log/googlelatitude
-PIDFILE=/var/run/$NAME.pid
-DODTIME=1 # Time to wait for the server to die, in seconds
- # If this value is set too low you might not
- # let some servers to die gracefully and
- # 'restart' will not work
-
-# Include googlelatitude defaults if available
-if [ -f /etc/default/googlelatitude ] ; then
- . /etc/default/googlelatitude
-fi
-
-set -e
-
-running_pid()
-{
- # Check if a given process pid's cmdline matches a given name
- pid=$1
- name=$2
- [ -z "$pid" ] && return 1
- [ ! -d /proc/$pid ] && return 1
- cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
- # Is this the expected child?
- [ "$cmd" != "$name" ] && return 1
- return 0
-}
-
-running()
-{
-# Check if the process is running looking at /proc
-# (works for all users)
-
- # No pidfile, probably no daemon present
- [ ! -f "$PIDFILE" ] && return 1
- # Obtain the pid and check it against the binary name
- pid=`cat $PIDFILE`
- running_pid $pid $DAEMON || return 1
- return 0
-}
-
-force_stop() {
-# Forcefully kill the process
- [ ! -f "$PIDFILE" ] && return
- if running ; then
- kill -15 $pid
- # Is it really dead?
- [ -n "$DODTIME" ] && sleep "$DODTIME"s
- if running ; then
- kill -9 $pid
- [ -n "$DODTIME" ] && sleep "$DODTIME"s
- if running ; then
- echo "Cannot kill $LABEL (pid=$pid)!"
- exit 1
- fi
- fi
- fi
- rm -f $PIDFILE
- return 0
-}
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile $PIDFILE \
- --exec $DAEMON -- $DAEMON_OPTS
- if running ; then
- echo "$NAME."
- else
- echo " ERROR."
- fi
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile $PIDFILE \
- --exec $DAEMON
- echo "$NAME."
- ;;
- force-stop)
- echo -n "Forcefully stopping $DESC: "
- force_stop
- if ! running ; then
- echo "$NAME."
- else
- echo " ERROR."
- fi
- ;;
- #reload)
- #
- # If the daemon can reload its config files on the fly
- # for example by sending it SIGHUP, do it here.
- #
- # If the daemon responds to changes in its config file
- # directly anyway, make this a do-nothing entry.
- #
- # echo "Reloading $DESC configuration files."
- # start-stop-daemon --stop --signal 1 --quiet --pidfile \
- # /var/run/$NAME.pid --exec $DAEMON
- #;;
- force-reload)
- #
- # If the "reload" option is implemented, move the "force-reload"
- # option to the "reload" entry above. If not, "force-reload" is
- # just the same as "restart" except that it does nothing if the
- # daemon isn't already running.
- # check wether $DAEMON is running. If so, restart
- start-stop-daemon --stop --test --quiet --pidfile \
- /var/run/$NAME.pid --exec $DAEMON \
- && $0 restart \
- || exit 0
- ;;
- restart)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /var/run/$NAME.pid --exec $DAEMON
- [ -n "$DODTIME" ] && sleep $DODTIME
- start-stop-daemon --start --quiet --pidfile \
- /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- status)
- echo -n "$LABEL is "
- if running ; then
- echo "running"
- else
- echo " not running."
- exit 1
- fi
- ;;
- *)
- N=/etc/init.d/$NAME
- # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-#!/bin/sh
-#
-# Example init.d script with LSB support.
-#
-# Please read this init.d carefully and modify the sections to
-# adjust it to the program you want to run.
-#
-# Copyright (c) 2007 Javier Fernandez-Sanguino <jfs@debian.org>
-#
-# This is free software; you may redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2,
-# or (at your option) any later version.
-#
-# This is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License with
-# the Debian operating system, in /usr/share/common-licenses/GPL; if
-# not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-### BEGIN INIT INFO
-# Provides: googlelatitude
-# Required-Start: $network $local_fs
-# Required-Stop:
-# Should-Start: $named
-# Should-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: <Enter a short description of the sortware>
-# Description: <Enter a long description of the software>
-# <...>
-# <...>
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/sbin/googlelatitude # Introduce the server's location here
-NAME=#PACKAGE # Introduce the short server's name here
-DESC=#PACKAGE # Introduce a short description here
-LOGDIR=/var/log/googlelatitude # Log directory to use
-
-PIDFILE=/var/run/$NAME.pid
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-# Default options, these can be overriden by the information
-# at /etc/default/$NAME
-DAEMON_OPTS="" # Additional options given to the server
-
-DIETIME=10 # Time to wait for the server to die, in seconds
- # If this value is set too low you might not
- # let some servers to die gracefully and
- # 'restart' will not work
-
-#STARTTIME=2 # Time to wait for the server to start, in seconds
- # If this value is set each time the server is
- # started (on start or restart) the script will
- # stall to try to determine if it is running
- # If it is not set and the server takes time
- # to setup a pid file the log message might
- # be a false positive (says it did not start
- # when it actually did)
-
-LOGFILE=$LOGDIR/$NAME.log # Server logfile
-#DAEMONUSER=googlelatitude # Users to run the daemons as. If this value
- # is set start-stop-daemon will chuid the server
-
-# Include defaults if available
-if [ -f /etc/default/$NAME ] ; then
- . /etc/default/$NAME
-fi
-
-# Use this if you want the user to explicitly set 'RUN' in
-# /etc/default/
-#if [ "x$RUN" != "xyes" ] ; then
-# log_failure_msg "$NAME disabled, please adjust the configuration to your needs "
-# log_failure_msg "and then set RUN to 'yes' in /etc/default/$NAME to enable it."
-# exit 1
-#fi
-
-# Check that the user exists (if we set a user)
-# Does the user exist?
-if [ -n "$DAEMONUSER" ] ; then
- if getent passwd | grep -q "^$DAEMONUSER:"; then
- # Obtain the uid and gid
- DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
- DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
- else
- log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
- exit 1
- fi
-fi
-
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
- pid=$1
- name=$2
- [ -z "$pid" ] && return 1
- [ ! -d /proc/$pid ] && return 1
- cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
- # Is this the expected server
- [ "$cmd" != "$name" ] && return 1
- return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
- # No pidfile, probably no daemon present
- [ ! -f "$PIDFILE" ] && return 1
- pid=`cat $PIDFILE`
- running_pid $pid $DAEMON || return 1
- return 0
-}
-
-start_server() {
-# Start the process using the wrapper
- if [ -z "$DAEMONUSER" ] ; then
- start_daemon -p $PIDFILE $DAEMON -- $DAEMON_OPTS
- errcode=$?
- else
-# if we are using a daemonuser then change the user id
- start-stop-daemon --start --quiet --pidfile $PIDFILE \
- --chuid $DAEMONUSER \
- --exec $DAEMON -- $DAEMON_OPTS
- errcode=$?
- fi
- return $errcode
-}
-
-stop_server() {
-# Stop the process using the wrapper
- if [ -z "$DAEMONUSER" ] ; then
- killproc -p $PIDFILE $DAEMON
- errcode=$?
- else
-# if we are using a daemonuser then look for process that match
- start-stop-daemon --stop --quiet --pidfile $PIDFILE \
- --user $DAEMONUSER \
- --exec $DAEMON
- errcode=$?
- fi
-
- return $errcode
-}
-
-reload_server() {
- [ ! -f "$PIDFILE" ] && return 1
- pid=pidofproc $PIDFILE # This is the daemon's pid
- # Send a SIGHUP
- kill -1 $pid
- return $?
-}
-
-force_stop() {
-# Force the process to die killing it manually
- [ ! -e "$PIDFILE" ] && return
- if running ; then
- kill -15 $pid
- # Is it really dead?
- sleep "$DIETIME"s
- if running ; then
- kill -9 $pid
- sleep "$DIETIME"s
- if running ; then
- echo "Cannot kill $NAME (pid=$pid)!"
- exit 1
- fi
- fi
- fi
- rm -f $PIDFILE
-}
-
-
-case "$1" in
- start)
- log_daemon_msg "Starting $DESC " "$NAME"
- # Check if it's running first
- if running ; then
- log_progress_msg "apparently already running"
- log_end_msg 0
- exit 0
- fi
- if start_server ; then
- # NOTE: Some servers might die some time after they start,
- # this code will detect this issue if STARTTIME is set
- # to a reasonable value
- [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
- if running ; then
- # It's ok, the server started and is running
- log_end_msg 0
- else
- # It is not running after we did start
- log_end_msg 1
- fi
- else
- # Either we could not start it
- log_end_msg 1
- fi
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- if running ; then
- # Only stop the server if we see it running
- errcode=0
- stop_server || errcode=$?
- log_end_msg $errcode
- else
- # If it's not running don't do anything
- log_progress_msg "apparently not running"
- log_end_msg 0
- exit 0
- fi
- ;;
- force-stop)
- # First try to stop gracefully the program
- $0 stop
- if running; then
- # If it's still running try to kill it more forcefully
- log_daemon_msg "Stopping (force) $DESC" "$NAME"
- errcode=0
- force_stop || errcode=$?
- log_end_msg $errcode
- fi
- ;;
- restart|force-reload)
- log_daemon_msg "Restarting $DESC" "$NAME"
- errcode=0
- stop_server || errcode=$?
- # Wait some sensible amount, some server need this
- [ -n "$DIETIME" ] && sleep $DIETIME
- start_server || errcode=$?
- [ -n "$STARTTIME" ] && sleep $STARTTIME
- running || errcode=$?
- log_end_msg $errcode
- ;;
- status)
-
- log_daemon_msg "Checking status of $DESC" "$NAME"
- if running ; then
- log_progress_msg "running"
- log_end_msg 0
- else
- log_progress_msg "apparently not running"
- log_end_msg 1
- exit 1
- fi
- ;;
- # Use this if the daemon cannot reload
- reload)
- log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
- log_warning_msg "cannot re-read the config file (use restart)."
- ;;
- # And this if it cann
- #reload)
- #
- # If the daemon can reload its config files on the fly
- # for example by sending it SIGHUP, do it here.
- #
- # If the daemon responds to changes in its config file
- # directly anyway, make this a do-nothing entry.
- #
- # log_daemon_msg "Reloading $DESC configuration files" "$NAME"
- # if running ; then
- # reload_server
- # if ! running ; then
- # Process died after we tried to reload
- # log_progress_msg "died on reload"
- # log_end_msg 1
- # exit 1
- # fi
- # else
- # log_progress_msg "server is not running"
- # log_end_msg 1
- # exit 1
- # fi
- #;;
-
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-.\" Hey, EMACS: -*- nroff -*-
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH GOOGLELATITUDE SECTION "January 2, 2010"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-googlelatitude \- program to do something
-.SH SYNOPSIS
-.B googlelatitude
-.RI [ options ] " files" ...
-.br
-.B bar
-.RI [ options ] " files" ...
-.SH DESCRIPTION
-This manual page documents briefly the
-.B googlelatitude
-and
-.B bar
-commands.
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
-.\" respectively.
-\fBgooglelatitude\fP is a program that...
-.SH OPTIONS
-These programs follow the usual GNU command line syntax, with long
-options starting with two dashes (`-').
-A summary of options is included below.
-For a complete description, see the Info files.
-.TP
-.B \-h, \-\-help
-Show summary of options.
-.TP
-.B \-v, \-\-version
-Show version of program.
-.SH SEE ALSO
-.BR bar (1),
-.BR baz (1).
-.br
-The programs are documented fully by
-.IR "The Rise and Fall of a Fooish Bar" ,
-available via the Info system.
-.SH AUTHOR
-googlelatitude was written by <upstream author>.
-.PP
-This manual page was written by Rodrigo Linfati <rodrigo@linfati.cl>,
-for the Debian project (but may be used by others).
+++ /dev/null
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
- page: `docbook-to-man manpage.sgml > manpage.1'. You may view
- the manual page with: `docbook-to-man manpage.sgml | nroff -man |
- less'. A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
- docbook-to-man $< > $@
-
-
- The docbook-to-man binary is found in the docbook-to-man package.
- Please remember that if you create the nroff version in one of the
- debian/rules file targets (such as build), you will need to include
- docbook-to-man in your Build-Depends control field.
-
- -->
-
- <!-- Fill in your name for FIRSTNAME and SURNAME. -->
- <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
- <!ENTITY dhsurname "<surname>SURNAME</surname>">
- <!-- Please adjust the date whenever revising the manpage. -->
- <!ENTITY dhdate "<date>January 2, 2010</date>">
- <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
- allowed: see man(7), man(1). -->
- <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
- <!ENTITY dhemail "<email>rodrigo@linfati.cl</email>">
- <!ENTITY dhusername "Rodrigo Linfati">
- <!ENTITY dhucpackage "<refentrytitle>GOOGLELATITUDE</refentrytitle>">
- <!ENTITY dhpackage "googlelatitude">
-
- <!ENTITY debian "<productname>Debian</productname>">
- <!ENTITY gnu "<acronym>GNU</acronym>">
- <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
-]>
-
-<refentry>
- <refentryinfo>
- <address>
- &dhemail;
- </address>
- <author>
- &dhfirstname;
- &dhsurname;
- </author>
- <copyright>
- <year>2003</year>
- <holder>&dhusername;</holder>
- </copyright>
- &dhdate;
- </refentryinfo>
- <refmeta>
- &dhucpackage;
-
- &dhsection;
- </refmeta>
- <refnamediv>
- <refname>&dhpackage;</refname>
-
- <refpurpose>program to do something</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>&dhpackage;</command>
-
- <arg><option>-e <replaceable>this</replaceable></option></arg>
-
- <arg><option>--example <replaceable>that</replaceable></option></arg>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
-
- <para>This manual page documents briefly the
- <command>&dhpackage;</command> and <command>bar</command>
- commands.</para>
-
- <para>This manual page was written for the &debian; distribution
- because the original program does not have a manual page.
- Instead, it has documentation in the &gnu;
- <application>Info</application> format; see below.</para>
-
- <para><command>&dhpackage;</command> is a program that...</para>
-
- </refsect1>
- <refsect1>
- <title>OPTIONS</title>
-
- <para>These programs follow the usual &gnu; command line syntax,
- with long options starting with two dashes (`-'). A summary of
- options is included below. For a complete description, see the
- <application>Info</application> files.</para>
-
- <variablelist>
- <varlistentry>
- <term><option>-h</option>
- <option>--help</option>
- </term>
- <listitem>
- <para>Show summary of options.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-v</option>
- <option>--version</option>
- </term>
- <listitem>
- <para>Show version of program.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
-
- <para>bar (1), baz (1).</para>
-
- <para>The programs are documented fully by <citetitle>The Rise and
- Fall of a Fooish Bar</citetitle> available via the
- <application>Info</application> system.</para>
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
-
- <para>This manual page was written by &dhusername; &dhemail; for
- the &debian; system (but may be used by others). Permission is
- granted to copy, distribute and/or modify this document under
- the terms of the &gnu; General Public License, Version 2 any
- later version published by the Free Software Foundation.
- </para>
- <para>
- On Debian systems, the complete text of the GNU General Public
- License can be found in /usr/share/common-licenses/GPL.
- </para>
-
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
-
-
+++ /dev/null
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
-<!--
-
-`xsltproc -''-nonet \
- -''-param man.charmap.use.subset "0" \
- -''-param make.year.ranges "1" \
- -''-param make.single.year.ranges "1" \
- /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
- manpage.xml'
-
-A manual page <package>.<section> will be generated. You may view the
-manual page with: nroff -man <package>.<section> | less'. A typical entry
-in a Makefile or Makefile.am is:
-
-DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
-XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
-
-manpage.1: manpage.xml
- $(XP) $(DB2MAN) $<
-
-The xsltproc binary is found in the xsltproc package. The XSL files are in
-docbook-xsl. A description of the parameters you can use can be found in the
-docbook-xsl-doc-* packages. Please remember that if you create the nroff
-version in one of the debian/rules file targets (such as build), you will need
-to include xsltproc and docbook-xsl in your Build-Depends control field.
-Alternatively use the xmlto command/package. That will also automatically
-pull in xsltproc and docbook-xsl.
-
-Notes for using docbook2x: docbook2x-man does not automatically create the
-AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
-<refsect1> ... </refsect1>.
-
-To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
-read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
-found in the docbook-xsl-doc-html package.
-
-Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
-
-General documentation about man-pages and man-page-formatting:
-man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
-
--->
-
- <!-- Fill in your name for FIRSTNAME and SURNAME. -->
- <!ENTITY dhfirstname "FIRSTNAME">
- <!ENTITY dhsurname "SURNAME">
- <!-- dhusername could also be set to "&firstname; &surname;". -->
- <!ENTITY dhusername "Rodrigo Linfati">
- <!ENTITY dhemail "rodrigo@linfati.cl">
- <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
- allowed: see man(7), man(1) and
- http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
- <!ENTITY dhsection "SECTION">
- <!-- TITLE should be something like "User commands" or similar (see
- http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
- <!ENTITY dhtitle "googlelatitude User Manual">
- <!ENTITY dhucpackage "GOOGLELATITUDE">
- <!ENTITY dhpackage "googlelatitude">
-]>
-
-<refentry>
- <refentryinfo>
- <title>&dhtitle;</title>
- <productname>&dhpackage;</productname>
- <authorgroup>
- <author>
- <firstname>&dhfirstname;</firstname>
- <surname>&dhsurname;</surname>
- <contrib>Wrote this manpage for the Debian system.</contrib>
- <address>
- <email>&dhemail;</email>
- </address>
- </author>
- </authorgroup>
- <copyright>
- <year>2007</year>
- <holder>&dhusername;</holder>
- </copyright>
- <legalnotice>
- <para>This manual page was written for the Debian system
- (but may be used by others).</para>
- <para>Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU General Public License,
- Version 2 or (at your option) any later version published by
- the Free Software Foundation.</para>
- <para>On Debian systems, the complete text of the GNU General Public
- License can be found in
- <filename>/usr/share/common-licenses/GPL</filename>.</para>
- </legalnotice>
- </refentryinfo>
- <refmeta>
- <refentrytitle>&dhucpackage;</refentrytitle>
- <manvolnum>&dhsection;</manvolnum>
- </refmeta>
- <refnamediv>
- <refname>&dhpackage;</refname>
- <refpurpose>program to do something</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>&dhpackage;</command>
- <!-- These are several examples, how syntaxes could look -->
- <arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg>
- <arg choice="opt"><option>--example=<parameter>that</parameter></option></arg>
- <arg choice="opt">
- <group choice="req">
- <arg choice="plain"><option>-e</option></arg>
- <arg choice="plain"><option>--example</option></arg>
- </group>
- <replaceable class="option">this</replaceable>
- </arg>
- <arg choice="opt">
- <group choice="req">
- <arg choice="plain"><option>-e</option></arg>
- <arg choice="plain"><option>--example</option></arg>
- </group>
- <group choice="req">
- <arg choice="plain"><replaceable>this</replaceable></arg>
- <arg choice="plain"><replaceable>that</replaceable></arg>
- </group>
- </arg>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>&dhpackage;</command>
- <!-- Normally the help and version options make the programs stop
- right after outputting the requested information. -->
- <group choice="opt">
- <arg choice="plain">
- <group choice="req">
- <arg choice="plain"><option>-h</option></arg>
- <arg choice="plain"><option>--help</option></arg>
- </group>
- </arg>
- <arg choice="plain">
- <group choice="req">
- <arg choice="plain"><option>-v</option></arg>
- <arg choice="plain"><option>--version</option></arg>
- </group>
- </arg>
- </group>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1 id="description">
- <title>DESCRIPTION</title>
- <para>This manual page documents briefly the
- <command>&dhpackage;</command> and <command>bar</command>
- commands.</para>
- <para>This manual page was written for the Debian distribution
- because the original program does not have a manual page.
- Instead, it has documentation in the GNU <citerefentry>
- <refentrytitle>info</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry> format; see below.</para>
- <para><command>&dhpackage;</command> is a program that...</para>
- </refsect1>
- <refsect1 id="options">
- <title>OPTIONS</title>
- <para>The program follows the usual GNU command line syntax,
- with long options starting with two dashes (`-'). A summary of
- options is included below. For a complete description, see the
- <citerefentry>
- <refentrytitle>info</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry> files.</para>
- <variablelist>
- <!-- Use the variablelist.term.separator and the
- variablelist.term.break.after parameters to
- control the term elements. -->
- <varlistentry>
- <term><option>-e <replaceable>this</replaceable></option></term>
- <term><option>--example=<replaceable>that</replaceable></option></term>
- <listitem>
- <para>Does this and that.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-h</option></term>
- <term><option>--help</option></term>
- <listitem>
- <para>Show summary of options.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-v</option></term>
- <term><option>--version</option></term>
- <listitem>
- <para>Show version of program.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1 id="files">
- <title>FILES</title>
- <variablelist>
- <varlistentry>
- <term><filename>/etc/foo.conf</filename></term>
- <listitem>
- <para>The system-wide configuration file to control the
- behaviour of <application>&dhpackage;</application>. See
- <citerefentry>
- <refentrytitle>foo.conf</refentrytitle>
- <manvolnum>5</manvolnum>
- </citerefentry> for further details.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>${HOME}/.foo.conf</filename></term>
- <listitem>
- <para>The per-user configuration file to control the
- behaviour of <application>&dhpackage;</application>. See
- <citerefentry>
- <refentrytitle>foo.conf</refentrytitle>
- <manvolnum>5</manvolnum>
- </citerefentry> for further details.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1 id="environment">
- <title>ENVIONMENT</title>
- <variablelist>
- <varlistentry>
- <term><envar>FOO_CONF</envar></term>
- <listitem>
- <para>If used, the defined file is used as configuration
- file (see also <xref linkend="files"/>).</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1 id="diagnostics">
- <title>DIAGNOSTICS</title>
- <para>The following diagnostics may be issued
- on <filename class="devicefile">stderr</filename>:</para>
- <variablelist>
- <varlistentry>
- <term><errortext>Bad configuration file. Exiting.</errortext></term>
- <listitem>
- <para>The configuration file seems to contain a broken configuration
- line. Use the <option>--verbose</option> option, to get more info.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para><command>&dhpackage;</command> provides some return codes, that can
- be used in scripts:</para>
- <segmentedlist>
- <segtitle>Code</segtitle>
- <segtitle>Diagnostic</segtitle>
- <seglistitem>
- <seg><errorcode>0</errorcode></seg>
- <seg>Program exited successfully.</seg>
- </seglistitem>
- <seglistitem>
- <seg><errorcode>1</errorcode></seg>
- <seg>The configuration file seems to be broken.</seg>
- </seglistitem>
- </segmentedlist>
- </refsect1>
- <refsect1 id="bugs">
- <!-- Or use this section to tell about upstream BTS. -->
- <title>BUGS</title>
- <para>The program is currently limited to only work
- with the <package>foobar</package> library.</para>
- <para>The upstreams <acronym>BTS</acronym> can be found
- at <ulink url="http://bugzilla.foo.tld"/>.</para>
- </refsect1>
- <refsect1 id="see_also">
- <title>SEE ALSO</title>
- <!-- In alpabetical order. -->
- <para><citerefentry>
- <refentrytitle>bar</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>baz</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>foo.conf</refentrytitle>
- <manvolnum>5</manvolnum>
- </citerefentry></para>
- <para>The programs are documented fully by <citetitle>The Rise and
- Fall of a Fooish Bar</citetitle> available via the <citerefentry>
- <refentrytitle>info</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry> system.</para>
- </refsect1>
-</refentry>
-
+++ /dev/null
-?package(googlelatitude):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
- title="googlelatitude" command="/usr/bin/googlelatitude"
+++ /dev/null
-#!/bin/sh
-# postinst script for googlelatitude
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <postinst> `configure' <most-recently-configured-version>
-# * <old-postinst> `abort-upgrade' <new version>
-# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-# <new-version>
-# * <postinst> `abort-remove'
-# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-# <failed-install-package> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- configure)
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
+++ /dev/null
-#!/bin/sh
-# postrm script for googlelatitude
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <postrm> `remove'
-# * <postrm> `purge'
-# * <old-postrm> `upgrade' <new-version>
-# * <new-postrm> `failed-upgrade' <old-version>
-# * <new-postrm> `abort-install'
-# * <new-postrm> `abort-install' <old-version>
-# * <new-postrm> `abort-upgrade' <old-version>
-# * <disappearer's-postrm> `disappear' <overwriter>
-# <overwriter-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
- ;;
-
- *)
- echo "postrm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
+++ /dev/null
-#!/bin/sh
-# preinst script for googlelatitude
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <new-preinst> `install'
-# * <new-preinst> `install' <old-version>
-# * <new-preinst> `upgrade' <old-version>
-# * <old-preinst> `abort-upgrade' <new-version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- install|upgrade)
- ;;
-
- abort-upgrade)
- ;;
-
- *)
- echo "preinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
+++ /dev/null
-#!/bin/sh
-# prerm script for googlelatitude
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-# * <prerm> `remove'
-# * <old-prerm> `upgrade' <new-version>
-# * <new-prerm> `failed-upgrade' <old-version>
-# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
-# * <deconfigured's-prerm> `deconfigure' `in-favour'
-# <package-being-installed> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
- remove|upgrade|deconfigure)
- ;;
-
- failed-upgrade)
- ;;
-
- *)
- echo "prerm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
+++ /dev/null
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-export DH_VERBOSE=1
-
-APPNAME := googlelatitude
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- qmake $(APPNAME).pro
- touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp
- dh_testdir
- $(MAKE)
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
- -$(MAKE) clean
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
- $(MAKE) DESTDIR=$(CURDIR)/debian/$(APPNAME) install
-
-binary-indep: build install
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
- dh_install
- dh_installmenu
- dh_installdebconf
- dh_installlogrotate
- dh_installemacsen
- dh_installpam
- dh_installmime
- dh_python
- dh_installinit
- dh_installcron
- dh_installinfo
- dh_installman
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
- dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+++ /dev/null
-# Example watch control file for uscan
-# Rename this file to "watch" and then you can run the "uscan" command
-# to check for upstream updates and more.
-# See uscan(1) for format
-
-# Compulsory line, this is a version 3 file
-version=3
-
-# Uncomment to examine a Webpage
-# <Webpage URL> <string match>
-#http://www.example.com/downloads.php googlelatitude-(.*)\.tar\.gz
-
-# Uncomment to examine a Webserver directory
-#http://www.example.com/pub/googlelatitude-(.*)\.tar\.gz
-
-# Uncommment to examine a FTP server
-#ftp://ftp.example.com/pub/googlelatitude-(.*)\.tar\.gz debian uupdate
-
-# Uncomment to find new files on sourceforge, for devscripts >= 2.9
-# http://sf.net/googlelatitude/googlelatitude-(.*)\.tar\.gz
-
-# Uncomment to find new files on GooglePages
-# http://example.googlepages.com/foo.html googlelatitude-(.*)\.tar\.gz
+++ /dev/null
-TEMPLATE = subdirs
-SUBDIRS += GoogleLatitudeDaemon.pro
-SUBDIRS += GoogleLatitudeGUI.pro
+++ /dev/null
-#include "daemon.h"
-
-Daemon::Daemon(QObject *parent) : QObject(parent) {
- setting = new QSettings();
- gps = new GpsMaemo5(this);
- glatitude = new GoogleLatitude(this);
-
- connect(gps, SIGNAL(fix()), this, SLOT(set()));
- connect(glatitude, SIGNAL(glat_ok()), this, SLOT(daemon_ok()));
- connect(glatitude, SIGNAL(glat_error()), this, SLOT(daemon_error()));
-
- set_config();
- if ( 0 ) gps->config(15, 3, 0);
-
- gps->refresh();
-}
-
-void Daemon::set() {
- qDebug() << "Daemon: set";
- set_config();
- glatitude->update(gps->get_lat(),
- gps->get_lon(),
- gps->get_acc());
-}
-
-void Daemon::set_config() {
- qDebug() << "Daemon: set_config";
- glatitude->set_login(setting->value("user","my_username").toString(),
- setting->value("pass","my_password").toString());
-
- gps->config(setting->value("interval",1800).toInt(),
- setting->value("wait",30).toInt(),
- setting->value("method","cell").toString());
-}
-
-void Daemon::daemon_ok() {
- qDebug() << "Daemon: ok";
-}
-
-void Daemon::daemon_error() {
- qDebug() << "Daemon: no auth";
- QCoreApplication::exit();
-}
+++ /dev/null
-#ifndef DAEMON_H
-#define DAEMON_H
-
-#include <QtCore>
-#include "gps.h"
-#include "glatitude.h"
-
-class Daemon : public QObject {
- Q_OBJECT
-
-public:
- Daemon(QObject *parent = 0);
-
-private slots:
- void set();
- void set_config();
- void daemon_ok();
- void daemon_error();
-
-private:
- QSettings *setting;
- GpsMaemo5 *gps;
- GoogleLatitude *glatitude;
-};
-
-#endif // DAEMON_H
+++ /dev/null
-#include "glatitude.h"
-
-GoogleLatitude::GoogleLatitude(QObject *parent) :
- QObject(parent),
- user(""), pass(""), login_error(false),
- latitude(0), longitude(0), accuracy(0) {
-
- worker = new QNetworkAccessManager();
- connect(worker, SIGNAL(finished(QNetworkReply *)), this, SLOT(glat_reply(QNetworkReply *)));
-
- urllogin = QUrl::fromEncoded("https://www.google.com/accounts/ServiceLogin?service=friendview");
- urldologin = QUrl::fromEncoded("https://www.google.com/accounts/ServiceLoginAuth?service=friendview");
- urlupdate = QUrl::fromEncoded("http://maps.google.com/glm/mmap/mwmfr?hl=en");
-}
-
-void GoogleLatitude::set_login(QString u, QString p) {
- qDebug() << "GoogleLatitude: set_login";
- if ( !u.contains('@') ) u.append("@gmail.com");
- user = u;
- pass = p;
-}
-
-void GoogleLatitude::update(double la, double lo, double ac) {
- if (login_error) return;
- if (!la) return;
- if (!lo) return;
- if (!ac) return;
-
-#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
- QNetworkConfigurationManager mgr;
- if (!mgr.isOnline()) {
- qDebug() << "GoogleLatitude: offline";
- return;
- }
-#endif
-
- qDebug() << "GoogleLatitude: update";
-
- latitude = la;
- longitude = lo;
- accuracy = ac;
-
- worker->get(QNetworkRequest(urllogin));
-}
-
-void GoogleLatitude::reset() {
- qDebug() << "GoogleLatitude: reset";
- login_error = false;
- update(latitude, longitude, accuracy);
-}
-
-void GoogleLatitude::glat_reply(QNetworkReply *r) {
- if ( r->url() == urllogin ) {
- qDebug() << "GoogleLatitude: login";
- QString aidis = r->readAll();
- QRegExp regexp ("type=\"hidden\".*name=\"GALX\".*value=\"(.*)\"");
- regexp.setMinimal(1);
- regexp.indexIn(aidis, 1);
- QString googleGALX = regexp.capturedTexts().last();
-
- QByteArray datalogin;
- datalogin += "&service=friendview";
- datalogin += "&GALX=" + googleGALX;
- datalogin += "&Email=" + user;
- datalogin += "&Passwd=" + pass;
- worker->post(QNetworkRequest(urldologin), datalogin);
- } else if ( r->url() == urldologin ) {
- qDebug() << "GoogleLatitude: dologin";
- QByteArray datagps;
- datagps += "t=ul";
- datagps += "&lat=" + QString::number(latitude);
- datagps += "&lng=" + QString::number(longitude);
- datagps += "&accuracy=" + QString::number(accuracy);
-
- QNetworkRequest request(urlupdate);
- request.setRawHeader("X-ManualHeader", QString("true").toAscii() );
- worker->post(request, datagps);
- } else if ( r->url() == urlupdate ) {
- QString output = r->readAll();
- QRegExp regexp ("Authentication required");
- if (regexp.indexIn(output, 1) != -1) {
- qDebug() << "GoogleLatitude: update error auth";
- login_error = true;
- emit glat_error();
- } else {
- qDebug() << "GoogleLatitude: update ok";
- qDebug() << output;
- emit glat_ok();
- }
- } else {
- qDebug() << "GoogleLatitude Error url" << r->url();
- qDebug() << r->rawHeaderList();
- qDebug() << r->readAll();
- }
-}
+++ /dev/null
-#ifndef GLATITUDE_H
-#define GLATITUDE_H
-
-#include <QtCore>
-#include <QtNetwork>
-
-class GoogleLatitude : public QObject {
- Q_OBJECT
-
-signals:
- void glat_ok();
- void glat_error();
-
-public:
- GoogleLatitude(QObject *parent = 0);
- void set_login(QString username, QString password);
- void update(double la, double lo, double ac);
- void reset();
-
-private slots:
- void glat_reply(QNetworkReply *r);
-
-private:
- QString user;
- QString pass;
- bool login_error;
- double latitude;
- double longitude;
- double accuracy;
-
- QNetworkAccessManager *worker;
- QUrl urllogin;
- QUrl urldologin;
- QUrl urlupdate;
-};
-
-#endif // GLATITUDE_H
+++ /dev/null
-#include "gps.h"
-
-GpsMaemo5::GpsMaemo5(QObject *parent) :
- QObject(parent),
- latitude(0), longitude(0), accuracy(0),
- interval(1800), wait(30), method("cell"),
- emitfix(false), stopgps(true) {
-#ifdef Q_WS_MAEMO_5
- control = location_gpsd_control_get_default();
- device = (LocationGPSDevice*) g_object_new(LOCATION_TYPE_GPS_DEVICE, NULL);
- g_signal_connect(device, "changed", G_CALLBACK(GpsMaemo5_changed), this);
-#else
- urlloc = QUrl::fromEncoded("http://www.google.com/loc/json");
- worker = new QNetworkAccessManager();
- connect(worker, SIGNAL(finished(QNetworkReply *)), this, SLOT(gloc_reply(QNetworkReply *)));
-#endif // Q_WS_MAEMO_5
-}
-
-void GpsMaemo5::refresh() {
- if ( stopgps ) return;
- qDebug() << "GpsMaemo5: refresh";
-
- QTimer::singleShot(interval*1000, this, SLOT(refresh()));
- QTimer::singleShot(wait*1000, this, SLOT(stop()));
-
-#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
- QNetworkConfigurationManager mgr;
- if (!mgr.isOnline()) {
- qDebug() << "GpsMaemo5: offline";
- return;
- }
-#endif
-
-#ifdef Q_WS_MAEMO_5
- 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
- worker->post(QNetworkRequest(urlloc), QByteArray("{version:\"1.1.0\"}"));
-#endif // Q_WS_MAEMO_5
-}
-
-void GpsMaemo5::stop() {
- qDebug() << "GpsMaemo5: stop";
-#ifdef Q_WS_MAEMO_5
- location_gpsd_control_stop(control);
-#else
-#endif // Q_WS_MAEMO_5
- if (emitfix) {
- emitfix = false;
- emit fix();
- }
-}
-
-void GpsMaemo5::forcestop() {
- qDebug() << "GpsMaemo5: forcestop";
- stopgps = true;
- emitfix = false;
- stop();
-}
-
-int GpsMaemo5::config(int i, int w, QString m) {
- qDebug() << "GpsMaemo5: config";
- stopgps = false;
- interval = i;
- wait = w;
- method = m;
- return 0;
-}
-
-#ifdef Q_WS_MAEMO_5
-void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
- if (device->fix) {
- if (device->fix->fields) {
- if ( isnan(gps->device->fix->eph) ) return;
- 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->emitfix = true;
- }
- }
-}
-#else
-void GpsMaemo5::gloc_reply(QNetworkReply *r) {
- if ( r->url() == urlloc ) {
- QString loc = r->readAll();
- QRegExp regexp ("\\{\"latitude\":(.*),\"longitude\":(.*),\"accuracy\":(.*)\\}");
- regexp.setMinimal(1);
- regexp.indexIn(loc, 1);
- latitude = regexp.capturedTexts().at(1).toDouble();
- longitude = regexp.capturedTexts().at(2).toDouble();
- accuracy = regexp.capturedTexts().at(3).toDouble();
- if ( accuracy > 100000 ) accuracy = 100000;
- qDebug() << "GpsIP lat" << latitude << "lon" << longitude << "acc" << accuracy;
- emitfix = true;
- } else {
- qDebug() << "GpsIP Error url" << r->url();
- qDebug() << r->rawHeaderList();
- qDebug() << r->readAll();
- }
-}
-#endif // Q_WS_MAEMO_5
+++ /dev/null
-#ifndef GPS_H
-#define GPS_H
-
-#include <QtCore>
-#include <QtNetwork>
-
-#ifdef Q_WS_MAEMO_5
-extern "C" {
-#include <location/location-gps-device.h>
-#include <location/location-gpsd-control.h>
-}
-#else
-#include <QtNetwork>
-#endif // Q_WS_MAEMO_5
-
-class GpsMaemo5 : public QObject {
- Q_OBJECT
-
-signals:
- void fix();
-
-public:
- GpsMaemo5(QObject *parent = 0);
- double get_lat() { return latitude; }
- double get_lon() { return longitude; }
- double get_acc() { return accuracy; }
-
-public slots:
- void refresh();
- void stop();
- void forcestop();
- int config(int i, int w, QString m);
-
-private slots:
-#ifdef Q_WS_MAEMO_5
- friend void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps);
-#else
- void gloc_reply(QNetworkReply *r);
-#endif // Q_WS_MAEMO_5
-
-private:
- double latitude;
- double longitude;
- double accuracy;
- int interval;
- int wait;
- QString method;
- bool emitfix;
- bool stopgps;
-#ifdef Q_WS_MAEMO_5
- LocationGPSDControl *control;
- LocationGPSDevice *device;
-#else
- QUrl urlloc;
- QNetworkAccessManager *worker;
-#endif // Q_WS_MAEMO_5
-};
-
-#ifdef Q_WS_MAEMO_5
-void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps);
-#endif // Q_WS_MAEMO_5
-
-#endif // GPS_H
+++ /dev/null
-#include "latitude.h"
-
-LatitudeGUI::LatitudeGUI(QMainWindow *parent) : QMainWindow(parent) {
- setting = new QSettings();
- gps = new GpsMaemo5(this);
- glatitude = new GoogleLatitude(this);
-
- connect(gps, SIGNAL(fix()), this, SLOT(set()));
- connect(glatitude, SIGNAL(glat_ok()), this, SLOT(latitude_ok()));
- connect(glatitude, SIGNAL(glat_error()), this, SLOT(latitude_error()));
-
- set_config();
- if ( 0 ) gps->config(15, 3, 0);
-
- gps->refresh();
-
-#ifdef Q_WS_MAEMO_5
- setAttribute(Qt::WA_Maemo5AutoOrientation, true);
-#endif
- setWindowTitle(tr("Latitude & Buzz"));
-
- maps = new QWebView();
- connect(maps, SIGNAL(loadFinished(bool)), this, SLOT(maps_login()));
-
- maps->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
- maps->load(QUrl::fromEncoded("https://www.google.com/accounts/ServiceLogin?service=friendview&continue=http://www.google.com/maps/m?mode=latitude"));
-
- setCentralWidget(maps);
-
- menuBar()->addAction(tr("&Latitude"), this, SLOT(mode_latitude()));
- 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);
-}
-
-void LatitudeGUI::set() {
- qDebug() << "LatitudeGUI: set";
- glatitude->update(gps->get_lat(),
- gps->get_lon(),
- gps->get_acc());
-}
-
-void LatitudeGUI::set_config() {
- qDebug() << "LatitudeGUI: set_config";
- glatitude->set_login(setting->value("user","my_username").toString(),
- setting->value("pass","my_password").toString());
-
- gps->config(setting->value("interval",1800).toInt(),
- setting->value("wait",30).toInt(),
- setting->value("method","cell").toString());
-}
-
-void LatitudeGUI::latitude_ok() {
- qDebug() << "LatitudeGUI: ok";
-}
-
-void LatitudeGUI::latitude_error() {
-#ifdef Q_WS_MAEMO_5
- QString error_message = tr("<b>Error in Authentification!</b><br><br>") +
- tr("Plese verify your login details<br>");
- QMaemo5InformationBox::information(this, error_message,
- QMaemo5InformationBox::NoTimeout);
-#endif
- qDebug() << "LatitudeGUI: no auth";
- config();
-}
-
-void LatitudeGUI::maps_login() {
- if ( maps->url() == QUrl::fromEncoded("https://www.google.com/accounts/ServiceLogin?service=friendview&continue=http://www.google.com/maps/m?mode=latitude") ) {
- maps->page()->mainFrame()->evaluateJavaScript(
- QString("document.getElementById('Email').value = \"%1\";").arg(
- setting->value("user").toString()));
- maps->page()->mainFrame()->evaluateJavaScript(
- QString("document.getElementById('Passwd').value = \"%1\";").arg(
- setting->value("pass").toString()));
- maps->page()->mainFrame()->evaluateJavaScript("document.getElementById('gaia_loginform').submit();");
- }
- if ( maps->url() == QUrl::fromEncoded("https://www.google.com/accounts/ServiceLoginAuth") ) {
- latitude_error();
- }
-}
-
-void LatitudeGUI::mode_buzz() {
- maps->load(QUrl::fromEncoded("http://www.google.com/maps/m?l-view=map&l-lci=m,com.google.latitudepublicupdates&ac=f,s,l"));
-}
-
-void LatitudeGUI::mode_latitude() {
- maps->load(QUrl::fromEncoded("https://www.google.com/accounts/ServiceLogin?service=friendview&continue=http://www.google.com/maps/m?mode=latitude"));
-}
-
-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->startDetached(QCoreApplication::applicationDirPath()+QDir::separator()+"GoogleLatitudeDaemon");
- qDebug() << "LatitudeGUI: demonio" << QCoreApplication::applicationDirPath()+QDir::separator()+"GoogleLatitudeDaemon";
- if ( ! system("killall -0 GoogleLatitudeDaemon 2> /dev/null" ) ) {
- demonio->setText(tr("&Stop Daemon"));
- }
- }
-}
-
-void LatitudeGUI::config() {
- gps->forcestop();
-
- QDialog *dialoglogin = new QDialog(this);
-
- QLineEdit *login_user = new QLineEdit(setting->value("user","my_username").toString());
- QLineEdit *login_pass = new QLineEdit(setting->value("pass","my_password").toString());
- login_pass->setEchoMode(QLineEdit::Password);
-
- QLineEdit *gps_interval = new QLineEdit(setting->value("interval",1800).toString());
- QLineEdit *gps_wait = new QLineEdit(setting->value("wait",30).toString());
-
- QCheckBox *daemon_use = new QCheckBox();
- if ( setting->value("daemon",false).toBool() ) {
- daemon_use->setCheckState(Qt::Checked);
- } else {
- daemon_use->setCheckState(Qt::Unchecked);
- }
-
- QRadioButton *gps_cell = new QRadioButton(tr("&Cell Tower"));
- QRadioButton *gps_both = new QRadioButton(tr("&Both"));
- QRadioButton *gps_agps = new QRadioButton(tr("Only &Gps"));
-
- QString gps_setting = setting->value("method","cell").toString();
- if ( gps_setting == QString("cell") ) {
- gps_cell->setChecked(true);
- } else if ( gps_setting == QString("both") ) {
- gps_both->setChecked(true);
- } else if ( gps_setting == QString("agps") ) {
- gps_agps->setChecked(true);
- } else {
- gps_cell->setChecked(true);
- }
-
- QFormLayout *layout_form = new QFormLayout();
-
- layout_form->addRow(tr("&Username"), login_user);
- layout_form->addRow(tr("&Password"), login_pass);
- connect(login_user, SIGNAL(textEdited(QString)), this, SLOT(save_user(QString)));
- connect(login_user, SIGNAL(returnPressed()), login_pass, SLOT(setFocus()));
- connect(login_pass, SIGNAL(textEdited(QString)), this, SLOT(save_pass(QString)));
- connect(login_pass, SIGNAL(returnPressed()), dialoglogin, SLOT(accept()));
-
- layout_form->addRow(tr("&Interval for Updates"), gps_interval);
- layout_form->addRow(tr("&Wait for a Fix"), gps_wait);
- layout_form->addRow(tr("&Daemon at Boot"), daemon_use);
- connect(gps_interval, SIGNAL(textEdited(QString)), this, SLOT(save_interval(QString)));
- connect(gps_wait, SIGNAL(textEdited(QString)), this, SLOT(save_wait(QString)));
- connect(daemon_use, SIGNAL(stateChanged(int)), this, SLOT(save_daemon(int)));
-
- QHBoxLayout *layout_gps = new QHBoxLayout;
- layout_gps->addWidget(gps_cell);
- layout_gps->addWidget(gps_both);
- layout_gps->addWidget(gps_agps);
- layout_form->addRow(layout_gps);
- connect(gps_cell, SIGNAL(clicked()), this, SLOT(save_gps_cell()));
- connect(gps_both, SIGNAL(clicked()), this, SLOT(save_gps_both()));
- connect(gps_agps, SIGNAL(clicked()), this, SLOT(save_gps_agps()));
-
- dialoglogin->setLayout(layout_form);
- dialoglogin->exec();
-
- if ( setting->value("interval",1800).toInt() < 300 )
- setting->setValue("interval", 300);
- if ( setting->value("interval",1800).toInt() > 3600 )
- setting->setValue("interval", 3600);
-
- if ( QString("agps") == setting->value("method","cell").toString() ) {
- if ( setting->value("wait",30).toInt() < 15 )
- setting->setValue("wait", 15);
- } else {
- if ( setting->value("wait",30).toInt() < 5 )
- setting->setValue("wait", 5);
- }
- if ( setting->value("wait",30).toInt() > 120 )
- setting->setValue("wait", 120);
-
- set_config();
- glatitude->reset();
- gps->refresh();
-
- mode_latitude();
-}
-
+++ /dev/null
-#ifndef LATITUDE_H
-#define LATITUDE_H
-
-#include <QtGui>
-#include <QtWebKit>
-#ifdef Q_WS_MAEMO_5
-#include <QtMaemo5>
-#endif
-#include "glatitude.h"
-#include "gps.h"
-
-class LatitudeGUI : public QMainWindow {
- Q_OBJECT
-
-public:
- LatitudeGUI(QMainWindow *parent = 0);
-
-private slots:
- void set();
- void set_config();
- void latitude_ok();
- void latitude_error();
-
- void maps_login();
- void mode_buzz();
- void mode_latitude();
-
- void mode_demonio();
-
- void config();
- void save_user(QString _user) { setting->setValue("user", _user); }
- void save_pass(QString _pass) { setting->setValue("pass", _pass); }
- void save_interval(QString _inter) { setting->setValue("interval", _inter.toInt()); }
- void save_wait(QString _wait) { setting->setValue("wait", _wait.toInt()); }
- void save_daemon(int _c) { setting->setValue("daemon", (_c == Qt::Checked ? true : false)); }
- void save_gps_cell() { setting->setValue("method", "cell"); }
- void save_gps_both() { setting->setValue("method", "both"); }
- void save_gps_agps() { setting->setValue("method", "agps"); }
-
-private:
- QSettings *setting;
- GpsMaemo5 *gps;
- GoogleLatitude *glatitude;
-
- QWebView *maps;
- QAction *demonio;
-};
-
-#endif // LATITUDE_H
+++ /dev/null
-#include "daemon.h"
-
-int main(int argc, char *argv[]) {
- QCoreApplication::setOrganizationName("linfati");
- QCoreApplication::setOrganizationDomain("linfati.com");
- QCoreApplication::setApplicationName("GoogleLatitude");
-
- QCoreApplication app(argc, argv);
-
- if ( app.arguments().contains(QString("--init")) ) {
- QSettings set;
- if ( ! set.value("daemon",false).toBool() ) {
- qDebug() << "No Daemon mode enable";
- return 0;
- }
- }
-
- Daemon demonio;
- Q_UNUSED(demonio);
-
- return app.exec();
-}
+++ /dev/null
-#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;
- gui.show();
-
- return app.exec();
-}