bootstrap: rework findelement command
authorWonki Kim <wonki_.kim@samsung.com>
Thu, 26 Mar 2020 09:43:18 +0000 (18:43 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Fri, 17 Apr 2020 23:06:48 +0000 (08:06 +0900)
Change-Id: Ifecf25b5115a9a081e562f39fcf821a9732dcb9b

org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h
org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc

index 488e321..0c06ba0 100644 (file)
@@ -22,6 +22,6 @@ public:
     ::grpc::Status execute() override;
 protected:
     virtual ISearchable* getSearchableTop(void);
-    virtual std::shared_ptr<UiSelector> getSelector(void);
+    virtual std::vector<std::shared_ptr<UiSelector>> getSelectors(void);
 };
 #endif
\ No newline at end of file
index cc9912e..aad0d39 100644 (file)
@@ -25,18 +25,26 @@ ISearchable* FindElementCommand::getSearchableTop(void)
 
     return searchableObj;
 }
-std::shared_ptr<UiSelector> FindElementCommand::getSelector(void)
+
+std::vector<std::shared_ptr<UiSelector>> FindElementCommand::getSelectors(void)
 {
-    return Sel::text(mRequest->textfield());
+    std::vector<std::shared_ptr<UiSelector>> ret = {};
+    ret.push_back(Sel::text(mRequest->textfield()));
+    return ret;
 }
 
 ::grpc::Status FindElementCommand::execute()
 {
     LOG_SCOPE_F(INFO, "findElement --------------- ");
     auto searchableObj = getSearchableTop();
-    auto sel           = getSelector();
+    auto selectors     = getSelectors();
+
+    std::vector<std::unique_ptr<UiObject>> founds = {};
 
-    std::vector<std::unique_ptr<UiObject>> founds = searchableObj->findObjects(sel);
+    for ( auto sel : selectors ) {
+        auto ret = searchableObj->findObjects(sel);
+        std::move(std::begin(ret), std::end(ret), std::back_inserter(founds));
+    }
 
     if (founds.size() > 0) {
         for (auto& found : founds) {