#include <QtDBus/QDBusObjectPath>
#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 <Eniro::Result> 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