qtmobility/src/location/qgeopositioninfosource_maemo_p.h
changeset 8 71781823f776
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
equal deleted inserted replaced
5:453da2cfceef 8:71781823f776
    43 #define QGEOPOSITIONINFOSOURCEMAEMO_H
    43 #define QGEOPOSITIONINFOSOURCEMAEMO_H
    44 
    44 
    45 #include "qgeopositioninfosource.h"
    45 #include "qgeopositioninfosource.h"
    46 #include "dbuscomm_maemo_p.h"
    46 #include "dbuscomm_maemo_p.h"
    47 
    47 
       
    48 #ifdef Q_WS_MAEMO_5
       
    49 #include "qgeocoordinate.h"
       
    50 
       
    51 extern "C" {
       
    52    #include <glib.h>
       
    53    #include <location/location-gpsd-control.h>
       
    54    #include <location/location-gps-device.h>
       
    55    #include <location/location-misc.h>
       
    56    #include <location/location-distance-utils.h>
       
    57 }
       
    58 #endif
       
    59 
    48 QTM_BEGIN_NAMESPACE
    60 QTM_BEGIN_NAMESPACE
    49 
    61 
    50 class DBusComm;
    62 class DBusComm;
    51 class QGeoPositionInfoSourceMaemo : public QGeoPositionInfoSource
    63 class QGeoPositionInfoSourceMaemo : public QGeoPositionInfoSource
    52 {
    64 {
    53     Q_OBJECT
    65     Q_OBJECT
       
    66 
    54 public:
    67 public:
    55 
    68 
    56     QGeoPositionInfoSourceMaemo(QObject *parent = 0);
    69     QGeoPositionInfoSourceMaemo(QObject *parent = 0);
    57     int init();
    70     int init();
    58 
    71 
    59     virtual void setUpdateInterval(int interval);
    72     virtual void setUpdateInterval(int interval);
    60     virtual void setPreferredPositioningMethods(PositioningMethods sources);
    73     virtual void setPreferredPositioningMethods(PositioningMethods sources);
    61     //virtual QPositioninfo QGeoPositionInfoSource::lastUpdate(QFlags<QGeoPositionInfoSource::PositionSourceType>) const;
       
    62     virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const;
    74     virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const;
    63     virtual PositioningMethods supportedPositioningMethods() const;
    75     virtual PositioningMethods supportedPositioningMethods() const;
    64     virtual int minimumUpdateInterval() const;
    76     virtual int minimumUpdateInterval() const;
    65 
    77 
    66 private:
    78 public Q_SLOTS:
    67     void dumpNMEA(const char *msg);
       
    68     DBusComm* dbusComm;
       
    69     QGeoPositionInfo lastUpdate;
       
    70     QGeoPositionInfo lastSatUpdate;
       
    71     bool validLastUpdate;
       
    72     bool validLastSatUpdate;
       
    73     static const int MinimumUpdateInterval = 1000;
       
    74     int time_interval_;
       
    75     int distance_interval_;
       
    76     bool registered_;
       
    77     PositioningMethods availableMethods;
       
    78 
       
    79 public slots:
       
    80     void startUpdates();
    79     void startUpdates();
    81     void stopUpdates();
    80     void stopUpdates();
    82     void requestUpdate(int timeout = 5000);
    81     void requestUpdate(int timeout = 5000);
    83     void dbusMessages(const QByteArray &msg);
    82 
       
    83 private:
       
    84     static const int MinimumUpdateInterval = 1000;
       
    85     static const int DefaultUpdateInterval = 5000;
       
    86 
       
    87     DBusComm* dbusComm;
       
    88 
       
    89     int time_interval_;
       
    90     PositioningMethods availableMethods;
       
    91 
       
    92 private Q_SLOTS:
    84     void newPositionUpdate(const QGeoPositionInfo &update);
    93     void newPositionUpdate(const QGeoPositionInfo &update);
    85 };
    94 };
    86 
    95 
    87 QTM_END_NAMESPACE
    96 QTM_END_NAMESPACE
    88 
    97