Modified automatic location update method.
[situare] / src / engine / engine.h
index 814aad7..19d8a7b 100644 (file)
@@ -39,6 +39,7 @@ class MainWindow;
 class MapEngine;
 class SituareService;
 class User;
+class MCE;
 
 class QTimer;
 
@@ -73,7 +74,7 @@ public slots:
     *
     * @param error Error message
     */
-    void error(const QString &error);
+    void error(const int error);
 
     /**
     * @brief Slot to intercept signal when username is fetched from settings
@@ -90,10 +91,8 @@ public slots:
     /**
     * @brief Slot to intercept signal from successful login
     *
-    * @param freshLogin Was login done via login dialog
-    * @param credentials Facebook credentials
     */
-    void loginOk(bool freshLogin, const FacebookCredentials &credentials);
+    void loginOk();
 
     /**
     * @brief Slot to intercept signal when user has cancelled login process
@@ -143,13 +142,6 @@ public slots:
 
 private:
     /**
-    * @brief Checks if user is moved enough for position auto update.
-    *
-    * @return true if moved engouh, false otherwise
-    */
-    bool isUserMoved();
-
-    /**
     * @brief Read settings and determine whether to use GPS and autocentering.
     * When values does not found on the settings, GPS and autocentering are enabled as a default.
     */
@@ -224,11 +216,19 @@ private slots:
     /**
     * @brief Enables automatic location update.
     *
-    * @param enabled true if
+    * @param enabled true if enabled, false otherwise
+    * @param updateIntervalMsecs update interval in milliseconds
     */
     void enableAutomaticLocationUpdate(bool enabled, int updateIntervalMsecs = 0);
 
     /**
+    * @brief Slot for display on.
+    *
+    * @param on true if on, false otherwise
+    */
+    void displayOn(bool on);
+
+    /**
      * @brief Sets zoom level to default when first GPS location is received if autocentering
      * is enabled.
      *
@@ -236,12 +236,6 @@ private slots:
      * @param accuracy accuracy of GPS location
      */
     void setFirstStartZoomLevel(QPointF latLonCoordinate, qreal accuracy);
-    
-    /**
-    * @brief Slot for intercepting signal when credentials are invalid
-    *
-    */
-    void invalidCredentials();
 
     /**
     * @brief Saves GPS position.
@@ -257,6 +251,19 @@ private slots:
  ******************************************************************************/
 signals:
     /**
+    * @brief Signals when automatic location update was enabled.
+    *
+    * @param enabled true if enabled, false otherwise
+    */
+    void automaticLocationUpdateEnabled(bool enabled);
+
+    /**
+    * @brief Signal to clear locationUpdateDialog's data
+    *
+    */
+    void clearUpdateLocationDialogData();
+
+    /**
     * @brief Signals when new friends data is ready
     *
     * @param friendList List of User instances (friends)
@@ -274,18 +281,21 @@ signals:
  * DATA MEMBERS
  ******************************************************************************/
 private:
-    bool m_autoCenteringEnabled;  ///< Auto centering enabled
-    bool m_loggedIn;              ///< Login state
+    bool m_autoCenteringEnabled;        ///< Auto centering flag
+    bool m_automaticUpdateFirstStart;   ///< Automatic location update first start flag
+    bool m_automaticUpdateRequest;      ///< Flag for automatic update request
+    bool m_userMoved;                   ///< Flag for user move
+
 
     FacebookAuthentication *m_facebookAuthenticator; ///< Instance for facebook authenticator
     GPSPosition *m_gps;                              ///< Instance of the gps position
     MainWindow *m_ui;                                ///< Instance of the MainWindow UI
     MapEngine *m_mapEngine;                          ///< MapEngine
     SituareService *m_situareService;  ///< Instance of the situare server communication service
+    MCE *m_mce;                        ///< Instance of the MCE
 
     QTimer *m_automaticUpdateIntervalTimer; ///< Automatic update interval timer
     QPointF m_lastUpdatedGPSPosition;       ///< Last updated GPS position
-    bool m_userMoved;                       ///< Flag for user moving
 };
 
 #endif // ENGINE_H