X-Git-Url: http://git.maemo.org/git/?p=jenirok;a=blobdiff_plain;f=src%2Fdaemon%2Fcalllistener.h;h=0cd70edbb3f2a21d132c10b347fe754e8b1e99ec;hp=a252b0c1b1a50241ac1b9eafa5b8a09b43eae076;hb=28a07e35293ce3ee730b72de527e9d145fa47129;hpb=72f0ccb17472f83c1cba569879e185eb7cd60e31 diff --git a/src/daemon/calllistener.h b/src/daemon/calllistener.h index a252b0c..0cd70ed 100644 --- a/src/daemon/calllistener.h +++ b/src/daemon/calllistener.h @@ -26,36 +26,56 @@ #include #include "informationbox.h" #include "eniro.h" -#include "contactmanager.h" class CallListener: public QObject { - Q_OBJECT public: CallListener(); ~CallListener(); - void begin(); + bool begin(); void end(); static const int REQUEST_TIMEOUT = 10000; + static const int BANNER_DELAY = 350; + static const int SEARCH_RETRIES = 2; + static const int CONNECT_RETRIES = 3; + static const int CONNECTION_LOOKUP_RETRIES = 15; + static const int WAIT_BETWEEN_RETRIES = 1000; + static const int ERROR_BANNER_TIMEOUT = 4500; + +protected: + virtual void timerEvent(QTimerEvent* event); private slots: void requestFinished(QVector const& results, Eniro::SearchDetails const& details, bool error); void incomingCall(QDBusObjectPath path, QString numbe); void callTerminate(); + void showTimedMessage(); private: Q_DISABLE_COPY(CallListener); void search(Eniro::SearchDetails const& details); void showResult(QString const& text); + void showDelayedResult(QString const& text, int delay); + void searchInit(); + void searchClose(); + bool handleConnection(); + void showError(QString const& msg, int delay = 0); + void sleep(int ms); QString createResult(QString const& name, QString const& street, QString const& city); + QString timedMessage_; Eniro* eniro_; - ContactManager* contactManager_; + bool closeConnection_; + bool initialized_; InformationBox* box_; QLabel* label_; static QDBusConnection systemBus_; + int retries_; + QString currentSearch_; + Eniro::Site site_; + int timer_; }; #endif // CALLLISTENER_H