libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / src / Until.cc
1 #include <Until.h>
2
3 #include <UiObject.h>
4 #include <loguru.hpp>
5
6 std::function<bool(const ISearchable *)> Until::hasObject(
7     const std::shared_ptr<UiSelector> selector)
8 {
9     return [=](const ISearchable *searchable) -> bool {
10         LOG_SCOPE_F(INFO, "sel:%p, search:%p", selector, searchable);
11         std::shared_ptr<UiObject> obj = searchable->findObject(selector);
12         return obj.get() != nullptr;
13     };
14 }
15
16 std::function<std::shared_ptr<UiObject>(const ISearchable *)> Until::findObject(
17     const std::shared_ptr<UiSelector> selector)
18 {
19     return [=](const ISearchable *searchable) -> std::shared_ptr<UiObject> {
20         LOG_SCOPE_F(INFO, "sel:%p, search:%p", selector, searchable);
21         std::shared_ptr<UiObject> obj = searchable->findObject(selector);
22         return obj;
23     };
24 }
25
26 std::function<bool(const UiObject *)> Until::checkable(const bool isCheckable)
27 {
28     return [=](const UiObject *object) -> bool {
29         LOG_SCOPE_F(INFO, "waitfor ischeckable %d for obj %p", isCheckable,
30                     object);
31         return object->isClickable() == isCheckable;
32     };
33 }