Aurum  0.1.1
 All Classes Functions Variables Pages
Waiter.h
1 #ifndef WAITER_H
2 #define WAITER_H
3 
4 #include "ISearchable.h"
5 
6 #include <functional>
11 class Waiter {
12 private:
17  Waiter();
18 
19 public:
24  Waiter(const ISearchable *searchableObject,
25  const UiObject * uiObject = nullptr); // : mObject{object}
26 
31  ~Waiter();
32 
33 public:
38  template <typename R>
39  R waitFor(const std::function<R(const ISearchable *)> condition) const;
40 
45  template <typename R>
46  R waitFor(const std::function<R(const UiObject *)> object) const;
47 
48 private:
53  const ISearchable *mSearchableObject;
54 
59  const UiObject * mUiObject;
60 
65  const int WAIT_INTERVAL_MS;
66 
71  const int WAIT_TIMEOUT_MS;
72 };
73 
74 #endif