#include <QObject>
#include <QTime>
-#include <QPointF>
-class QMainWindow;
+#include "coordinates/geocoordinate.h"
+#ifdef Q_WS_MAEMO_5
+class Application;
+#endif
class FacebookAuthentication;
class FacebookCredentials;
class GPSPosition;
class MainWindow;
class MapEngine;
class NetworkAccessManager;
+class RoutingService;
class SituareService;
class User;
class MCE;
/**
* @brief Constructor
*
- * @param parent
*/
- SituareEngine(QMainWindow *parent = 0);
+ SituareEngine();
/**
* @brief Destructor
// void disableAutoCentering();
/**
- * @brief Slot for display state changed.
- *
- * @param enabled true if enabled, false otherwise
- */
- void displayStateChanged(bool enabled);
-
- /**
* @brief Slot for auto centering enabling.
*
* Calls gps to send last known position
void enableAutomaticLocationUpdate(bool enabled, int updateIntervalMsecs = 0);
/**
+ * @brief Slot for enabling power saving.
+ *
+ * @param enabled true if enabled, false otherwise
+ */
+ void enablePowerSave(bool enabled);
+
+ /**
+ * @brief Slot to intercept signal when user's/friend's image is downloaded
+ *
+ * @param user Instance of user/friend
+ */
+ void imageReady(User *user);
+
+ /**
* @brief Requests automatic update.
*
* Makes automatic location update request if user has moved enough.
*
* @param position geo coordinates
*/
- void requestAutomaticUpdateIfMoved(QPointF position);
+ void requestAutomaticUpdateIfMoved(GeoCoordinate position);
/**
* @brief Sets zoom level to default when first GPS location is received if autocentering
* is enabled.
- *
- * @param latLonCoordinate own location
- * @param accuracy accuracy of GPS location
*/
- void setFirstStartZoomLevel(QPointF latLonCoordinate, qreal accuracy);
+ void setFirstStartZoomLevel();
/**
* @brief Automatic update interval timer timeout.
void friendsLocationsReady(QList<User *> &friendList);
/**
+ * @brief Signals when friend's image is ready
+ *
+ * @param user Instance of friend
+ */
+ void friendImageReady(User *user);
+
+ /**
* @brief Signals when new user data is ready
*
* @param user Instance of User
bool m_automaticUpdateRequest; ///< Flag for automatic update request
bool m_userMoved; ///< Flag for user move
-
+#ifdef Q_WS_MAEMO_5
+ Application *m_app; ///< Pointer to Application
+#endif
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
NetworkAccessManager *m_networkAccessManager; ///< NetworkAccessManager
+ RoutingService *m_routingService; ///< Instance of the routing service
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
+ GeoCoordinate m_lastUpdatedGPSPosition; ///< Last updated GPS position
+
};
#endif // ENGINE_H