From 1efb8b2395f6e4ddde56339f26f6812a8448a203 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 13:13:01 +0900 Subject: [PATCH 01/16] bootstrap: Delete check display state and wake up It's not good for performance and user can do this at user side. Change-Id: Ie964ea2eba3f7bc3acc6dd45296a65be20fb66f4 --- org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc | 20 -------------------- packaging/aurum.spec | 4 ---- 2 files changed, 24 deletions(-) diff --git a/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc index 82d10d5..60142c6 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc @@ -15,26 +15,6 @@ PreCommand::PreCommand(Command *cmd) : mCommand{cmd} {} ::grpc::Status PreCommand::execute() { -#ifndef TIZEN_TV - display_state_e state; - if (device_display_get_state(&state) != DEVICE_ERROR_NONE) { - LOGE("getting display state has failed"); - return grpc::Status::CANCELLED; - } - - bool isDisplayOn = DISPLAY_STATE_SCREEN_OFF != state; - - if (!isDisplayOn) { - LOGI("Display off state try to wake up"); - if (device_power_wakeup(false) != DEVICE_ERROR_NONE) { - LOGE("turning on display has failed"); - return grpc::Status::CANCELLED; - } - - std::this_thread::sleep_for(std::chrono::milliseconds{INTV_TURNON_MARGIN}); - } -#endif /* TIZEN_TV */ - mCommand->executePre(); return mCommand->execute(); } diff --git a/packaging/aurum.spec b/packaging/aurum.spec index f002269..399c75e 100644 --- a/packaging/aurum.spec +++ b/packaging/aurum.spec @@ -132,10 +132,6 @@ meson \ %build -%if "%{tizen_profile_name}" == "tv" - CFLAGS+=" -DTIZEN_TV";export CFLAGS -%endif - ninja \ -C gbsbuild \ -j %(echo "`/usr/bin/getconf _NPROCESSORS_ONLN`") \ -- 2.7.4 From 7675a6ecdb16e98be0a558ff1d5e2557d42bd2c3 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 13:16:27 +0900 Subject: [PATCH 02/16] Aurum: Disable Mock test at build time It's not need do every build, changed it as optional. Change-Id: I456425fc47c2fd8c4fa01166792a157eefd8f8f0 --- packaging/aurum.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packaging/aurum.spec b/packaging/aurum.spec index 399c75e..181fddb 100644 --- a/packaging/aurum.spec +++ b/packaging/aurum.spec @@ -145,9 +145,10 @@ ninja \ find . -name '*.gcno' -exec cp '{}' gcov-obj ';' %endif -meson test \ - -C gbsbuild \ - -v +#Enable below test if needed +#meson test \ +# -C gbsbuild \ +# -v %install -- 2.7.4 From a0948d4eacd21d285320a388d2827bea0c75ce8f Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 13:36:04 +0900 Subject: [PATCH 03/16] libaurum: Fix indentation and clean code up Change-Id: Idb5cd19e866da6d9471b052424cd32af6b8b2f51 --- libaurum/inc/Comparer.h | 2 +- .../inc/Impl/Accessibility/AtspiAccessibleNode.h | 2 +- .../Impl/Accessibility/AtspiAccessibleWatcher.h | 24 +++++++------- libaurum/inc/Impl/Accessibility/AtspiWrapper.h | 38 +++++++++++----------- libaurum/inc/UiDevice.h | 2 +- libaurum/inc/UiObject.h | 2 +- libaurum/inc/Waiter.h | 4 +-- libaurum/src/Accessibility/AccessibleNode.cc | 34 ++----------------- libaurum/src/Comparer.cc | 2 +- .../src/Impl/Accessibility/AtspiAccessibleNode.cc | 6 ++-- .../Impl/Accessibility/AtspiAccessibleWatcher.cc | 12 +++---- libaurum/src/Impl/Accessibility/AtspiWrapper.cc | 38 +++++++++++----------- .../src/Impl/Accessibility/MockAccessibleNode.cc | 2 +- libaurum/src/Impl/MockDeviceImpl.cc | 13 +++++--- libaurum/src/Impl/TizenDeviceImpl.cc | 28 ++++++++-------- libaurum/src/UiObject.cc | 2 +- libaurum/src/UiScrollable.cc | 6 +--- libaurum/src/UiSelector.cc | 14 -------- 18 files changed, 92 insertions(+), 139 deletions(-) diff --git a/libaurum/inc/Comparer.h b/libaurum/inc/Comparer.h index a86c3a8..5ca1029 100644 --- a/libaurum/inc/Comparer.h +++ b/libaurum/inc/Comparer.h @@ -36,7 +36,7 @@ public: * @brief TBD * @since_tizen 5.5 */ - static std::shared_ptr findObject(const std::shared_ptr device, + static std::shared_ptr findObject(const std::shared_ptr device, const std::shared_ptr selector, const std::shared_ptr root); diff --git a/libaurum/inc/Impl/Accessibility/AtspiAccessibleNode.h b/libaurum/inc/Impl/Accessibility/AtspiAccessibleNode.h index 2f854c5..89ddb5d 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiAccessibleNode.h +++ b/libaurum/inc/Impl/Accessibility/AtspiAccessibleNode.h @@ -92,5 +92,5 @@ private: * @brief TBD * @since_tizen 5.5 */ - AtspiAccessible* mNode; + AtspiAccessible *mNode; }; \ No newline at end of file diff --git a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h index 2e36672..5c1f9b2 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h +++ b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h @@ -40,37 +40,37 @@ public: * @brief TBD * @since_tizen 5.5 */ - virtual void onWindowActivated(AtspiAccessible* node, WindowActivateInfoType type) = 0; + virtual void onWindowActivated(AtspiAccessible *node, WindowActivateInfoType type) = 0; /** * @brief TBD * @since_tizen 5.5 */ - virtual void onWindowDeactivated(AtspiAccessible* node) = 0; + virtual void onWindowDeactivated(AtspiAccessible *node) = 0; /** * @brief TBD * @since_tizen 5.5 */ - virtual void onWindowCreated(AtspiAccessible* node) = 0; + virtual void onWindowCreated(AtspiAccessible *node) = 0; /** * @brief TBD * @since_tizen 5.5 */ - virtual void onWindowDestroyed(AtspiAccessible* node) = 0; + virtual void onWindowDestroyed(AtspiAccessible *node) = 0; /** * @brief TBD * @since_tizen 5.5 */ - virtual void onVisibilityChanged(AtspiAccessible* node, bool visible) = 0; + virtual void onVisibilityChanged(AtspiAccessible *node, bool visible) = 0; /** * @brief TBD * @since_tizen 5.5 */ - virtual void onObjectDefunct(AtspiAccessible* node) = 0; + virtual void onObjectDefunct(AtspiAccessible *node) = 0; }; @@ -115,37 +115,37 @@ public: * @brief TBD * @since_tizen 5.5 */ - void onWindowActivated(AtspiAccessible* node, WindowActivateInfoType type) override; + void onWindowActivated(AtspiAccessible *node, WindowActivateInfoType type) override; /** * @brief TBD * @since_tizen 5.5 */ - void onWindowDeactivated(AtspiAccessible* node) override; + void onWindowDeactivated(AtspiAccessible *node) override; /** * @brief TBD * @since_tizen 5.5 */ - void onWindowCreated(AtspiAccessible* node) override; + void onWindowCreated(AtspiAccessible *node) override; /** * @brief TBD * @since_tizen 5.5 */ - void onWindowDestroyed(AtspiAccessible* node) override; + void onWindowDestroyed(AtspiAccessible *node) override; /** * @brief TBD * @since_tizen 5.5 */ - void onVisibilityChanged(AtspiAccessible* node, bool visible) override; + void onVisibilityChanged(AtspiAccessible *node, bool visible) override; /** * @brief TBD * @since_tizen 5.5 */ - void onObjectDefunct(AtspiAccessible* node) override; + void onObjectDefunct(AtspiAccessible *node) override; /** * @brief TBD diff --git a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h index d817884..869ba6a 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h +++ b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h @@ -5,28 +5,28 @@ class AtspiWrapper { public: - static GArray* Atspi_state_set_get_states(AtspiStateSet *set); - static GArray* Atspi_accessible_get_interfaces(AtspiAccessible *node); - static gchar* Atspi_accessible_get_name(AtspiAccessible *node, GError **error); - static AtspiAccessible* Atspi_get_desktop(int n); + static GArray *Atspi_state_set_get_states(AtspiStateSet *set); + static GArray *Atspi_accessible_get_interfaces(AtspiAccessible *node); + static gchar *Atspi_accessible_get_name(AtspiAccessible *node, GError **error); + static AtspiAccessible *Atspi_get_desktop(int n); static int Atspi_accessible_get_child_count(AtspiAccessible *node, GError **error); - static AtspiAccessible* Atspi_accessible_get_child_at_index(AtspiAccessible *node, int index, GError **error); - static AtspiAccessible* Atspi_accessible_get_parent(AtspiAccessible *node, GError **error); - static AtspiStateSet* Atspi_accessible_get_state_set(AtspiAccessible *node); + static AtspiAccessible *Atspi_accessible_get_child_at_index(AtspiAccessible *node, int index, GError **error); + static AtspiAccessible *Atspi_accessible_get_parent(AtspiAccessible *node, GError **error); + static AtspiStateSet *Atspi_accessible_get_state_set(AtspiAccessible *node); static gboolean Atspi_state_set_contains(AtspiStateSet *set , AtspiStateType state); - static gchar* Atspi_accessible_get_role_name(AtspiAccessible *node, GError **error); - static gchar* Atspi_accessible_get_unique_id(AtspiAccessible *node, GError **error); - static GHashTable* Atspi_accessible_get_attributes(AtspiAccessible *node, GError **error); - static AtspiComponent* Atspi_accessible_get_component_iface(AtspiAccessible *node); - static AtspiRect* Atspi_component_get_extents(AtspiComponent *obj, AtspiCoordType ctype, GError **error); - static AtspiAction* Atspi_accessible_get_action_iface(AtspiAccessible *node); - static int Atspi_action_get_n_actions(AtspiAction* action, GError **error); - static gchar* Atspi_action_get_action_name(AtspiAction* action, int index, GError **error); + static gchar *Atspi_accessible_get_role_name(AtspiAccessible *node, GError **error); + static gchar *Atspi_accessible_get_unique_id(AtspiAccessible *node, GError **error); + static GHashTable *Atspi_accessible_get_attributes(AtspiAccessible *node, GError **error); + static AtspiComponent *Atspi_accessible_get_component_iface(AtspiAccessible *node); + static AtspiRect *Atspi_component_get_extents(AtspiComponent *obj, AtspiCoordType ctype, GError **error); + static AtspiAction *Atspi_accessible_get_action_iface(AtspiAccessible *node); + static int Atspi_action_get_n_actions(AtspiAction *action, GError **error); + static gchar *Atspi_action_get_action_name(AtspiAction *action, int index, GError **error); static gboolean Atspi_action_do_action(AtspiAction *action, int index, GError **error); - static AtspiEditableText* Atspi_accessible_get_editable_text(AtspiAccessible *node); - static gboolean Atspi_editable_text_delete_text(AtspiEditableText*, int start, int end, GError **error); - static gboolean Atspi_editable_text_insert_text(AtspiEditableText*, int pos, const gchar *text, int len, GError **error); - static AtspiAccessible* Atspi_accessible_get_application (AtspiAccessible *node, GError **error); + static AtspiEditableText *Atspi_accessible_get_editable_text(AtspiAccessible *node); + static gboolean Atspi_editable_text_delete_text(AtspiEditableText *, int start, int end, GError **error); + static gboolean Atspi_editable_text_insert_text(AtspiEditableText *, int pos, const gchar *text, int len, GError **error); + static AtspiAccessible *Atspi_accessible_get_application (AtspiAccessible *node, GError **error); static void Atspi_accessible_clear_cache (AtspiAccessible *node); static void lock(); diff --git a/libaurum/inc/UiDevice.h b/libaurum/inc/UiDevice.h index ae16a63..dbda79c 100644 --- a/libaurum/inc/UiDevice.h +++ b/libaurum/inc/UiDevice.h @@ -222,7 +222,7 @@ private: /** * @brief TBD */ - IDevice * mDeviceImpl; + IDevice *mDeviceImpl; /** * @brief TBD */ diff --git a/libaurum/inc/UiObject.h b/libaurum/inc/UiObject.h index 8da6376..b764fb5 100644 --- a/libaurum/inc/UiObject.h +++ b/libaurum/inc/UiObject.h @@ -325,7 +325,7 @@ private: /** * @brief TBD */ - const Waiter * mWaiter; + const Waiter *mWaiter; /** * @brief TBD diff --git a/libaurum/inc/Waiter.h b/libaurum/inc/Waiter.h index 135ccc3..ae33f60 100644 --- a/libaurum/inc/Waiter.h +++ b/libaurum/inc/Waiter.h @@ -21,7 +21,7 @@ public: * @since_tizen 5.5 */ Waiter(const ISearchable *searchableObject, - const UiObject * uiObject = nullptr); // : mObject{object} + const UiObject *uiObject = nullptr); // : mObject{object} /** * @brief TBD @@ -55,7 +55,7 @@ private: * @brief TBD * @since_tizen 5.5 */ - const UiObject * mUiObject; + const UiObject *mUiObject; /** * @brief TBD diff --git a/libaurum/src/Accessibility/AccessibleNode.cc b/libaurum/src/Accessibility/AccessibleNode.cc index 070d97c..791913d 100644 --- a/libaurum/src/Accessibility/AccessibleNode.cc +++ b/libaurum/src/Accessibility/AccessibleNode.cc @@ -19,6 +19,7 @@ AccessibleNode::AccessibleNode() std::string AccessibleNode::description() { std::stringstream ss{}; + ss << "{"; ss << "\"mId\":\"" << this->mId << "\", "; ss << "\"mAutomationId\":\"" << this->mAutomationId << "\", "; @@ -27,39 +28,8 @@ std::string AccessibleNode::description() { ss << "\"mPkg\":\"" << this->mPkg << "\", "; ss << "\"mType\":\"" << this->mType << "\", "; ss << "\"mStyle\":\"" << this->mStyle << "\", "; - /* - if(this->mMatchId) ss << "\"mMatchId\":\"" << ((*this->mMatchId)?"true":"false") << "\", "; - if(this->mMatchAutomationId) ss << "\"mMatchAutomationId\":\"" << ((*this->mMatchAutomationId)?"true":"false") << "\", "; - if(this->mMatchRole) ss << "\"mMatchRole\":\"" << ((*this->mMatchRole)?"true":"false") << "\", "; - if(this->mMatchText) ss << "\"mMatchText\":\"" << ((*this->mMatchText)?"true":"false") << "\", "; - if(this->mMatchPkg) ss << "\"mMatchPkg\":\"" << ((*this->mMatchPkg)?"true":"false") << "\", "; - if(this->mMatchType) ss << "\"mMatchType\":\"" << ((*this->mMatchType)?"true":"false") << "\", "; - if(this->mMatchStyle) ss << "\"mMatchStyle\":\"" << ((*this->mMatchStyle)?"true":"false" )<< "\", "; - if(this->mMinDepth) ss << "\"mMinDepth\":\"" << *this->mMinDepth << "\", "; - if(this->mMaxDepth) ss << "\"mMaxDepth\":\"" << *this->mMaxDepth << "\", "; - if(this->mIschecked) ss << "\"mIschecked\":\"" << ((*this->mIschecked)?"true":"false") << "\", "; - if(this->mIscheckable) ss << "\"mIscheckable\":\"" << ((*this->mIscheckable)?"true":"false") << "\", "; - if(this->mIsclickable) ss << "\"mIsclickable\":\"" << ((*this->mIsclickable)?"true":"false") << "\", "; - if(this->mIsenabled) ss << "\"mIsenabled\":\"" << ((*this->mIsenabled)?"true":"false") << "\", "; - if(this->mIsfocused) ss << "\"mIsfocused\":\"" << ((*this->mIsfocused)?"true":"false") << "\", "; - if(this->mIsfocusable) ss << "\"mIsfocusable\":\"" << ((*this->mIsfocusable)?"true":"false") << "\", "; - if(this->mIsscrollable) ss << "\"mIsscrollable\":\"" << ((*this->mIsscrollable)?"true":"false") << "\", "; - if(this->mIsselected) ss << "\"mIsselected\":\"" << ((*this->mIsselected)?"true":"false") << "\", "; - if(this->mIsshowing) ss << "\"mIsshowing\":\"" << ((*this->mIsshowing)?"true":"false") << "\", "; - if(this->mIsactive) ss << "\"mIsactive\":\"" << ((*this->mIsactive)?"true":"false") << "\", "; - if(this->mIsvisible) ss << "\"mIsvisible\":\"" << ((*this->mIsvisible)?"true":"false") << "\", "; - if(this->mIsselectable) ss << "\"mIsselectable\":\"" << ((*this->mIsselectable)?"true":"false") << "\", "; - if(this->mParent) { - ss << "\"mParent\":" << this->mParent->description(); - } - ss << "\"mChild\":["; - for ( auto child = mChild.begin(); child != mChild.end(); child++) { - ss << (*child)->description(); - if (child+1 != mChild.end()) ss << ", " ; - } - ss << "]"; - */ ss << "}"; + return ss.str(); } diff --git a/libaurum/src/Comparer.cc b/libaurum/src/Comparer.cc index f7300ce..1aee954 100644 --- a/libaurum/src/Comparer.cc +++ b/libaurum/src/Comparer.cc @@ -79,7 +79,7 @@ std::vector> Comparer::findObjects( } } } else { - LOGI("Abort searching! No need to search children(maxDepth limit overflow, %d < %d < %d)", mSelector->mMinDepth?*(mSelector->mMinDepth):-1, depth, mSelector->mMaxDepth?*(mSelector->mMaxDepth):9999999); + LOGI("Abort searching! No need to search children(maxDepth limit overflow, %d < %d < %d)", mSelector->mMinDepth? * (mSelector->mMinDepth): -1, depth, mSelector->mMaxDepth?*(mSelector->mMaxDepth):9999999); } if (currentMatch && currentMatch->finalizeMatch()){ diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc index 2b165d2..a5641f9 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc @@ -5,12 +5,10 @@ #include -//std::map AccessibleNode::mNodeMap{}; - AtspiAccessibleNode::AtspiAccessibleNode(AtspiAccessible *node) : mNode{node} { - const auto trickDontRemove = std::shared_ptr( this, [](AtspiAccessibleNode*){} ); + const auto trickDontRemove = std::shared_ptr( this, [](AtspiAccessibleNode *){} ); auto watcher = AccessibleWatcher::getInstance(); watcher->attach(shared_from_this()); @@ -93,7 +91,7 @@ bool AtspiAccessibleNode::isValid() const void* AtspiAccessibleNode::getRawHandler(void) const { - return static_cast(mNode); + return static_cast(mNode); } void AtspiAccessibleNode::refresh() diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 04b21b1..a58a89f 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -60,7 +60,7 @@ findActiveNode(AtspiAccessible *node, int depth, LOGI("findActiveNode node %p has %d children", node, nchild); for (int i = 0; i < nchild; i++) { - AtspiAccessible* child = AtspiWrapper::Atspi_accessible_get_child_at_index(node, i, NULL); + AtspiAccessible *child = AtspiWrapper::Atspi_accessible_get_child_at_index(node, i, NULL); LOGI("a child found @ %d : %p", i, child); std::vector childRet = findActiveNode(child, depth + 1, max_depth); ret.insert(ret.end(), childRet.begin(), childRet.end()); @@ -73,7 +73,7 @@ findActiveNode(AtspiAccessible *node, int depth, static gpointer _event_thread_loop (gpointer data) { LOGI("event thread start"); - AtspiEventListener * listener = + AtspiEventListener *listener = atspi_event_listener_new(AtspiAccessibleWatcher::onAtspiEvents, data, NULL); atspi_event_listener_register(listener, "window:", NULL); @@ -93,7 +93,7 @@ AtspiAccessibleWatcher::AtspiAccessibleWatcher() : mDbusProxy{nullptr} { GVariant *enabled_variant = nullptr, *result = nullptr; - GError * error = nullptr; + GError *error = nullptr; atspi_set_main_context (g_main_context_default ()); atspi_init(); @@ -119,7 +119,7 @@ AtspiAccessibleWatcher::AtspiAccessibleWatcher() AtspiAccessibleWatcher::~AtspiAccessibleWatcher() { GVariant *enabled_variant = nullptr, *result = nullptr; - GError * error = nullptr; + GError *error = nullptr; enabled_variant = g_variant_new_boolean(false); result = g_dbus_proxy_call_sync( @@ -244,7 +244,7 @@ std::shared_ptr AtspiAccessibleWatcher::getApplicationAt( { AtspiWrapper::lock(); AtspiAccessible *root = AtspiWrapper::Atspi_get_desktop(0); - AtspiAccessible* child = AtspiWrapper::Atspi_accessible_get_child_at_index(root, index, NULL); + AtspiAccessible *child = AtspiWrapper::Atspi_accessible_get_child_at_index(root, index, NULL); g_object_unref(root); AtspiWrapper::unlock(); return std::make_shared(std::make_shared(child)); @@ -263,7 +263,7 @@ std::vector> AtspiAccessibleWatcher::getA } for (int i = 0; i < nchild; i++){ - AtspiAccessible* child = AtspiWrapper::Atspi_accessible_get_child_at_index(root, i, NULL); + AtspiAccessible *child = AtspiWrapper::Atspi_accessible_get_child_at_index(root, i, NULL); if (child) { ret.push_back(std::make_shared(std::make_shared(child))); } diff --git a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc index 69e47c6..cf76dcd 100644 --- a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc +++ b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc @@ -3,25 +3,25 @@ std::recursive_mutex AtspiWrapper::mMutex = std::recursive_mutex{}; //std::unique_lock AtspiWrapper::mLock = std::unique_lock(mMutex, std::defer_lock); -GArray* AtspiWrapper::Atspi_state_set_get_states(AtspiStateSet *set) +GArray *AtspiWrapper::Atspi_state_set_get_states(AtspiStateSet *set) { std::unique_lock lock(mMutex); return atspi_state_set_get_states(set); } -GArray* AtspiWrapper::Atspi_accessible_get_interfaces(AtspiAccessible *node) +GArray *AtspiWrapper::Atspi_accessible_get_interfaces(AtspiAccessible *node) { std::unique_lock lock(mMutex); return atspi_accessible_get_interfaces(node); } -gchar* AtspiWrapper::Atspi_accessible_get_name(AtspiAccessible *node, GError **error) +gchar *AtspiWrapper::Atspi_accessible_get_name(AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_name(node, error); } -AtspiAccessible* AtspiWrapper::Atspi_get_desktop(int n) +AtspiAccessible *AtspiWrapper::Atspi_get_desktop(int n) { std::unique_lock lock(mMutex); return atspi_get_desktop(n); @@ -33,19 +33,19 @@ int AtspiWrapper::Atspi_accessible_get_child_count(AtspiAccessible *node, GError return atspi_accessible_get_child_count(node, error); } -AtspiAccessible* AtspiWrapper::Atspi_accessible_get_child_at_index(AtspiAccessible *node, int index, GError **error) +AtspiAccessible *AtspiWrapper::Atspi_accessible_get_child_at_index(AtspiAccessible *node, int index, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_child_at_index(node, index, error); } -AtspiAccessible* AtspiWrapper::Atspi_accessible_get_parent(AtspiAccessible *node, GError **error) +AtspiAccessible *AtspiWrapper::Atspi_accessible_get_parent(AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_parent(node, error); } -AtspiStateSet* AtspiWrapper::Atspi_accessible_get_state_set(AtspiAccessible *node) +AtspiStateSet *AtspiWrapper::Atspi_accessible_get_state_set(AtspiAccessible *node) { std::unique_lock lock(mMutex); return atspi_accessible_get_state_set(node); @@ -57,49 +57,49 @@ gboolean AtspiWrapper::Atspi_state_set_contains(AtspiStateSet *set , AtspiStateT return atspi_state_set_contains(set , state); } -gchar* AtspiWrapper::Atspi_accessible_get_role_name(AtspiAccessible *node, GError **error) +gchar *AtspiWrapper::Atspi_accessible_get_role_name(AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_role_name(node, error); } -gchar* AtspiWrapper::Atspi_accessible_get_unique_id(AtspiAccessible *node, GError **error) +gchar *AtspiWrapper::Atspi_accessible_get_unique_id(AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_unique_id(node, error); } -GHashTable* AtspiWrapper::Atspi_accessible_get_attributes(AtspiAccessible *node, GError **error) +GHashTable *AtspiWrapper::Atspi_accessible_get_attributes(AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_attributes(node, error); } -AtspiComponent* AtspiWrapper::Atspi_accessible_get_component_iface(AtspiAccessible *node) +AtspiComponent *AtspiWrapper::Atspi_accessible_get_component_iface(AtspiAccessible *node) { std::unique_lock lock(mMutex); return atspi_accessible_get_component_iface(node); } -AtspiRect* AtspiWrapper::Atspi_component_get_extents(AtspiComponent *obj, AtspiCoordType ctype, GError **error) +AtspiRect *AtspiWrapper::Atspi_component_get_extents(AtspiComponent *obj, AtspiCoordType ctype, GError **error) { std::unique_lock lock(mMutex); return atspi_component_get_extents(obj, ctype, error); } -AtspiAction* AtspiWrapper::Atspi_accessible_get_action_iface(AtspiAccessible *node) +AtspiAction *AtspiWrapper::Atspi_accessible_get_action_iface(AtspiAccessible *node) { std::unique_lock lock(mMutex); return atspi_accessible_get_action_iface(node); } -int AtspiWrapper::Atspi_action_get_n_actions(AtspiAction* action, GError **error) +int AtspiWrapper::Atspi_action_get_n_actions(AtspiAction *action, GError **error) { std::unique_lock lock(mMutex); return atspi_action_get_n_actions(action, error); } -gchar* AtspiWrapper::Atspi_action_get_action_name(AtspiAction* action, int index, GError **error) +gchar *AtspiWrapper::Atspi_action_get_action_name(AtspiAction *action, int index, GError **error) { std::unique_lock lock(mMutex); return atspi_action_get_action_name(action, index, error); @@ -111,25 +111,25 @@ gboolean AtspiWrapper::Atspi_action_do_action(AtspiAction *action, int index, GE return atspi_action_do_action(action, index, error); } -AtspiEditableText* AtspiWrapper::Atspi_accessible_get_editable_text(AtspiAccessible *node) +AtspiEditableText *AtspiWrapper::Atspi_accessible_get_editable_text(AtspiAccessible *node) { std::unique_lock lock(mMutex); return atspi_accessible_get_editable_text(node); } -gboolean AtspiWrapper::Atspi_editable_text_delete_text(AtspiEditableText* iface, int start, int end, GError **error) +gboolean AtspiWrapper::Atspi_editable_text_delete_text(AtspiEditableText *iface, int start, int end, GError **error) { std::unique_lock lock(mMutex); return atspi_editable_text_delete_text(iface, start, end, error); } -gboolean AtspiWrapper::Atspi_editable_text_insert_text(AtspiEditableText* iface, int pos, const gchar *text, int len, GError **error) +gboolean AtspiWrapper::Atspi_editable_text_insert_text(AtspiEditableText *iface, int pos, const gchar *text, int len, GError **error) { std::unique_lock lock(mMutex); return atspi_editable_text_insert_text(iface, pos, text, len, error); } -AtspiAccessible* AtspiWrapper::Atspi_accessible_get_application (AtspiAccessible *node, GError **error) +AtspiAccessible *AtspiWrapper::Atspi_accessible_get_application (AtspiAccessible *node, GError **error) { std::unique_lock lock(mMutex); return atspi_accessible_get_application(node, error); diff --git a/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc b/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc index 121c31d..9e3a8e6 100644 --- a/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc @@ -8,7 +8,7 @@ MockAccessibleNode::MockAccessibleNode(std::shared_ptr parent, s : mParentNode(parent), mChildrenList{}, mActionSet{} { printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__); - const auto trickDontRemove = std::shared_ptr( this, [](MockAccessibleNode*){} ); + const auto trickDontRemove = std::shared_ptr( this, [](MockAccessibleNode *){} ); setProperties(text,pkg,role,res,type,style,automationId, boundingBox, supportingIfaces, featureProperty); auto watcher = AccessibleWatcher::getInstance(); diff --git a/libaurum/src/Impl/MockDeviceImpl.cc b/libaurum/src/Impl/MockDeviceImpl.cc index 0184b44..855ceb3 100644 --- a/libaurum/src/Impl/MockDeviceImpl.cc +++ b/libaurum/src/Impl/MockDeviceImpl.cc @@ -15,6 +15,9 @@ #include #include +#define NANO_SEC 1000000000.0 +#define MICRO_SEC 1000000 + MockDeviceImpl::MockDeviceImpl() :tStart{}, isTimerStarted{false}, mTouchRelease{}, mTouchDown{}, mKeyDevice{}, mWheelDevice{0} { @@ -104,7 +107,7 @@ bool MockDeviceImpl::wheelUp(int amount, const int durationMs) { for (int i = 0; i < amount; i++){ mWheelDevice++; - usleep(durationMs*MSEC_PER_SEC/amount); + usleep(durationMs * MSEC_PER_SEC/amount); } return true; @@ -114,7 +117,7 @@ bool MockDeviceImpl::wheelDown(int amount, const int durationMs) { for (int i = 0; i < amount; i++){ mWheelDevice--; - usleep(durationMs*MSEC_PER_SEC/(double)amount); + usleep(durationMs * MSEC_PER_SEC/(double)amount); } return true; @@ -180,7 +183,7 @@ long long MockDeviceImpl::getSystemTime(TimeRequestType type) clock_gettime(CLOCK_REALTIME, &t); } - return (long long)t.tv_sec * 1000L + (long long)(t.tv_nsec / 1000000); + return (long long)t.tv_sec * 1000L + (long long)(t.tv_nsec / MICRO_SEC); } bool MockDeviceImpl::strokeKeyCode(std::string keycode, unsigned int intv) @@ -220,13 +223,13 @@ int MockDeviceImpl::stopTimer(void) if (!isTimerStarted) return 0; isTimerStarted = false; clock_gettime(CLOCK_MONOTONIC, &tEnd); - return ((tEnd.tv_sec + tEnd.tv_nsec/1000000000.0) - (tStart.tv_sec + tStart.tv_nsec/1000000000.0)) * 1000000; + return ((tEnd.tv_sec + tEnd.tv_nsec/NANO_SEC) - (tStart.tv_sec + tStart.tv_nsec/NANO_SEC)) * MICRO_SEC; } long long MockDeviceImpl::timeStamp(void) { struct timespec t; clock_gettime(CLOCK_MONOTONIC, &t); - long long rtn = (t.tv_sec + t.tv_nsec/1000000000.0) * 1000000; + long long rtn = (t.tv_sec + t.tv_nsec/NANO_SEC) * MICRO_SEC; return rtn; } diff --git a/libaurum/src/Impl/TizenDeviceImpl.cc b/libaurum/src/Impl/TizenDeviceImpl.cc index 446d041..ea0792a 100644 --- a/libaurum/src/Impl/TizenDeviceImpl.cc +++ b/libaurum/src/Impl/TizenDeviceImpl.cc @@ -22,7 +22,7 @@ TizenDeviceImpl::TizenDeviceImpl() : mFakeTouchHandle{0}, mFakeKeyboardHandle{0}, mFakeWheelHandle{0}, tStart{}, isTimerStarted{false}, mTouchSeq{} { LOGI("device implementation init"); - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); obj->mFakeTouchHandle = efl_util_input_initialize_generator(EFL_UTIL_INPUT_DEVTYPE_TOUCHSCREEN); obj->mFakeKeyboardHandle = efl_util_input_initialize_generator(EFL_UTIL_INPUT_DEVTYPE_KEYBOARD); @@ -30,7 +30,7 @@ TizenDeviceImpl::TizenDeviceImpl() TizenDeviceImpl::~TizenDeviceImpl() { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); efl_util_input_deinitialize_generator(obj->mFakeTouchHandle); efl_util_input_deinitialize_generator(obj->mFakeKeyboardHandle); } @@ -58,7 +58,7 @@ int TizenDeviceImpl::touchDown(const int x, const int y) int seq = grabTouchSeqNumber(); LOGI("touch down %d %d , seq:%d", x, y, seq); if (seq >= 0) { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); long result = (long)efl_util_input_generate_touch(obj->mFakeTouchHandle, seq, EFL_UTIL_INPUT_TOUCH_BEGIN, x, y); @@ -74,7 +74,7 @@ bool TizenDeviceImpl::touchMove(const int x, const int y, const int seq) { LOGI("touch move %d %d, seq:%d", x, y, seq); if (seq >= 0) { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); long result = (long)efl_util_input_generate_touch(obj->mFakeTouchHandle, seq, EFL_UTIL_INPUT_TOUCH_UPDATE, x, y); return result == EFL_UTIL_ERROR_NONE; @@ -86,7 +86,7 @@ bool TizenDeviceImpl::touchUp(const int x, const int y, const int seq) { LOGI("touch up %d %d, seq:%d", x, y, seq); if (seq >= 0) { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); long result = (long)efl_util_input_generate_touch(obj->mFakeTouchHandle, seq, EFL_UTIL_INPUT_TOUCH_END, x, y); return releaseTouchSeqNumber(seq) && result == EFL_UTIL_ERROR_NONE; @@ -98,12 +98,12 @@ bool TizenDeviceImpl::wheelUp(int amount, const int durationMs) { LOGI("wheel up %d for %d", amount, durationMs); long result = -1; - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); obj->mFakeWheelHandle = efl_util_input_initialize_generator_with_sync(EFL_UTIL_INPUT_DEVTYPE_POINTER, NULL); for (int i = 0; i < amount; i++){ - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); result = (long)efl_util_input_generate_wheel(obj->mFakeWheelHandle, EFL_UTIL_INPUT_POINTER_WHEEL_HORZ, 1); - usleep(durationMs*MSEC_PER_SEC/amount); + usleep(durationMs * MSEC_PER_SEC/amount); } efl_util_input_deinitialize_generator(obj->mFakeWheelHandle); @@ -114,12 +114,12 @@ bool TizenDeviceImpl::wheelDown(int amount, const int durationMs) { LOGI("wheel down %d for %d", amount, durationMs); long result = -1; - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); obj->mFakeWheelHandle = efl_util_input_initialize_generator_with_sync(EFL_UTIL_INPUT_DEVTYPE_POINTER, NULL); for (int i = 0; i < amount; i++){ - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); result = (long)efl_util_input_generate_wheel(obj->mFakeWheelHandle, EFL_UTIL_INPUT_POINTER_WHEEL_HORZ, -1); - usleep(durationMs*MSEC_PER_SEC/amount); + usleep(durationMs * MSEC_PER_SEC/amount); } efl_util_input_deinitialize_generator(obj->mFakeWheelHandle); @@ -231,14 +231,14 @@ bool TizenDeviceImpl::strokeKeyCode(std::string keycode, unsigned int intv) bool TizenDeviceImpl::pressKeyCode(std::string keycode) { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); long result = (long)efl_util_input_generate_key(obj->mFakeKeyboardHandle, keycode.c_str(), 1); return result == EFL_UTIL_ERROR_NONE; } bool TizenDeviceImpl::releaseKeyCode(std::string keycode) { - TizenDeviceImpl *obj = static_cast(this); + TizenDeviceImpl *obj = static_cast(this); long result = (long)efl_util_input_generate_key(obj->mFakeKeyboardHandle, keycode.c_str(), 0); return result == EFL_UTIL_ERROR_NONE; } @@ -280,7 +280,7 @@ public: virtual long long getTime() = 0; protected: long long convertTime(struct timespec t){ - return (long long)t.tv_sec * 1000L + (long long)(t.tv_nsec / 1000000); + return (long long)t.tv_sec * 1000L + (long long)(t.tv_nsec / MICRO_SEC); } }; diff --git a/libaurum/src/UiObject.cc b/libaurum/src/UiObject.cc index db48098..f802b6a 100644 --- a/libaurum/src/UiObject.cc +++ b/libaurum/src/UiObject.cc @@ -17,7 +17,7 @@ UiObject::UiObject(const std::shared_ptr device, const std::shared_ptr const AccessibleNode *node) : mDevice(device), mSelector(selector), - mNode(std::shared_ptr(const_cast(node))), + mNode(std::shared_ptr(const_cast(node))), mWaiter(new Waiter{this, this}) { } diff --git a/libaurum/src/UiScrollable.cc b/libaurum/src/UiScrollable.cc index 7c4ca8a..cae156d 100644 --- a/libaurum/src/UiScrollable.cc +++ b/libaurum/src/UiScrollable.cc @@ -38,11 +38,7 @@ bool UiScrollable::scrollForward() bool UiScrollable::scrollForward(int steps) { -/* - 화면 크기 확인 - scroll to - -*/ + //TODO Check Scree Size here return true; } diff --git a/libaurum/src/UiSelector.cc b/libaurum/src/UiSelector.cc index 5caad3d..ae83625 100644 --- a/libaurum/src/UiSelector.cc +++ b/libaurum/src/UiSelector.cc @@ -58,20 +58,6 @@ std::string UiSelector::description() return ss.str(); } -/* -UiSelector::UiSelector(const UiSelector &src) -{ - // 복사 생성자 -} - -UiSelector& UiSelector::operator= (const UiSelector& src) -{ - // = 오버라이드 - if (this == &src) return *this; // 자기 대입 방지 - return *this; -} -*/ - UiSelector *UiSelector::text(std::string text, bool match) { this->mText = std::make_unique(text); -- 2.7.4 From a3cecaff4ec31f62edba59f4eecba6223c11ebf9 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 13:49:08 +0900 Subject: [PATCH 04/16] proto: Delete an invalid type values attribute checks and returns only bool type. Change-Id: Iadc2aec7f3647044dceee7641a25ef9564963403 --- protocol/aurum.proto | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/protocol/aurum.proto b/protocol/aurum.proto index 23f6f67..639bed7 100644 --- a/protocol/aurum.proto +++ b/protocol/aurum.proto @@ -234,13 +234,7 @@ message ReqGetAttribute { } message RspGetAttribute { RspStatus status = 1; - ParamType type = 2; - oneof params { - string stringValue = 3; - int32 intValue = 4; - double doubleValue = 5; - bool boolValue = 6; - } + bool boolValue = 2; } // ------------------------------------ // -- 2.7.4 From 14e4b207f70b8d4d0e6d7b27d8514af98a75fa70 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 15:13:47 +0900 Subject: [PATCH 05/16] bootstrap: Fix indentation and code clean up Change-Id: I813501c1222bed9292a983fecc0b6c5bfabdf7ca --- org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h | 80 +++++++------- .../inc/Commands/ClearCommand.h | 6 +- .../inc/Commands/ClickCommand.h | 8 +- .../inc/Commands/CloseAppCommand.h | 8 +- .../inc/Commands/DumpObjectTreeCommand.h | 10 +- .../inc/Commands/FindElementCommand.h | 10 +- .../inc/Commands/FlickCommand.h | 6 +- .../inc/Commands/GetAppInfoCommand.h | 8 +- .../inc/Commands/GetAttributeCommand.h | 14 +-- .../inc/Commands/GetDeviceTimeCommand.h | 8 +- .../inc/Commands/GetLocationCommand.h | 8 +- .../inc/Commands/GetSizeCommand.h | 8 +- .../inc/Commands/GetValueCommand.h | 8 +- .../inc/Commands/InstallAppCommand.h | 8 +- .../inc/Commands/KillServerCommand.h | 8 +- .../inc/Commands/LaunchAppCommand.h | 8 +- .../inc/Commands/LongClickCommand.h | 8 +- .../inc/Commands/RemoveAppCommand.h | 8 +- .../inc/Commands/SendKeyCommand.h | 6 +- .../inc/Commands/SetValueCommand.h | 8 +- .../inc/Commands/TakeScreenshotCommand.h | 8 +- .../inc/Commands/TouchDownCommand.h | 8 +- .../inc/Commands/TouchMoveCommand.h | 8 +- .../inc/Commands/TouchUpCommand.h | 8 +- org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc | 122 ++++++++++----------- org.tizen.aurum-bootstrap/src/BootstrapServer.cc | 10 +- .../src/Commands/ClearCommand.cc | 8 +- .../src/Commands/ClickCommand.cc | 10 +- .../src/Commands/CloseAppCommand.cc | 6 +- .../src/Commands/DumpObjectTreeCommand.cc | 8 +- .../src/Commands/FindElementCommand.cc | 8 +- .../src/Commands/FlickCommand.cc | 2 +- .../src/Commands/GetAppInfoCommand.cc | 6 +- .../src/Commands/GetAttributeCommand.cc | 6 +- .../src/Commands/GetDeviceTimeCommand.cc | 4 +- .../src/Commands/GetLocationCommand.cc | 5 +- .../src/Commands/GetSizeCommand.cc | 4 +- .../src/Commands/GetValueCommand.cc | 8 +- .../src/Commands/KillServerCommand.cc | 4 +- .../src/Commands/LaunchAppCommand.cc | 4 +- .../src/Commands/LongClickCommand.cc | 6 +- .../src/Commands/SendKeyCommand.cc | 4 +- .../src/Commands/SetValueCommand.cc | 5 +- .../src/Commands/TakeScreenshotCommand.cc | 4 +- .../src/Commands/TouchDownCommand.cc | 4 +- .../src/Commands/TouchMoveCommand.cc | 4 +- .../src/Commands/TouchUpCommand.cc | 4 +- org.tizen.aurum-bootstrap/src/ObjectMapper.cc | 4 +- 48 files changed, 258 insertions(+), 260 deletions(-) diff --git a/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h b/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h index 10577af..cbd4145 100644 --- a/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h +++ b/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h @@ -13,80 +13,80 @@ protected: ::grpc::Status execute(Command *cmd, bool clean); public: - ::grpc::Status killServer(::grpc::ServerContext * context, + ::grpc::Status killServer(::grpc::ServerContext *context, const ::aurum::ReqEmpty *request, - ::aurum::RspEmpty * response) override; + ::aurum::RspEmpty *response) override; - ::grpc::Status findElement(::grpc::ServerContext * context, + ::grpc::Status findElement(::grpc::ServerContext *context, const ::aurum::ReqFindElement *request, ::aurum::RspFindElement *response) override; - ::grpc::Status getValue(::grpc::ServerContext * context, + ::grpc::Status getValue(::grpc::ServerContext *context, const ::aurum::ReqGetValue *request, - ::aurum::RspGetValue * response) override; - ::grpc::Status setValue(::grpc::ServerContext * context, + ::aurum::RspGetValue *response) override; + ::grpc::Status setValue(::grpc::ServerContext *context, const ::aurum::ReqSetValue *request, - ::aurum::RspSetValue * response) override; - ::grpc::Status getAttribute(::grpc::ServerContext * context, + ::aurum::RspSetValue *response) override; + ::grpc::Status getAttribute(::grpc::ServerContext *context, const ::aurum::ReqGetAttribute *request, ::aurum::RspGetAttribute *response) override; - ::grpc::Status getSize(::grpc::ServerContext * context, + ::grpc::Status getSize(::grpc::ServerContext *context, const ::aurum::ReqGetSize *request, - ::aurum::RspGetSize * response) override; - ::grpc::Status clear(::grpc::ServerContext * context, + ::aurum::RspGetSize *response) override; + ::grpc::Status clear(::grpc::ServerContext *context, const ::aurum::ReqClear *request, - ::aurum::RspClear * response) override; + ::aurum::RspClear *response) override; ::grpc::Status installApp( - ::grpc::ServerContext * context, + ::grpc::ServerContext *context, ::grpc::ServerReader< ::aurum::ReqInstallApp> *reader, - ::aurum::RspInstallApp * response) override; - ::grpc::Status removeApp(::grpc::ServerContext * context, + ::aurum::RspInstallApp *response) override; + ::grpc::Status removeApp(::grpc::ServerContext *context, const ::aurum::ReqRemoveApp *request, - ::aurum::RspRemoveApp * response) override; - ::grpc::Status getAppInfo(::grpc::ServerContext * context, + ::aurum::RspRemoveApp *response) override; + ::grpc::Status getAppInfo(::grpc::ServerContext *context, const ::aurum::ReqGetAppInfo *request, - ::aurum::RspGetAppInfo * response) override; - ::grpc::Status launchApp(::grpc::ServerContext * context, + ::aurum::RspGetAppInfo *response) override; + ::grpc::Status launchApp(::grpc::ServerContext *context, const ::aurum::ReqLaunchApp *request, - ::aurum::RspLaunchApp * response) override; - ::grpc::Status closeApp(::grpc::ServerContext * context, + ::aurum::RspLaunchApp *response) override; + ::grpc::Status closeApp(::grpc::ServerContext *context, const ::aurum::ReqCloseApp *request, - ::aurum::RspCloseApp * response) override; + ::aurum::RspCloseApp *response) override; - ::grpc::Status click(::grpc::ServerContext * context, + ::grpc::Status click(::grpc::ServerContext *context, const ::aurum::ReqClick *request, - ::aurum::RspClick * response) override; - ::grpc::Status longClick(::grpc::ServerContext * context, + ::aurum::RspClick *response) override; + ::grpc::Status longClick(::grpc::ServerContext *context, const ::aurum::ReqClick *request, - ::aurum::RspClick * response) override; - ::grpc::Status flick(::grpc::ServerContext * context, + ::aurum::RspClick *response) override; + ::grpc::Status flick(::grpc::ServerContext *context, const ::aurum::ReqFlick *request, - ::aurum::RspFlick * response) override; + ::aurum::RspFlick *response) override; - ::grpc::Status touchDown(::grpc::ServerContext * context, + ::grpc::Status touchDown(::grpc::ServerContext *context, const ::aurum::ReqTouchDown *request, - ::aurum::RspTouchDown * response) override; - ::grpc::Status touchUp(::grpc::ServerContext * context, + ::aurum::RspTouchDown *response) override; + ::grpc::Status touchUp(::grpc::ServerContext *context, const ::aurum::ReqTouchUp *request, - ::aurum::RspTouchUp * response) override; - ::grpc::Status touchMove(::grpc::ServerContext * context, + ::aurum::RspTouchUp *response) override; + ::grpc::Status touchMove(::grpc::ServerContext *context, const ::aurum::ReqTouchMove *request, - ::aurum::RspTouchMove * response) override; - ::grpc::Status getDeviceTime(::grpc::ServerContext * context, + ::aurum::RspTouchMove *response) override; + ::grpc::Status getDeviceTime(::grpc::ServerContext *context, const ::aurum::ReqGetDeviceTime *request, ::aurum::RspGetDeviceTime *response) override; - ::grpc::Status getLocation(::grpc::ServerContext * context, + ::grpc::Status getLocation(::grpc::ServerContext *context, const ::aurum::ReqGetLocation *request, ::aurum::RspGetLocation *response) override; ::grpc::Status sendKey(::grpc::ServerContext *context, const ::aurum::ReqKey *request, - ::aurum::RspKey * response) override; + ::aurum::RspKey *response) override; ::grpc::Status takeScreenshot(::grpc::ServerContext *context, - const ::aurum::ReqTakeScreenshot * request, - ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* writer) override; + const ::aurum::ReqTakeScreenshot *request, + ::grpc::ServerWriter< ::aurum::RspTakeScreenshot> *writer) override; ::grpc::Status dumpObjectTree(::grpc::ServerContext *context, const ::aurum::ReqDumpObjectTree *request, - ::aurum::RspDumpObjectTree * response) override; + ::aurum::RspDumpObjectTree *response) override; }; diff --git a/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h index 5a9391c..21fc670 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h @@ -9,11 +9,11 @@ class ClearCommand : public Command { private: - const ::aurum::ReqClear* mRequest; - ::aurum::RspClear* mResponse; + const ::aurum::ReqClear *mRequest; + ::aurum::RspClear *mResponse; public: - ClearCommand(const ::aurum::ReqClear* request, ::aurum::RspClear* response); + ClearCommand(const ::aurum::ReqClear *request, ::aurum::RspClear *response); ::grpc::Status execute() override; protected: diff --git a/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h index aafaf97..9d62d34 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h @@ -8,13 +8,13 @@ #include "config.h" class ClickCommand : public Command { protected: - const ::aurum::ReqClick* mRequest; - ::aurum::RspClick* mResponse; + const ::aurum::ReqClick *mRequest; + ::aurum::RspClick *mResponse; public: - ClickCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response); + ClickCommand(const ::aurum::ReqClick *request, ::aurum::RspClick *response); ::grpc::Status execute() override; - static std::unique_ptr createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response); + static std::unique_ptr createCommand(const ::aurum::ReqClick *request, ::aurum::RspClick *response); }; class ClickElementCommand : public ClickCommand { diff --git a/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h index 81bc6c4..a3074ce 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h @@ -9,12 +9,12 @@ class CloseAppCommand : public Command { private: - const ::aurum::ReqCloseApp* mRequest; - ::aurum::RspCloseApp* mResponse; + const ::aurum::ReqCloseApp *mRequest; + ::aurum::RspCloseApp *mResponse; public: - CloseAppCommand(const ::aurum::ReqCloseApp* request, - ::aurum::RspCloseApp* response); + CloseAppCommand(const ::aurum::ReqCloseApp *request, + ::aurum::RspCloseApp *response); ::grpc::Status execute() override; ::grpc::Status executePost() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/DumpObjectTreeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/DumpObjectTreeCommand.h index 1e320fa..e09bd7d 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/DumpObjectTreeCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/DumpObjectTreeCommand.h @@ -10,15 +10,15 @@ class DumpObjectTreeCommand: public Command { protected: - const ::aurum::ReqDumpObjectTree* mRequest; - ::aurum::RspDumpObjectTree* mResponse; + const ::aurum::ReqDumpObjectTree *mRequest; + ::aurum::RspDumpObjectTree *mResponse; protected: - ObjectMapper* mObjMap; + ObjectMapper *mObjMap; public: - DumpObjectTreeCommand(const ::aurum::ReqDumpObjectTree* request, - ::aurum::RspDumpObjectTree* response); + DumpObjectTreeCommand(const ::aurum::ReqDumpObjectTree *request, + ::aurum::RspDumpObjectTree *response); ::grpc::Status execute() override; private: diff --git a/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h index cc52270..202ede2 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h @@ -9,15 +9,15 @@ class FindElementCommand : public Command { protected: - const ::aurum::ReqFindElement* mRequest; - ::aurum::RspFindElement* mResponse; + const ::aurum::ReqFindElement *mRequest; + ::aurum::RspFindElement *mResponse; protected: - ObjectMapper* mObjMap; + ObjectMapper *mObjMap; public: - FindElementCommand(const ::aurum::ReqFindElement* request, - ::aurum::RspFindElement* response); + FindElementCommand(const ::aurum::ReqFindElement *request, + ::aurum::RspFindElement *response); ::grpc::Status execute() override; protected: virtual std::shared_ptr getSearchableTop(void); diff --git a/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h index 1a6d5c5..ac3f177 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h @@ -9,12 +9,12 @@ class FlickCommand : public Command { private: - const ::aurum::ReqFlick* mRequest; - ::aurum::RspFlick* mResponse; + const ::aurum::ReqFlick *mRequest; + ::aurum::RspFlick *mResponse; const unsigned int MINIMUM_TOUCHEVENT_INTV_MS = 25; public: - FlickCommand(const ::aurum::ReqFlick* request, ::aurum::RspFlick* response); + FlickCommand(const ::aurum::ReqFlick *request, ::aurum::RspFlick *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h index 7bdd8a6..4e94c54 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h @@ -9,12 +9,12 @@ class GetAppInfoCommand : public Command { private: - const ::aurum::ReqGetAppInfo* mRequest; - ::aurum::RspGetAppInfo* mResponse; + const ::aurum::ReqGetAppInfo *mRequest; + ::aurum::RspGetAppInfo *mResponse; public: - GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request, - ::aurum::RspGetAppInfo* response); + GetAppInfoCommand(const ::aurum::ReqGetAppInfo *request, + ::aurum::RspGetAppInfo *response); ; ::grpc::Status execute() override; }; diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h index f1e3d7b..749156b 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h @@ -9,16 +9,16 @@ class GetAttributeCommand : public Command { protected: - const ::aurum::ReqGetAttribute* mRequest; - ::aurum::RspGetAttribute* mResponse; - ObjectMapper* mObjMap; + const ::aurum::ReqGetAttribute *mRequest; + ::aurum::RspGetAttribute *mResponse; + ObjectMapper *mObjMap; public: - GetAttributeCommand(const ::aurum::ReqGetAttribute* request, - ::aurum::RspGetAttribute* response); + GetAttributeCommand(const ::aurum::ReqGetAttribute *request, + ::aurum::RspGetAttribute *response); ::grpc::Status execute() override; - static std::unique_ptr createCommand(const ::aurum::ReqGetAttribute* request, - ::aurum::RspGetAttribute* response); + static std::unique_ptr createCommand(const ::aurum::ReqGetAttribute *request, + ::aurum::RspGetAttribute *response); }; class GetVisibleAttributeCommand : public GetAttributeCommand { diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h index a366961..d261d2c 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h @@ -9,12 +9,12 @@ class GetDeviceTimeCommand : public Command { private: - const ::aurum::ReqGetDeviceTime* mRequest; - ::aurum::RspGetDeviceTime* mResponse; + const ::aurum::ReqGetDeviceTime *mRequest; + ::aurum::RspGetDeviceTime *mResponse; public: - GetDeviceTimeCommand(const ::aurum::ReqGetDeviceTime* request, - ::aurum::RspGetDeviceTime* response); + GetDeviceTimeCommand(const ::aurum::ReqGetDeviceTime *request, + ::aurum::RspGetDeviceTime *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h index 1591233..e153a43 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h @@ -9,12 +9,12 @@ class GetLocationCommand : public Command { private: - const ::aurum::ReqGetLocation* mRequest; - ::aurum::RspGetLocation* mResponse; + const ::aurum::ReqGetLocation *mRequest; + ::aurum::RspGetLocation *mResponse; public: - GetLocationCommand(const ::aurum::ReqGetLocation* request, - ::aurum::RspGetLocation* response); + GetLocationCommand(const ::aurum::ReqGetLocation *request, + ::aurum::RspGetLocation *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h index eae1ceb..ad2a528 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h @@ -9,12 +9,12 @@ class GetSizeCommand : public Command { private: - const ::aurum::ReqGetSize* mRequest; - ::aurum::RspGetSize* mResponse; + const ::aurum::ReqGetSize *mRequest; + ::aurum::RspGetSize *mResponse; public: - GetSizeCommand(const ::aurum::ReqGetSize* request, - ::aurum::RspGetSize* response); + GetSizeCommand(const ::aurum::ReqGetSize *request, + ::aurum::RspGetSize *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h index 09617ec..22ab0db 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h @@ -9,12 +9,12 @@ class GetValueCommand : public Command { private: - const ::aurum::ReqGetValue* mRequest; - ::aurum::RspGetValue* mResponse; + const ::aurum::ReqGetValue *mRequest; + ::aurum::RspGetValue *mResponse; public: - GetValueCommand(const ::aurum::ReqGetValue* request, - ::aurum::RspGetValue* response); + GetValueCommand(const ::aurum::ReqGetValue *request, + ::aurum::RspGetValue *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h index 7ef0c32..1c2e6b2 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h @@ -9,12 +9,12 @@ class InstallAppCommand : public Command { private: - ::grpc::ServerReader< ::aurum::ReqInstallApp>* mRequest; - ::aurum::RspInstallApp* mResponse; + ::grpc::ServerReader< ::aurum::ReqInstallApp> *mRequest; + ::aurum::RspInstallApp *mResponse; public: - InstallAppCommand(::grpc::ServerReader< ::aurum::ReqInstallApp>* request, - ::aurum::RspInstallApp* response); + InstallAppCommand(::grpc::ServerReader< ::aurum::ReqInstallApp> *request, + ::aurum::RspInstallApp *response); ::grpc::Status execute() override; ::grpc::Status executePost() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h index a8cc9e4..50ff081 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h @@ -9,12 +9,12 @@ class KillServerCommand : public Command { private: - const ::aurum::ReqEmpty* mRequest; - ::aurum::RspEmpty* mResponse; + const ::aurum::ReqEmpty *mRequest; + ::aurum::RspEmpty *mResponse; public: - KillServerCommand(const ::aurum::ReqEmpty* request, - ::aurum::RspEmpty* response); + KillServerCommand(const ::aurum::ReqEmpty *request, + ::aurum::RspEmpty *response); ; ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h index 9702917..a08d30c 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h @@ -9,12 +9,12 @@ class LaunchAppCommand : public Command { private: - const ::aurum::ReqLaunchApp* mRequest; - ::aurum::RspLaunchApp* mResponse; + const ::aurum::ReqLaunchApp *mRequest; + ::aurum::RspLaunchApp *mResponse; public: - LaunchAppCommand(const ::aurum::ReqLaunchApp* request, - ::aurum::RspLaunchApp* response); + LaunchAppCommand(const ::aurum::ReqLaunchApp *request, + ::aurum::RspLaunchApp *response); ::grpc::Status execute() override; ::grpc::Status executePost() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h index 12fa17f..5b25ab9 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h @@ -9,12 +9,12 @@ class LongClickCommand : public Command { private: - const ::aurum::ReqClick* mRequest; - ::aurum::RspClick* mResponse; + const ::aurum::ReqClick *mRequest; + ::aurum::RspClick *mResponse; public: - LongClickCommand(const ::aurum::ReqClick* request, - ::aurum::RspClick* response); + LongClickCommand(const ::aurum::ReqClick *request, + ::aurum::RspClick *response); ::grpc::Status execute() override; private: const static unsigned int LOGNCLICK_INTERVAL = 50; diff --git a/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h index f45ff5a..4351629 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h @@ -9,12 +9,12 @@ class RemoveAppCommand : public Command { private: - const ::aurum::ReqRemoveApp* mRequest; - ::aurum::RspRemoveApp* mResponse; + const ::aurum::ReqRemoveApp *mRequest; + ::aurum::RspRemoveApp *mResponse; public: - RemoveAppCommand(const ::aurum::ReqRemoveApp* request, - ::aurum::RspRemoveApp* response); + RemoveAppCommand(const ::aurum::ReqRemoveApp *request, + ::aurum::RspRemoveApp *response); ; ::grpc::Status execute() override; ::grpc::Status executePost() override; diff --git a/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h index 1a7678a..4efb6d9 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h @@ -9,10 +9,10 @@ class SendKeyCommand : public Command { private: - const ::aurum::ReqKey* mRequest; - ::aurum::RspKey* mResponse; + const ::aurum::ReqKey *mRequest; + ::aurum::RspKey *mResponse; public: - SendKeyCommand(const ::aurum::ReqKey* request, ::aurum::RspKey* response); + SendKeyCommand(const ::aurum::ReqKey *request, ::aurum::RspKey *response); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h index 2bc5dd5..7a37943 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h @@ -9,11 +9,11 @@ class SetValueCommand : public Command { private: - const ::aurum::ReqSetValue* mRequest; - ::aurum::RspSetValue* mResponse; + const ::aurum::ReqSetValue *mRequest; + ::aurum::RspSetValue *mResponse; public: - SetValueCommand(const ::aurum::ReqSetValue* request, - ::aurum::RspSetValue* response); + SetValueCommand(const ::aurum::ReqSetValue *request, + ::aurum::RspSetValue *response); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TakeScreenshotCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TakeScreenshotCommand.h index 41e0a8e..d67c889 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/TakeScreenshotCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/TakeScreenshotCommand.h @@ -9,11 +9,11 @@ class TakeScreenshotCommand : public Command { private: - const ::aurum::ReqTakeScreenshot* mRequest; - ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* mWriter; + const ::aurum::ReqTakeScreenshot *mRequest; + ::grpc::ServerWriter< ::aurum::RspTakeScreenshot> *mWriter; public: - TakeScreenshotCommand(const ::aurum::ReqTakeScreenshot* request, - ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* writer); + TakeScreenshotCommand(const ::aurum::ReqTakeScreenshot *request, + ::grpc::ServerWriter< ::aurum::RspTakeScreenshot> *writer); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h index acd0f1b..b9c6b84 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h @@ -9,11 +9,11 @@ class TouchDownCommand : public Command { private: - const ::aurum::ReqTouchDown* mRequest; - ::aurum::RspTouchDown* mResponse; + const ::aurum::ReqTouchDown *mRequest; + ::aurum::RspTouchDown *mResponse; public: - TouchDownCommand(const ::aurum::ReqTouchDown* request, - ::aurum::RspTouchDown* response); + TouchDownCommand(const ::aurum::ReqTouchDown *request, + ::aurum::RspTouchDown *response); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h index 2182e3b..b8f6e01 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h @@ -9,11 +9,11 @@ class TouchMoveCommand : public Command { private: - const ::aurum::ReqTouchMove* mRequest; - ::aurum::RspTouchMove* mResponse; + const ::aurum::ReqTouchMove *mRequest; + ::aurum::RspTouchMove *mResponse; public: - TouchMoveCommand(const ::aurum::ReqTouchMove* request, - ::aurum::RspTouchMove* response); + TouchMoveCommand(const ::aurum::ReqTouchMove *request, + ::aurum::RspTouchMove *response); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h index ed746ac..9210b31 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h @@ -9,11 +9,11 @@ class TouchUpCommand : public Command { private: - const ::aurum::ReqTouchUp* mRequest; - ::aurum::RspTouchUp* mResponse; + const ::aurum::ReqTouchUp *mRequest; + ::aurum::RspTouchUp *mResponse; public: - TouchUpCommand(const ::aurum::ReqTouchUp* request, - ::aurum::RspTouchUp* response); + TouchUpCommand(const ::aurum::ReqTouchUp *request, + ::aurum::RspTouchUp *response); ::grpc::Status execute() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc b/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc index bf12ff8..586bac5 100644 --- a/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc +++ b/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc @@ -17,7 +17,7 @@ aurumServiceImpl::aurumServiceImpl() AccessibleWatcher::getInstance(); } -::grpc::Status aurumServiceImpl::execute(Command* cmd, bool clean) +::grpc::Status aurumServiceImpl::execute(Command *cmd, bool clean) { std::unique_ptr proxyPreCmd = std::make_unique(cmd); std::unique_ptr proxyPostCmd = std::make_unique(proxyPreCmd.get()); @@ -32,177 +32,177 @@ aurumServiceImpl::~aurumServiceImpl() } ::grpc::Status aurumServiceImpl::aurumServiceImpl::killServer( - ::grpc::ServerContext* context, const ::aurum::ReqEmpty* request, - ::aurum::RspEmpty* response) + ::grpc::ServerContext *context, const ::aurum::ReqEmpty *request, + ::aurum::RspEmpty *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } ::grpc::Status aurumServiceImpl::aurumServiceImpl::findElement( - ::grpc::ServerContext* context, const ::aurum::ReqFindElement* request, - ::aurum::RspFindElement* response) + ::grpc::ServerContext *context, const ::aurum::ReqFindElement *request, + ::aurum::RspFindElement *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); } ::grpc::Status aurumServiceImpl::aurumServiceImpl::click( - ::grpc::ServerContext* context, const ::aurum::ReqClick* request, - ::aurum::RspClick* response) + ::grpc::ServerContext *context, const ::aurum::ReqClick *request, + ::aurum::RspClick *response) { std::unique_ptr cmd = ClickCommand::createCommand(request, response); return execute(cmd.get(), true); } -::grpc::Status aurumServiceImpl::getValue(::grpc::ServerContext* context, - const ::aurum::ReqGetValue* request, - ::aurum::RspGetValue* response) +::grpc::Status aurumServiceImpl::getValue(::grpc::ServerContext *context, + const ::aurum::ReqGetValue *request, + ::aurum::RspGetValue *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); } -::grpc::Status aurumServiceImpl::setValue(::grpc::ServerContext* context, - const ::aurum::ReqSetValue* request, - ::aurum::RspSetValue* response) +::grpc::Status aurumServiceImpl::setValue(::grpc::ServerContext *context, + const ::aurum::ReqSetValue *request, + ::aurum::RspSetValue *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); } ::grpc::Status aurumServiceImpl::getAttribute( - ::grpc::ServerContext* context, const ::aurum::ReqGetAttribute* request, - ::aurum::RspGetAttribute* response) + ::grpc::ServerContext *context, const ::aurum::ReqGetAttribute *request, + ::aurum::RspGetAttribute *response) { std::unique_ptr cmd = GetAttributeCommand::createCommand(request, response); return execute(cmd.get(), true); } -::grpc::Status aurumServiceImpl::getSize(::grpc::ServerContext* context, - const ::aurum::ReqGetSize* request, - ::aurum::RspGetSize* response) +::grpc::Status aurumServiceImpl::getSize(::grpc::ServerContext *context, + const ::aurum::ReqGetSize *request, + ::aurum::RspGetSize *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); } -::grpc::Status aurumServiceImpl::clear(::grpc::ServerContext* context, - const ::aurum::ReqClear* request, - ::aurum::RspClear* response) +::grpc::Status aurumServiceImpl::clear(::grpc::ServerContext *context, + const ::aurum::ReqClear *request, + ::aurum::RspClear *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); } ::grpc::Status aurumServiceImpl::installApp( - ::grpc::ServerContext* context, - ::grpc::ServerReader< ::aurum::ReqInstallApp>* request, - ::aurum::RspInstallApp* response) + ::grpc::ServerContext *context, + ::grpc::ServerReader< ::aurum::ReqInstallApp> *request, + ::aurum::RspInstallApp *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::removeApp(::grpc::ServerContext* context, - const ::aurum::ReqRemoveApp* request, - ::aurum::RspRemoveApp* response) +::grpc::Status aurumServiceImpl::removeApp(::grpc::ServerContext *context, + const ::aurum::ReqRemoveApp *request, + ::aurum::RspRemoveApp *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } ::grpc::Status aurumServiceImpl::getAppInfo( - ::grpc::ServerContext* context, const ::aurum::ReqGetAppInfo* request, - ::aurum::RspGetAppInfo* response) + ::grpc::ServerContext *context, const ::aurum::ReqGetAppInfo *request, + ::aurum::RspGetAppInfo *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::launchApp(::grpc::ServerContext* context, - const ::aurum::ReqLaunchApp* request, - ::aurum::RspLaunchApp* response) +::grpc::Status aurumServiceImpl::launchApp(::grpc::ServerContext *context, + const ::aurum::ReqLaunchApp *request, + ::aurum::RspLaunchApp *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::closeApp(::grpc::ServerContext* context, - const ::aurum::ReqCloseApp* request, - ::aurum::RspCloseApp* response) +::grpc::Status aurumServiceImpl::closeApp(::grpc::ServerContext *context, + const ::aurum::ReqCloseApp *request, + ::aurum::RspCloseApp *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::touchDown(::grpc::ServerContext* context, - const ::aurum::ReqTouchDown* request, - ::aurum::RspTouchDown* response) +::grpc::Status aurumServiceImpl::touchDown(::grpc::ServerContext *context, + const ::aurum::ReqTouchDown *request, + ::aurum::RspTouchDown *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::touchUp(::grpc::ServerContext* context, - const ::aurum::ReqTouchUp* request, - ::aurum::RspTouchUp* response) +::grpc::Status aurumServiceImpl::touchUp(::grpc::ServerContext *context, + const ::aurum::ReqTouchUp *request, + ::aurum::RspTouchUp *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::touchMove(::grpc::ServerContext* context, - const ::aurum::ReqTouchMove* request, - ::aurum::RspTouchMove* response) +::grpc::Status aurumServiceImpl::touchMove(::grpc::ServerContext *context, + const ::aurum::ReqTouchMove *request, + ::aurum::RspTouchMove *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::longClick(::grpc::ServerContext* context, - const ::aurum::ReqClick* request, - ::aurum::RspClick* response) +::grpc::Status aurumServiceImpl::longClick(::grpc::ServerContext *context, + const ::aurum::ReqClick *request, + ::aurum::RspClick * response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::flick(::grpc::ServerContext* context, - const ::aurum::ReqFlick* request, - ::aurum::RspFlick* response) +::grpc::Status aurumServiceImpl::flick(::grpc::ServerContext *context, + const ::aurum::ReqFlick *request, + ::aurum::RspFlick *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } ::grpc::Status aurumServiceImpl::getDeviceTime( - ::grpc::ServerContext* context, const ::aurum::ReqGetDeviceTime* request, - ::aurum::RspGetDeviceTime* response) + ::grpc::ServerContext *context, const ::aurum::ReqGetDeviceTime *request, + ::aurum::RspGetDeviceTime *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } ::grpc::Status aurumServiceImpl::getLocation( - ::grpc::ServerContext* context, const ::aurum::ReqGetLocation* request, - ::aurum::RspGetLocation* response) + ::grpc::ServerContext *context, const ::aurum::ReqGetLocation *request, + ::aurum::RspGetLocation *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::sendKey(::grpc::ServerContext* context, - const ::aurum::ReqKey* request, - ::aurum::RspKey* response) +::grpc::Status aurumServiceImpl::sendKey(::grpc::ServerContext *context, + const ::aurum::ReqKey *request, + ::aurum::RspKey *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), false); } -::grpc::Status aurumServiceImpl::takeScreenshot(::grpc::ServerContext* context, - const ::aurum::ReqTakeScreenshot* request, - ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* writer) +::grpc::Status aurumServiceImpl::takeScreenshot(::grpc::ServerContext *context, + const ::aurum::ReqTakeScreenshot *request, + ::grpc::ServerWriter< ::aurum::RspTakeScreenshot> *writer) { std::unique_ptr cmd = std::make_unique(request, writer); return execute(cmd.get(), false); @@ -210,7 +210,7 @@ aurumServiceImpl::~aurumServiceImpl() ::grpc::Status aurumServiceImpl::dumpObjectTree(::grpc::ServerContext *context, const ::aurum::ReqDumpObjectTree *request, - ::aurum::RspDumpObjectTree * response) + ::aurum::RspDumpObjectTree *response) { std::unique_ptr cmd = std::make_unique(request, response); return execute(cmd.get(), true); diff --git a/org.tizen.aurum-bootstrap/src/BootstrapServer.cc b/org.tizen.aurum-bootstrap/src/BootstrapServer.cc index 0edd35d..7255afd 100644 --- a/org.tizen.aurum-bootstrap/src/BootstrapServer.cc +++ b/org.tizen.aurum-bootstrap/src/BootstrapServer.cc @@ -15,14 +15,14 @@ using namespace grpc; typedef struct _ServiceContext { GMainLoop *loop; - GThread *thread; + GThread *thread; std::unique_ptr server; } ServiceContext; static gpointer _grpc_thread_func (gpointer data) { - ServiceContext *ctx = (ServiceContext*)data; + ServiceContext *ctx = (ServiceContext *)data; std::string binding("0.0.0.0:50051"); aurumServiceImpl service; ServerBuilder builder; @@ -38,7 +38,7 @@ _grpc_thread_func (gpointer data) static bool _service_app_create(void *data) { - ServiceContext *ctx = (ServiceContext*)data; + ServiceContext *ctx = (ServiceContext *)data; ctx->loop = g_main_loop_new ( NULL , FALSE ); ctx->thread = g_thread_new("grpc_thread", _grpc_thread_func, ctx); @@ -48,7 +48,7 @@ static bool _service_app_create(void *data) static void _service_app_terminate(void *data) { - ServiceContext *ctx = (ServiceContext*)data; + ServiceContext *ctx = (ServiceContext *)data; ctx->server->Shutdown(); g_main_loop_unref(ctx->loop); g_thread_join(ctx->thread); @@ -56,7 +56,7 @@ static void _service_app_terminate(void *data) static void _service_app_control(app_control_h app_control, void *data) { - ServiceContext *ctx = (ServiceContext*)data; + ServiceContext *ctx = (ServiceContext *)data; if (!ctx) LOGE("Service context is empty!"); } diff --git a/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc index 3b80401..c48bcdb 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc @@ -2,8 +2,8 @@ #include "ClearCommand.h" #include -ClearCommand::ClearCommand(const ::aurum::ReqClear* request, - ::aurum::RspClear* response) +ClearCommand::ClearCommand(const ::aurum::ReqClear *request, + ::aurum::RspClear *response) : mRequest{request}, mResponse{response} { } @@ -25,7 +25,7 @@ bool ClearCommand::hasHintText(std::shared_ptr obj) ::grpc::Status ClearCommand::execute() { LOGI("Clear --------------- "); - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); if (obj) { @@ -44,4 +44,4 @@ bool ClearCommand::hasHintText(std::shared_ptr obj) } return grpc::Status::OK; -} \ No newline at end of file +} diff --git a/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc index 0b74527..cc7a30e 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc @@ -3,8 +3,8 @@ #include "UiObject.h" #include "UiDevice.h" -ClickCommand::ClickCommand(const ::aurum::ReqClick* request, - ::aurum::RspClick* response) +ClickCommand::ClickCommand(const ::aurum::ReqClick *request, + ::aurum::RspClick *response) : mRequest{request}, mResponse{response} { } @@ -14,7 +14,7 @@ ClickCommand::ClickCommand(const ::aurum::ReqClick* request, return grpc::Status::CANCELLED; } -std::unique_ptr ClickCommand::createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response) +std::unique_ptr ClickCommand::createCommand(const ::aurum::ReqClick *request, ::aurum::RspClick *response) { ::aurum::ReqClick_RequestType type = request->type(); @@ -30,7 +30,7 @@ std::unique_ptr ClickCommand::createCommand(const ::aurum::ReqClic ::grpc::Status ClickElementCommand::execute() { - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); LOGI("ClickElementCommand execute %p", obj.get()); @@ -55,7 +55,7 @@ std::unique_ptr ClickCommand::createCommand(const ::aurum::ReqClic ::grpc::Status ClickAtspiCommand::execute() { - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); LOGI("ClickAtspiCommand execute %p", obj.get()); diff --git a/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc index e1d0b51..c1073f4 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc @@ -6,8 +6,8 @@ #include #endif -CloseAppCommand::CloseAppCommand(const ::aurum::ReqCloseApp* request, - ::aurum::RspCloseApp* response) +CloseAppCommand::CloseAppCommand(const ::aurum::ReqCloseApp *request, + ::aurum::RspCloseApp *response) : mRequest{request}, mResponse{response} { } @@ -42,4 +42,4 @@ CloseAppCommand::CloseAppCommand(const ::aurum::ReqCloseApp* request, LOGI("Wait for 1500ms"); std::this_thread::sleep_for(std::chrono::milliseconds{1500}); return grpc::Status::OK; -} \ No newline at end of file +} diff --git a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc index b8b7c71..84f0002 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc @@ -6,8 +6,8 @@ #include "Sel.h" #include "ISearchable.h" -DumpObjectTreeCommand::DumpObjectTreeCommand(const ::aurum::ReqDumpObjectTree* request, - ::aurum::RspDumpObjectTree* response) +DumpObjectTreeCommand::DumpObjectTreeCommand(const ::aurum::ReqDumpObjectTree *request, + ::aurum::RspDumpObjectTree *response) : mRequest{request}, mResponse{response} { mObjMap = ObjectMapper::getInstance(); @@ -55,7 +55,7 @@ void DumpObjectTreeCommand::traverse(::aurum::Element *root, std::shared_ptrset_isselectable(obj->isSelectable()); for( auto && childNode : node->mChildren) { - ::aurum::Element* child = root->add_child(); + ::aurum::Element *child = root->add_child(); traverse(child, childNode, depth+1); } } @@ -69,7 +69,7 @@ void DumpObjectTreeCommand::traverse(::aurum::Element *root, std::shared_ptrgetDescendant(); - ::aurum::Element* root = mResponse->add_roots(); + ::aurum::Element *root = mResponse->add_roots(); traverse(root, node, 0); } return grpc::Status::OK; diff --git a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc index 1238b8b..ee8f6ff 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc @@ -6,8 +6,8 @@ #include "Sel.h" #include "ISearchable.h" -FindElementCommand::FindElementCommand(const ::aurum::ReqFindElement* request, - ::aurum::RspFindElement* response) +FindElementCommand::FindElementCommand(const ::aurum::ReqFindElement *request, + ::aurum::RspFindElement *response) : mRequest{request}, mResponse{response} { mObjMap = ObjectMapper::getInstance(); @@ -64,14 +64,14 @@ std::vector> FindElementCommand::getSelectors(void) if (founds.size() > 0) { for (auto& found : founds) { - UiObject* obj = found.get(); + UiObject *obj = found.get(); std::string key{}; key = mObjMap->getElement(found); if (key.length() <= 0) key = mObjMap->addElement(std::move(found)); LOGI("found object : %s key:%s", obj->getAutomationId().c_str(), key.c_str()); - ::aurum::Element* elm = mResponse->add_elements(); + ::aurum::Element *elm = mResponse->add_elements(); elm->set_elementid(key); elm->set_package(obj->getApplicationPackage()); diff --git a/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc index d1703be..14fcf66 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc @@ -3,7 +3,7 @@ #include "UiDevice.h" FlickCommand::FlickCommand(const ::aurum::ReqFlick *request, - ::aurum::RspFlick * response) + ::aurum::RspFlick *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc index 219211d..cf14e32 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc @@ -5,8 +5,8 @@ #include #endif -GetAppInfoCommand::GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request, - ::aurum::RspGetAppInfo* response) +GetAppInfoCommand::GetAppInfoCommand(const ::aurum::ReqGetAppInfo *request, + ::aurum::RspGetAppInfo *response) : mRequest{request}, mResponse{response} { } @@ -21,7 +21,7 @@ GetAppInfoCommand::GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request, package_info_h package_info; app_state_e appState; - char* label = nullptr; + char *label = nullptr; mResponse->set_status(::aurum::RspStatus::OK); mResponse->set_isinstalled(false); diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc index cba8037..1d54967 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc @@ -4,7 +4,7 @@ #include "UiDevice.h" GetAttributeCommand::GetAttributeCommand( - const ::aurum::ReqGetAttribute* request, ::aurum::RspGetAttribute* response) + const ::aurum::ReqGetAttribute *request, ::aurum::RspGetAttribute *response) : mRequest{request}, mResponse{response}, mObjMap{ObjectMapper::getInstance()} { } @@ -14,8 +14,8 @@ GetAttributeCommand::GetAttributeCommand( return grpc::Status::CANCELLED; } -std::unique_ptr GetAttributeCommand::createCommand(const ::aurum::ReqGetAttribute* request, - ::aurum::RspGetAttribute* response) +std::unique_ptr GetAttributeCommand::createCommand(const ::aurum::ReqGetAttribute *request, + ::aurum::RspGetAttribute*response) { LOGI("GetAttribute --------------- "); ::aurum::ReqGetAttribute_RequestType type = request->attribute(); diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc index 8403dc8..11b05e3 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc @@ -9,8 +9,8 @@ #define BUFSIZE 64 GetDeviceTimeCommand::GetDeviceTimeCommand( - const ::aurum::ReqGetDeviceTime* request, - ::aurum::RspGetDeviceTime* response) + const ::aurum::ReqGetDeviceTime *request, + ::aurum::RspGetDeviceTime *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc index dc85706..303d763 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc @@ -1,8 +1,8 @@ #include "bootstrap.h" #include "GetLocationCommand.h" -GetLocationCommand::GetLocationCommand(const ::aurum::ReqGetLocation* request, - ::aurum::RspGetLocation* response) +GetLocationCommand::GetLocationCommand(const ::aurum::ReqGetLocation *request, + ::aurum::RspGetLocation *response) : mRequest{request}, mResponse{response} { } @@ -10,7 +10,6 @@ GetLocationCommand::GetLocationCommand(const ::aurum::ReqGetLocation* request, ::grpc::Status GetLocationCommand::execute() { LOGI("GetLocation --------------- "); - // ObjectMapper *mObjMap = ObjectMapper::getInstance(); mResponse->set_alt(-1); mResponse->set_lat(-1); diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc index 88c7b00..cb7280a 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc @@ -2,8 +2,8 @@ #include "GetSizeCommand.h" #include "UiObject.h" -GetSizeCommand::GetSizeCommand(const ::aurum::ReqGetSize* request, - ::aurum::RspGetSize* response) +GetSizeCommand::GetSizeCommand(const ::aurum::ReqGetSize *request, + ::aurum::RspGetSize *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc index 410af95..61c81d9 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc @@ -2,8 +2,8 @@ #include "GetValueCommand.h" #include "UiObject.h" -GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue* request, - ::aurum::RspGetValue* response) +GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue *request, + ::aurum::RspGetValue *response) : mRequest{request}, mResponse{response} { } @@ -11,7 +11,7 @@ GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue* request, ::grpc::Status GetValueCommand::execute() { LOGI("GetValue --------------- "); - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); if (obj) { @@ -21,4 +21,4 @@ GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue* request, } return grpc::Status::OK; -} \ No newline at end of file +} diff --git a/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc index 72f9e3f..c14297a 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc @@ -1,8 +1,8 @@ #include "bootstrap.h" #include "KillServerCommand.h" -KillServerCommand::KillServerCommand(const ::aurum::ReqEmpty* request, - ::aurum::RspEmpty* response) +KillServerCommand::KillServerCommand(const ::aurum::ReqEmpty *request, + ::aurum::RspEmpty *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc index 2d2ab15..f7c30ed 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc @@ -7,8 +7,8 @@ #include #endif -LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp* request, - ::aurum::RspLaunchApp* response) +LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp *request, + ::aurum::RspLaunchApp *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc index 22148b5..3312c70 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc @@ -3,8 +3,8 @@ #include "UiObject.h" #include "UiDevice.h" -LongClickCommand::LongClickCommand(const ::aurum::ReqClick* request, - ::aurum::RspClick* response) +LongClickCommand::LongClickCommand(const ::aurum::ReqClick *request, + ::aurum::RspClick *response) : mRequest{request}, mResponse{response} { } @@ -13,7 +13,7 @@ LongClickCommand::LongClickCommand(const ::aurum::ReqClick* request, { LOGI("LongClick --------------- "); - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + ObjectMapper *mObjMap = ObjectMapper::getInstance(); ::aurum::ReqClick_RequestType type = mRequest->type(); if (type == ::aurum::ReqClick_RequestType_ELEMENTID) { diff --git a/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc index 52e137f..b2ba222 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc @@ -2,8 +2,8 @@ #include "SendKeyCommand.h" #include "UiDevice.h" -SendKeyCommand::SendKeyCommand(const ::aurum::ReqKey* request, - ::aurum::RspKey* response) +SendKeyCommand::SendKeyCommand(const ::aurum::ReqKey *request, + ::aurum::RspKey *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc index 30538fe..77ace73 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc @@ -11,8 +11,9 @@ SetValueCommand::SetValueCommand(const ::aurum::ReqSetValue* request, { LOGI("SetValue --------------- "); LOGI("text:%s", mRequest->stringvalue().c_str()); - ObjectMapper* mObjMap = ObjectMapper::getInstance(); + + ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); if (obj) obj->setText(const_cast(mRequest->stringvalue())); return grpc::Status::OK; -} \ No newline at end of file +} diff --git a/org.tizen.aurum-bootstrap/src/Commands/TakeScreenshotCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TakeScreenshotCommand.cc index 6d0177c..e3cc296 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/TakeScreenshotCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/TakeScreenshotCommand.cc @@ -5,8 +5,8 @@ #include "UiDevice.h" TakeScreenshotCommand::TakeScreenshotCommand( - const ::aurum::ReqTakeScreenshot* request, - ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* writer) + const ::aurum::ReqTakeScreenshot *request, + ::grpc::ServerWriter< ::aurum::RspTakeScreenshot> *writer) : mRequest{request}, mWriter{writer} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc index c148b8a..fa42062 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc @@ -2,8 +2,8 @@ #include "TouchDownCommand.h" #include "UiDevice.h" -TouchDownCommand::TouchDownCommand(const ::aurum::ReqTouchDown* request, - ::aurum::RspTouchDown* response) +TouchDownCommand::TouchDownCommand(const ::aurum::ReqTouchDown *request, + ::aurum::RspTouchDown *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc index 2bb0423..951e4de 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc @@ -2,8 +2,8 @@ #include "TouchMoveCommand.h" #include "UiDevice.h" -TouchMoveCommand::TouchMoveCommand(const ::aurum::ReqTouchMove* request, - ::aurum::RspTouchMove* response) +TouchMoveCommand::TouchMoveCommand(const ::aurum::ReqTouchMove *request, + ::aurum::RspTouchMove *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc index 4fd946b..432e972 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc @@ -2,8 +2,8 @@ #include "TouchUpCommand.h" #include "UiDevice.h" -TouchUpCommand::TouchUpCommand(const ::aurum::ReqTouchUp* request, - ::aurum::RspTouchUp* response) +TouchUpCommand::TouchUpCommand(const ::aurum::ReqTouchUp *request, + ::aurum::RspTouchUp *response) : mRequest{request}, mResponse{response} { } diff --git a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc index 0e7b7b6..40c68d1 100644 --- a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc +++ b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc @@ -74,11 +74,9 @@ bool ObjectMapper::removeElement(std::shared_ptr object) void ObjectMapper::cleanUp() { - std::stringstream ss{}; - LOGI("clean up object map"); for(auto iter = mObjectMapReverse.begin(); iter != mObjectMapReverse.end(); ) { - auto obj = mObjectMap[iter->second]; + auto obj = mObjectMap[iter->second]; if (obj && !obj->isValid()) { iter = mObjectMapReverse.erase(iter); } else { -- 2.7.4 From 725e70d44e122e71eadd57535cee34143aa2ca98 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 9 Jul 2021 14:13:29 +0900 Subject: [PATCH 06/16] libaurum: Delete double lock for atspi API thread safe call atspi API is safe through a unique lock at there Change-Id: I817b49086fb61f63fb98bd490c86e719f1b7b03f --- .../Impl/Accessibility/AtspiAccessibleWatcher.h | 4 +++- libaurum/inc/Impl/Accessibility/AtspiWrapper.h | 2 -- .../src/Impl/Accessibility/AtspiAccessibleNode.cc | 25 ---------------------- .../Impl/Accessibility/AtspiAccessibleWatcher.cc | 24 ++++++--------------- libaurum/src/Impl/Accessibility/AtspiWrapper.cc | 10 --------- 5 files changed, 10 insertions(+), 55 deletions(-) diff --git a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h index 5c1f9b2..d0590b4 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h +++ b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h @@ -231,5 +231,7 @@ private: /** * @brief TBD */ - static std::vector> mEventQueue; + static std::vector> mEventQueue; + + static std::mutex mMutex; }; diff --git a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h index 869ba6a..0bd3b02 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h +++ b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h @@ -29,8 +29,6 @@ public: static AtspiAccessible *Atspi_accessible_get_application (AtspiAccessible *node, GError **error); static void Atspi_accessible_clear_cache (AtspiAccessible *node); - static void lock(); - static void unlock(); private: static std::recursive_mutex mMutex; //static std::unique_lock mLock; diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc index a5641f9..e196ab4 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc @@ -28,26 +28,20 @@ AtspiAccessibleNode::~AtspiAccessibleNode() int AtspiAccessibleNode::getChildCount() const { - AtspiWrapper::lock(); if (!isValid()) { - AtspiWrapper::unlock(); return 0; } int count = AtspiWrapper::Atspi_accessible_get_child_count(mNode, NULL); - AtspiWrapper::unlock(); if (count <= 0) return 0; return count; } std::shared_ptr AtspiAccessibleNode::getChildAt(int index) const { - AtspiWrapper::lock(); if (!isValid()) { - AtspiWrapper::unlock(); return std::make_shared(nullptr); } AtspiAccessible *rawChild = AtspiWrapper::Atspi_accessible_get_child_at_index(mNode, index, NULL); - AtspiWrapper::unlock(); return std::make_shared(rawChild); } @@ -64,13 +58,10 @@ std::vector> AtspiAccessibleNode::getChildren() std::shared_ptr AtspiAccessibleNode::getParent() const { - AtspiWrapper::lock(); if (!isValid()) { - AtspiWrapper::unlock(); return std::make_shared(nullptr); } AtspiAccessible *rawParent = AtspiWrapper::Atspi_accessible_get_parent(mNode, NULL); - AtspiWrapper::unlock(); return std::make_shared(rawParent); } @@ -96,8 +87,6 @@ void* AtspiAccessibleNode::getRawHandler(void) const void AtspiAccessibleNode::refresh() { - AtspiWrapper::lock(); - AtspiWrapper::Atspi_accessible_clear_cache(mNode); if (isValid()) { @@ -175,17 +164,13 @@ void AtspiAccessibleNode::refresh() } else { setFeatureProperty(ATSPI_STATE_INVALID); } - AtspiWrapper::unlock(); } std::vector AtspiAccessibleNode::getActions() const { - AtspiWrapper::lock(); - std::vector result{}; AtspiAction *action; if (!isValid()) { - AtspiWrapper::unlock(); return result; } @@ -203,18 +188,14 @@ std::vector AtspiAccessibleNode::getActions() const g_object_unref(action); } - AtspiWrapper::unlock(); - return result; } bool AtspiAccessibleNode::doAction(std::string actionName) { - AtspiWrapper::lock(); AtspiAction *action; if (!isValid()) { - AtspiWrapper::unlock(); return false; } @@ -226,7 +207,6 @@ bool AtspiAccessibleNode::doAction(std::string actionName) for (a = 0; a < n_actions; a++) { char *action_name = AtspiWrapper::Atspi_action_get_action_name(action, a, NULL); if (!action_name) { - AtspiWrapper::unlock(); return false; } @@ -234,22 +214,18 @@ bool AtspiAccessibleNode::doAction(std::string actionName) AtspiWrapper::Atspi_action_do_action(action, a, NULL); g_free(action_name); g_object_unref(action); - AtspiWrapper::unlock(); return true; } g_free(action_name); } g_object_unref(action); } - AtspiWrapper::unlock(); return false; } void AtspiAccessibleNode::setValue(std::string text) { - AtspiWrapper::lock(); if (!isValid()){ - AtspiWrapper::unlock(); return; } @@ -261,7 +237,6 @@ void AtspiAccessibleNode::setValue(std::string text) AtspiWrapper::Atspi_editable_text_insert_text(iface, 0, text.c_str(), text.length(), NULL); } - AtspiWrapper::unlock(); } void AtspiAccessibleNode::setFeatureProperty(AtspiStateType type) diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index a58a89f..79de9e0 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -13,6 +13,7 @@ std::vector> AtspiAccessibleWatcher::mEventQueue; GThread *AtspiAccessibleWatcher::mEventThread = nullptr; +std::mutex AtspiAccessibleWatcher::mMutex = std::mutex{}; static bool iShowingNode(AtspiAccessible *node) { @@ -139,10 +140,8 @@ AtspiAccessibleWatcher::~AtspiAccessibleWatcher() void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *user_data) { - AtspiWrapper::lock(); if (!event->source) { - AtspiWrapper::unlock(); return; } char *name = NULL, *pkg = NULL; @@ -158,7 +157,9 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *user_data) else pkg = strdup(""); + mMutex.lock(); mEventQueue.push_back(std::make_shared(std::string(event->type), std::string(name), std::string(pkg))); + mMutex.unlock(); if (!strcmp(event->type, "object:state-changed:defunct")) { instance->onObjectDefunct( @@ -166,8 +167,6 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *user_data) } if (name) free(name); if (pkg) free(pkg); - - AtspiWrapper::unlock(); } void AtspiAccessibleWatcher::print_debug() @@ -228,37 +227,29 @@ void AtspiAccessibleWatcher::onObjectDefunct(AtspiAccessible *node) int AtspiAccessibleWatcher::getApplicationCount(void) const { - AtspiWrapper::lock(); - AtspiAccessible *root = AtspiWrapper::Atspi_get_desktop(0); int nchild = AtspiWrapper::Atspi_accessible_get_child_count(root, NULL); g_object_unref(root); - AtspiWrapper::unlock(); - if (nchild <= 0) return 0; return nchild; } std::shared_ptr AtspiAccessibleWatcher::getApplicationAt(int index) const { - AtspiWrapper::lock(); AtspiAccessible *root = AtspiWrapper::Atspi_get_desktop(0); AtspiAccessible *child = AtspiWrapper::Atspi_accessible_get_child_at_index(root, index, NULL); g_object_unref(root); - AtspiWrapper::unlock(); return std::make_shared(std::make_shared(child)); } std::vector> AtspiAccessibleWatcher::getApplications(void) const { - AtspiWrapper::lock(); std::vector> ret{}; AtspiAccessible *root = AtspiWrapper::Atspi_get_desktop(0); int nchild = AtspiWrapper::Atspi_accessible_get_child_count(root, NULL); if (nchild <= 0) { g_object_unref(root); - AtspiWrapper::unlock(); return ret; } @@ -269,7 +260,6 @@ std::vector> AtspiAccessibleWatcher::getA } } g_object_unref(root); - AtspiWrapper::unlock(); return ret; } @@ -278,9 +268,9 @@ std::vector> AtspiAccessibleWatcher::getA bool AtspiAccessibleWatcher::executeAndWaitForEvents(const Runnable *cmd, const A11yEvent type, const int timeout) { - AtspiWrapper::lock(); + mMutex.lock(); mEventQueue.clear(); - AtspiWrapper::unlock(); + mMutex.unlock(); if (cmd) cmd->run(); @@ -289,10 +279,10 @@ bool AtspiAccessibleWatcher::executeAndWaitForEvents(const Runnable *cmd, const while (true) { std::vector> localEvents; - AtspiWrapper::lock(); + mMutex.lock(); localEvents.assign(mEventQueue.begin(), mEventQueue.end()); mEventQueue.clear(); - AtspiWrapper::unlock(); + mMutex.unlock(); if (!localEvents.empty()) { diff --git a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc index cf76dcd..109d0cc 100644 --- a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc +++ b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc @@ -1,7 +1,6 @@ #include "AtspiWrapper.h" std::recursive_mutex AtspiWrapper::mMutex = std::recursive_mutex{}; -//std::unique_lock AtspiWrapper::mLock = std::unique_lock(mMutex, std::defer_lock); GArray *AtspiWrapper::Atspi_state_set_get_states(AtspiStateSet *set) { @@ -140,12 +139,3 @@ void AtspiWrapper::Atspi_accessible_clear_cache (AtspiAccessible *node) std::unique_lock lock(mMutex); return atspi_accessible_clear_cache(node); } -void AtspiWrapper::lock() -{ - mMutex.lock(); -} - -void AtspiWrapper::unlock() -{ - mMutex.unlock(); -} -- 2.7.4 From 5647cb0ccfd2d66a3e9eb3211403e0c3f768b364 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Fri, 9 Jul 2021 17:00:56 +0900 Subject: [PATCH 07/16] libaurum: fix critical error on glib. Change-Id: Ied81da3a54afa8cd844835778a873af0f70ed849 --- .../src/Impl/Accessibility/AtspiAccessibleWatcher.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 79de9e0..544c56d 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -93,8 +93,9 @@ static gpointer _event_thread_loop (gpointer data) AtspiAccessibleWatcher::AtspiAccessibleWatcher() : mDbusProxy{nullptr} { - GVariant *enabled_variant = nullptr, *result = nullptr; + GVariant *result = nullptr; GError *error = nullptr; + atspi_set_main_context (g_main_context_default ()); atspi_init(); @@ -106,32 +107,28 @@ AtspiAccessibleWatcher::AtspiAccessibleWatcher() "org.a11y.Bus", "/org/a11y/bus", "org.freedesktop.DBus.Properties", NULL, &error); - enabled_variant = g_variant_new_boolean(true); result = g_dbus_proxy_call_sync( mDbusProxy, "Set", - g_variant_new("(ssv)", "org.a11y.Status", "IsEnabled", enabled_variant), + g_variant_new("(ssv)", "org.a11y.Status", "IsEnabled", g_variant_new_boolean(true)), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - g_variant_unref(enabled_variant); g_variant_unref(result); - g_error_free(error); + if (error) g_error_free(error); } AtspiAccessibleWatcher::~AtspiAccessibleWatcher() { - GVariant *enabled_variant = nullptr, *result = nullptr; + GVariant *result = nullptr; GError *error = nullptr; - enabled_variant = g_variant_new_boolean(false); result = g_dbus_proxy_call_sync( mDbusProxy, "Set", - g_variant_new("(ssv)", "org.a11y.Status", "IsEnabled", enabled_variant), + g_variant_new("(ssv)", "org.a11y.Status", "IsEnabled", g_variant_new_boolean(false)), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); g_object_unref(mDbusProxy); - g_variant_unref(enabled_variant); g_variant_unref(result); - g_error_free(error); + if (error) g_error_free(error); atspi_event_quit(); g_thread_join(mEventThread); -- 2.7.4 From 0ff9860541bb67fc3372d1261a047c1d29e24412 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Tue, 20 Jul 2021 12:43:26 +0900 Subject: [PATCH 08/16] bootstrap: remove unnecessary mainloop and thread. There is problem of CPU usage. Unnecessary mainloop and thread make its problem. Change-Id: Ib892b611ed087bcf37dc4066dde77b3d04a4b96e --- org.tizen.aurum-bootstrap/src/BootstrapServer.cc | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/org.tizen.aurum-bootstrap/src/BootstrapServer.cc b/org.tizen.aurum-bootstrap/src/BootstrapServer.cc index 7255afd..0ae861e 100644 --- a/org.tizen.aurum-bootstrap/src/BootstrapServer.cc +++ b/org.tizen.aurum-bootstrap/src/BootstrapServer.cc @@ -14,13 +14,10 @@ using namespace grpc; typedef struct _ServiceContext { - GMainLoop *loop; - GThread *thread; std::unique_ptr server; } ServiceContext; -static gpointer -_grpc_thread_func (gpointer data) +static bool _service_app_create(void *data) { ServiceContext *ctx = (ServiceContext *)data; std::string binding("0.0.0.0:50051"); @@ -33,16 +30,6 @@ _grpc_thread_func (gpointer data) ctx->server = std::move(builder.BuildAndStart()); ctx->server->Wait(); - return NULL; -} - -static bool _service_app_create(void *data) -{ - ServiceContext *ctx = (ServiceContext *)data; - - ctx->loop = g_main_loop_new ( NULL , FALSE ); - ctx->thread = g_thread_new("grpc_thread", _grpc_thread_func, ctx); - return true; } @@ -50,8 +37,6 @@ static void _service_app_terminate(void *data) { ServiceContext *ctx = (ServiceContext *)data; ctx->server->Shutdown(); - g_main_loop_unref(ctx->loop); - g_thread_join(ctx->thread); } static void _service_app_control(app_control_h app_control, void *data) -- 2.7.4 From 7d8dcc44f3ce070b16ae449e29db57f1adfebc5d Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 16 Jul 2021 16:50:21 +0900 Subject: [PATCH 09/16] Aurum: findObject performance improvement Improved object search logic as is - 1. process list up <- performance degradation point 2. active window list up to be - 1. activated window's process list up 2. active window list up Use runnable feature to look up window event when app launched. Change-Id: I607ae2c20b594b256b2e7b23d5a32eaad90eb255 --- libaurum/inc/Accessibility/AccessibleWatcher.h | 2 + .../Impl/Accessibility/AtspiAccessibleWatcher.h | 5 ++- .../inc/Impl/Accessibility/MockAccessibleWatcher.h | 4 ++ libaurum/inc/UiDevice.h | 2 +- .../Impl/Accessibility/AtspiAccessibleWatcher.cc | 29 +++++++++++- .../Impl/Accessibility/MockAccessibleWatcher.cc | 4 ++ libaurum/src/UiDevice.cc | 13 +++--- .../inc/Commands/LaunchAppCommand.h | 1 - .../inc/Runnable/LaunchAppRunnable.h | 15 +++++++ org.tizen.aurum-bootstrap/meson.build | 2 + .../src/Commands/LaunchAppCommand.cc | 48 +++----------------- .../src/Runnable/LaunchAppRunnable.cc | 51 ++++++++++++++++++++++ 12 files changed, 126 insertions(+), 50 deletions(-) create mode 100644 org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h create mode 100644 org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc diff --git a/libaurum/inc/Accessibility/AccessibleWatcher.h b/libaurum/inc/Accessibility/AccessibleWatcher.h index d9869cd..3090741 100644 --- a/libaurum/inc/Accessibility/AccessibleWatcher.h +++ b/libaurum/inc/Accessibility/AccessibleWatcher.h @@ -7,6 +7,7 @@ #include "IEventSource.h" #include "Runnable.h" #include "A11yEvent.h" +#include #include #include @@ -64,6 +65,7 @@ public: */ virtual bool executeAndWaitForEvents(const Runnable *cmd, const A11yEvent type, const int timeout) = 0; + virtual std::map> getActiveAppMap(void) = 0; public: /** * @brief TBD diff --git a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h index d0590b4..663835f 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h +++ b/libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h @@ -2,6 +2,7 @@ #include "AccessibleNode.h" #include "AccessibleWatcher.h" +#include "AtspiAccessibleApplication.h" #include #include @@ -104,6 +105,8 @@ public: */ virtual bool executeAndWaitForEvents(const Runnable *cmd, const A11yEvent type, const int timeout) override; + virtual std::map> getActiveAppMap(void) override; + public: /** * @brief TBD @@ -221,7 +224,7 @@ private: /** * @brief TBD */ - std::map mWindowAppMap; + std::map> mActiveAppMap; /** * @brief TBD diff --git a/libaurum/inc/Impl/Accessibility/MockAccessibleWatcher.h b/libaurum/inc/Impl/Accessibility/MockAccessibleWatcher.h index f51097b..5721722 100644 --- a/libaurum/inc/Impl/Accessibility/MockAccessibleWatcher.h +++ b/libaurum/inc/Impl/Accessibility/MockAccessibleWatcher.h @@ -49,6 +49,8 @@ public: */ virtual bool executeAndWaitForEvents(const Runnable *cmd, const A11yEvent type, const int timeout) override; + std::map> getActiveAppMap(void); + public: /** * @brief TBD @@ -67,4 +69,6 @@ private: * @brief TBD */ std::vector> mApplicationList; + + std::map> mActiveAppMap; }; diff --git a/libaurum/inc/UiDevice.h b/libaurum/inc/UiDevice.h index dbda79c..03cce46 100644 --- a/libaurum/inc/UiDevice.h +++ b/libaurum/inc/UiDevice.h @@ -176,7 +176,7 @@ public: */ bool sendKeyAndWaitForEvents( const std::string keycode, const A11yEvent type, const int timeout) const; -private: + bool executeAndWaitForEvents( const Runnable *cmd, const A11yEvent type, const int timeout) const; public: diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 544c56d..a1778c6 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -149,7 +149,29 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *user_data) if (app) { pkg = AtspiWrapper::Atspi_accessible_get_name(app, NULL); - g_object_unref(app); + if (!strncmp(event->type, "window:activate", 15)) { + LOGI("window activated in app(%s)", pkg); + if (!instance->mActiveAppMap.count(app)) { + LOGI("add activated window's app in map"); + instance->mActiveAppMap.insert(std::pair>(app, + std::make_shared(std::make_shared(app)))); + } + else { + LOGI("app(%s) is already in map", pkg); + } + } + else if (!strncmp(event->type, "window:deactivate", 16)) { + LOGI("window deactivate in app(%s)", pkg); + if (!instance->mActiveAppMap.count(app)) { + LOGI("window deactivated delete app(%s) in map", pkg); + instance->mActiveAppMap.erase(app); + } + else { + LOGE("deactivated window's app(%s) is not in map", pkg); + } + + g_object_unref(app); + } } else pkg = strdup(""); @@ -301,6 +323,11 @@ bool AtspiAccessibleWatcher::executeAndWaitForEvents(const Runnable *cmd, const return false; } +std::map> AtspiAccessibleWatcher::getActiveAppMap(void) +{ + return mActiveAppMap; +} + bool AtspiAccessibleWatcher::removeFromActivatedList(AtspiAccessible *node) { LOGI("remove from activelist node %p", node); diff --git a/libaurum/src/Impl/Accessibility/MockAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/MockAccessibleWatcher.cc index 379a25b..75f4048 100644 --- a/libaurum/src/Impl/Accessibility/MockAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/MockAccessibleWatcher.cc @@ -30,6 +30,10 @@ void MockAccessibleWatcher::addApplication(std::shared_ptr> MockAccessibleWatcher::getActiveAppMap(void) +{ + return mActiveAppMap; +} std::shared_ptr MockAccessibleWatcher::addApplication(std::string pkgName, Rect geometry, int ifaces, int properties) { diff --git a/libaurum/src/UiDevice.cc b/libaurum/src/UiDevice.cc index 23b78ce..0d838ba 100644 --- a/libaurum/src/UiDevice.cc +++ b/libaurum/src/UiDevice.cc @@ -4,7 +4,7 @@ #include "TizenDeviceImpl.h" #endif #include "MockDeviceImpl.h" - +#include "AtspiAccessibleWatcher.h" #include #include #include @@ -50,16 +50,19 @@ std::vector> UiDevice::getWindowRoot() const { std::vector> ret{}; - auto apps = AccessibleWatcher::getInstance()->getActiveApplications(); - for (auto &app : apps){ - auto activeWindows = app->getActiveWindows(); + auto appsMap = AccessibleWatcher::getInstance()->getActiveAppMap(); + LOGI("activeAppMap.size: %d" , appsMap.size()); + for (auto itr = appsMap.begin(); itr != appsMap.end(); itr++) + { + auto activeWindows = itr->second->getActiveWindows(); std::transform(activeWindows.begin(), activeWindows.end(), std::back_inserter(ret), [&](std::shared_ptr window){ - LOGI("Active pkg: %s, window: %s", window->getAccessibleNode()->getPkg().c_str(), window->getTitle().c_str()); + LOGI("active pkg: %s, window: %s", window->getAccessibleNode()->getPkg().c_str(), window->getTitle().c_str()); return window->getAccessibleNode(); } ); } + return ret; } diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h index a08d30c..c994bf2 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h @@ -16,5 +16,4 @@ public: LaunchAppCommand(const ::aurum::ReqLaunchApp *request, ::aurum::RspLaunchApp *response); ::grpc::Status execute() override; - ::grpc::Status executePost() override; }; \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h new file mode 100644 index 0000000..0fe4ca2 --- /dev/null +++ b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#include "Runnable.h" + +class LaunchAppRunnable : public Runnable { +protected: + std::string mPkg; + +public: + LaunchAppRunnable(std::string pkg); + std::string getPkgName(); + void run() const override; +}; diff --git a/org.tizen.aurum-bootstrap/meson.build b/org.tizen.aurum-bootstrap/meson.build index 41d8472..8bb2b35 100644 --- a/org.tizen.aurum-bootstrap/meson.build +++ b/org.tizen.aurum-bootstrap/meson.build @@ -3,12 +3,14 @@ bootstrap_svr_inc = [ root_inc, include_directories('inc'), include_directories('inc/Commands'), + include_directories('inc/Runnable'), ] bootstrap_svr_src = [ files('src/BootstrapServer.cc'), files('src/AurumServiceImpl.cc'), files('src/ObjectMapper.cc'), + files('src/Runnable/LaunchAppRunnable.cc'), ] bootstrap_svr_src += [ diff --git a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc index f7c30ed..f695723 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc @@ -1,11 +1,11 @@ #include "bootstrap.h" #include "LaunchAppCommand.h" +#include "LaunchAppRunnable.h" +#include "UiDevice.h" #include #include -#ifdef GBSBUILD -#include -#endif +#define WAIT_APP_LAUNCH 10000 LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp *request, ::aurum::RspLaunchApp *response) @@ -16,43 +16,9 @@ LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp *request, ::grpc::Status LaunchAppCommand::execute() { LOGI("LaunchApp --------------- "); -#ifdef GBSBUILD - app_control_h appControl; - std::string packageName = mRequest->packagename(); - int ret = -1; + std::unique_ptr cmd = std::make_unique(mRequest->packagename()); + std::shared_ptr obj = UiDevice::getInstance(); + obj->executeAndWaitForEvents(cmd.get(), A11yEvent::EVENT_WINDOW_ACTIVATE, WAIT_APP_LAUNCH); - if (packageName.empty()) return grpc::Status::OK; - - ret = app_control_create(&appControl); - if (ret) { - LOGE("Launch Failed(1/3) Err Code : %ull", ret); - mResponse->set_status(::aurum::RspStatus::ERROR); - return grpc::Status::OK; - } - - ret = app_control_set_app_id(appControl, packageName.c_str()); - if (ret) { - LOGE("Launch Failed(2/3) Err Code : %ull", ret); - mResponse->set_status(::aurum::RspStatus::ERROR); - app_control_destroy(appControl); - return grpc::Status::OK; - } - - ret = app_control_send_launch_request(appControl, NULL, NULL); - if (ret) { - LOGE("Launch Failed(3/3) Err Code : %ull", ret); - mResponse->set_status(::aurum::RspStatus::ERROR); - app_control_destroy(appControl); - return grpc::Status::OK; - } - - app_control_destroy(appControl); -#endif return grpc::Status::OK; -} -::grpc::Status LaunchAppCommand::executePost() -{ - LOGI("Wait for 2500ms"); - std::this_thread::sleep_for(std::chrono::milliseconds{2500}); - return grpc::Status::OK; -} +} \ No newline at end of file diff --git a/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc new file mode 100644 index 0000000..cafa48b --- /dev/null +++ b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc @@ -0,0 +1,51 @@ +#include "Aurum.h" +#include "bootstrap.h" +#include "LaunchAppCommand.h" +#include "LaunchAppRunnable.h" + +#ifdef GBSBUILD +#include +#endif + +LaunchAppRunnable::LaunchAppRunnable(std::string pkg) + : mPkg{pkg} +{ +} + +void LaunchAppRunnable::run() const +{ +#ifdef GBSBUILD + app_control_h appControl; + std::string packageName = mPkg; + int ret = -1; + + if (packageName.empty()) return; + + ret = app_control_create(&appControl); + if (ret) { + LOGE("Launch Failed(app_control_create) Err Code : %ull", ret); + return; + } + + ret = app_control_set_app_id(appControl, packageName.c_str()); + if (ret) { + LOGE("Launch Failed(app_control_set_app_id) Err Code : %ull", ret); + app_control_destroy(appControl); + return; + } + + ret = app_control_send_launch_request(appControl, NULL, NULL); + if (ret) { + LOGE("Launch Failed(app_control_send_launch_request) Err Code : %ull", ret); + app_control_destroy(appControl); + return; + } + + app_control_destroy(appControl); +#endif +} + +std::string LaunchAppRunnable::getPkgName() +{ + return mPkg; +} \ No newline at end of file -- 2.7.4 From 5173b6355e9a6a06d071822cbd3d85ded3ef1ca5 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 16 Jul 2021 17:54:52 +0900 Subject: [PATCH 10/16] bootstrap: Add feature to send additional data to app_control Add app_control_add_extra_data() wrapper. Change-Id: I934968c149cd9d9f0745ffb8ae83f7bd5aba17f8 --- .../inc/Runnable/LaunchAppRunnable.h | 4 +++- .../src/Commands/LaunchAppCommand.cc | 2 +- .../src/Runnable/LaunchAppRunnable.cc | 15 ++++++++++++--- protocol/aurum.proto | 2 ++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h index 0fe4ca2..17f8e9b 100644 --- a/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h +++ b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h @@ -7,9 +7,11 @@ class LaunchAppRunnable : public Runnable { protected: std::string mPkg; + std::string mKey; + std::string mValue; public: - LaunchAppRunnable(std::string pkg); + LaunchAppRunnable(std::string pkg, std::string key, std::string value); std::string getPkgName(); void run() const override; }; diff --git a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc index f695723..d2aec28 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc @@ -16,7 +16,7 @@ LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp *request, ::grpc::Status LaunchAppCommand::execute() { LOGI("LaunchApp --------------- "); - std::unique_ptr cmd = std::make_unique(mRequest->packagename()); + std::unique_ptr cmd = std::make_unique(mRequest->packagename(), mRequest->key(), mRequest->value()); std::shared_ptr obj = UiDevice::getInstance(); obj->executeAndWaitForEvents(cmd.get(), A11yEvent::EVENT_WINDOW_ACTIVATE, WAIT_APP_LAUNCH); diff --git a/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc index cafa48b..cea6b84 100644 --- a/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc +++ b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc @@ -7,8 +7,8 @@ #include #endif -LaunchAppRunnable::LaunchAppRunnable(std::string pkg) - : mPkg{pkg} +LaunchAppRunnable::LaunchAppRunnable(std::string pkg, std::string key, std::string value) + : mPkg{pkg}, mKey{key}, mValue{value} { } @@ -27,6 +27,15 @@ void LaunchAppRunnable::run() const return; } + if (!mKey.empty() && !mValue.empty()) { + ret = app_control_add_extra_data(appControl, mKey.c_str(), mValue.c_str()); + if (ret) { + LOGE("Launch Failed(app_control_add_extra_data) Err Code : %ull", ret); + app_control_destroy(appControl); + return; + } + } + ret = app_control_set_app_id(appControl, packageName.c_str()); if (ret) { LOGE("Launch Failed(app_control_set_app_id) Err Code : %ull", ret); @@ -48,4 +57,4 @@ void LaunchAppRunnable::run() const std::string LaunchAppRunnable::getPkgName() { return mPkg; -} \ No newline at end of file +} diff --git a/protocol/aurum.proto b/protocol/aurum.proto index 639bed7..a1c1c15 100644 --- a/protocol/aurum.proto +++ b/protocol/aurum.proto @@ -316,6 +316,8 @@ message RspGetAppInfo { message ReqLaunchApp{ string packageName = 1; + string key = 2; + string value = 3; } message RspLaunchApp{ RspStatus status = 1; -- 2.7.4 From 04f372b8d3402b90c8a7567bb7827b4f0e4a104d Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Thu, 22 Jul 2021 16:05:53 +0900 Subject: [PATCH 11/16] aurum: Add command to get coord relative to the widget's top-level window There are two diffrent type of coord. one is screen relative, other one is window relative. This patch to support window relative coord. https://github.sec.samsung.net/tizen/aurum/issues/5 Change-Id: I4fbec6d27f2e6a011a55282869a42e8cbaadb8ba --- libaurum/inc/Accessibility/AccessibleNode.h | 15 +++++- .../Impl/Accessibility/MockAccessibleApplication.h | 2 +- .../inc/Impl/Accessibility/MockAccessibleNode.h | 4 +- libaurum/inc/UiObject.h | 10 +++- libaurum/src/Accessibility/AccessibleNode.cc | 11 +++-- .../src/Impl/Accessibility/AtspiAccessibleNode.cc | 21 ++++++--- .../src/Impl/Accessibility/MockAccessibleNode.cc | 8 ++-- libaurum/src/UiObject.cc | 14 ++++-- .../src/Commands/DumpObjectTreeCommand.cc | 9 +++- .../src/Commands/FindElementCommand.cc | 10 +++- .../src/Commands/GetSizeCommand.cc | 21 +++++++-- protocol/aurum.proto | 53 ++++++++++++---------- tests/Test_UiObject.cc | 8 ++-- 13 files changed, 128 insertions(+), 58 deletions(-) diff --git a/libaurum/inc/Accessibility/AccessibleNode.h b/libaurum/inc/Accessibility/AccessibleNode.h index 78814fe..be93c67 100644 --- a/libaurum/inc/Accessibility/AccessibleNode.h +++ b/libaurum/inc/Accessibility/AccessibleNode.h @@ -166,7 +166,13 @@ public: * @brief TBD * @since_tizen 5.5 */ - Rect getBoundingBox() const; + Rect getScreenBoundingBox() const; + + /** + * @brief TBD + * @since_tizen 5.5 + */ + Rect getWindowBoundingBox() const; /** * @brief TBD @@ -353,7 +359,12 @@ protected: /** * @brief TBD */ - Rect mBoundingBox; + Rect mScreenBoundingBox; + + /** + * @brief TBD + */ + Rect mWindowBoundingBox; /** * @brief TBD diff --git a/libaurum/inc/Impl/Accessibility/MockAccessibleApplication.h b/libaurum/inc/Impl/Accessibility/MockAccessibleApplication.h index ab987c2..f66a4d5 100644 --- a/libaurum/inc/Impl/Accessibility/MockAccessibleApplication.h +++ b/libaurum/inc/Impl/Accessibility/MockAccessibleApplication.h @@ -18,7 +18,7 @@ public: * @brief TBD * @since tizen_6.0 */ - MockAccessibleApplication(std::shared_ptr parent, std::string text,std::string pkg,std::string role, std::string res,std::string type,std::string style,Rect boundingBox,int supportingIfaces,int featureProperty); + MockAccessibleApplication(std::shared_ptr parent, std::string text,std::string pkg,std::string role, std::string res,std::string type,std::string style,Rect screenBoundingBox,int supportingIfaces,int featureProperty); /** * @brief TBD diff --git a/libaurum/inc/Impl/Accessibility/MockAccessibleNode.h b/libaurum/inc/Impl/Accessibility/MockAccessibleNode.h index 0913046..a102ae2 100644 --- a/libaurum/inc/Impl/Accessibility/MockAccessibleNode.h +++ b/libaurum/inc/Impl/Accessibility/MockAccessibleNode.h @@ -11,7 +11,7 @@ public: * @brief TBD * @since_tizen 5.5 */ - MockAccessibleNode(std::shared_ptr parent, std::string text,std::string pkg,std::string role, std::string id, std::string type,std::string style, std::string automationId, Rect boundingBox,int supportingIfaces,int featureProperty); + MockAccessibleNode(std::shared_ptr parent, std::string text,std::string pkg,std::string role, std::string id, std::string type,std::string style, std::string automationId, Rect screenBoundingBox,int supportingIfaces,int featureProperty); /** * @brief TBD @@ -118,7 +118,7 @@ public: * @brief TBD * @since_tizen 5.5 */ - void setProperties(std::string text,std::string pkg, std::string role, std::string res, std::string type, std::string style,std::string automationId, Rect boundingBox, int supportingIfaces, int featureProperty); + void setProperties(std::string text,std::string pkg, std::string role, std::string res, std::string type, std::string style,std::string automationId, Rect screenBoundingBox, int supportingIfaces, int featureProperty); private: /** diff --git a/libaurum/inc/UiObject.h b/libaurum/inc/UiObject.h index b764fb5..4fcaf1a 100644 --- a/libaurum/inc/UiObject.h +++ b/libaurum/inc/UiObject.h @@ -190,7 +190,13 @@ public: * @brief TBD * @since_tizen 5.5 */ - const Rect getBoundingBox() const; + const Rect getScreenBoundingBox() const; + + /** + * @brief TBD + * @since_tizen 6.5 + */ + const Rect getWindowBoundingBox() const; /** * @brief TBD @@ -331,4 +337,4 @@ private: * @brief TBD */ static const unsigned int LOGNCLICK_INTERVAL = 50; -}; \ No newline at end of file +}; diff --git a/libaurum/src/Accessibility/AccessibleNode.cc b/libaurum/src/Accessibility/AccessibleNode.cc index 791913d..740354d 100644 --- a/libaurum/src/Accessibility/AccessibleNode.cc +++ b/libaurum/src/Accessibility/AccessibleNode.cc @@ -13,7 +13,7 @@ AccessibleNode::~AccessibleNode() AccessibleNode::AccessibleNode() : mText{""}, mPkg{""}, mRole{""}, mId{""}, mType{""}, mStyle{""}, - mBoundingBox{0,0,0,0}, mSupportingIfaces(0), mFeatureProperty(0), mValid{true}, mLock{} + mScreenBoundingBox{0,0,0,0}, mWindowBoundingBox{0,0,0,0}, mSupportingIfaces(0), mFeatureProperty(0), mValid{true}, mLock{} { } @@ -127,9 +127,14 @@ std::string AccessibleNode::getStyle() const return mStyle; } -Rect AccessibleNode::getBoundingBox() const +Rect AccessibleNode::getScreenBoundingBox() const { - return mBoundingBox; + return mScreenBoundingBox; +} + +Rect AccessibleNode::getWindowBoundingBox() const +{ + return mWindowBoundingBox; } bool AccessibleNode::isCheckable() const diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc index e196ab4..baf2626 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleNode.cc @@ -151,13 +151,22 @@ void AtspiAccessibleNode::refresh() } AtspiComponent *component = AtspiWrapper::Atspi_accessible_get_component_iface(mNode); if (component) { - AtspiRect *extent = AtspiWrapper::Atspi_component_get_extents( + AtspiRect *screenExtent = AtspiWrapper::Atspi_component_get_extents( component, ATSPI_COORD_TYPE_SCREEN, NULL); - if (extent) { - mBoundingBox = - Rect{extent->x, extent->y, extent->x + extent->width, - extent->y + extent->height}; - g_free(extent); + if (screenExtent) { + mScreenBoundingBox = + Rect{screenExtent->x, screenExtent->y, screenExtent->x + screenExtent->width, + screenExtent->y + screenExtent->height};\ + g_free(screenExtent); + } + + AtspiRect *windowExtent = AtspiWrapper::Atspi_component_get_extents( + component, ATSPI_COORD_TYPE_WINDOW, NULL); + if (windowExtent) { + mWindowBoundingBox = + Rect{windowExtent->x, windowExtent->y, windowExtent->x + windowExtent->width, + windowExtent->y + windowExtent->height};\ + g_free(windowExtent); } g_object_unref(component); } diff --git a/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc b/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc index 9e3a8e6..39ccbfc 100644 --- a/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc +++ b/libaurum/src/Impl/Accessibility/MockAccessibleNode.cc @@ -4,13 +4,13 @@ #include #include -MockAccessibleNode::MockAccessibleNode(std::shared_ptr parent, std::string text, std::string pkg, std::string role, std::string res, std::string type, std::string style,std::string automationId, Rect boundingBox, int supportingIfaces,int featureProperty) +MockAccessibleNode::MockAccessibleNode(std::shared_ptr parent, std::string text, std::string pkg, std::string role, std::string res, std::string type, std::string style,std::string automationId, Rect screenBoundingBox, int supportingIfaces,int featureProperty) : mParentNode(parent), mChildrenList{}, mActionSet{} { printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__); const auto trickDontRemove = std::shared_ptr( this, [](MockAccessibleNode *){} ); - setProperties(text,pkg,role,res,type,style,automationId, boundingBox, supportingIfaces, featureProperty); + setProperties(text,pkg,role,res,type,style,automationId, screenBoundingBox, supportingIfaces, featureProperty); auto watcher = AccessibleWatcher::getInstance(); watcher->attach(shared_from_this()); } @@ -47,7 +47,7 @@ void* MockAccessibleNode::getRawHandler(void) const return (void*)1; } -void MockAccessibleNode::setProperties(std::string text,std::string pkg,std::string role,std::string id,std::string type,std::string style,std::string automationId, Rect boundingBox,int supportingIfaces,int featureProperty) +void MockAccessibleNode::setProperties(std::string text,std::string pkg,std::string role,std::string id,std::string type,std::string style,std::string automationId, Rect screenBoundingBox,int supportingIfaces,int featureProperty) { mText = text; mPkg = pkg; @@ -56,7 +56,7 @@ void MockAccessibleNode::setProperties(std::string text,std::string pkg,std::str mAutomationId = automationId; mType = type; mStyle = style; - mBoundingBox = boundingBox; + mScreenBoundingBox = screenBoundingBox; mSupportingIfaces = supportingIfaces; mFeatureProperty = featureProperty; } diff --git a/libaurum/src/UiObject.cc b/libaurum/src/UiObject.cc index f802b6a..c5b5154 100644 --- a/libaurum/src/UiObject.cc +++ b/libaurum/src/UiObject.cc @@ -265,16 +265,22 @@ bool UiObject::isValid() const return mNode->isValid(); } -const Rect UiObject::getBoundingBox() const +const Rect UiObject::getScreenBoundingBox() const { mNode->refresh(); - return mNode->getBoundingBox(); + return mNode->getScreenBoundingBox(); +} + +const Rect UiObject::getWindowBoundingBox() const +{ + mNode->refresh(); + return mNode->getWindowBoundingBox(); } void UiObject::click() const { mNode->refresh(); - const Rect rect = mNode->getBoundingBox(); + const Rect rect = mNode->getScreenBoundingBox(); const Point2D midPoint = rect.midPoint(); mDevice->click(midPoint.x, midPoint.y); } @@ -282,7 +288,7 @@ void UiObject::click() const void UiObject::longClick(const unsigned int intv) const { mNode->refresh(); - const Rect rect = mNode->getBoundingBox(); + const Rect rect = mNode->getScreenBoundingBox(); const Point2D midPoint = rect.midPoint(); mDevice->click(midPoint.x, midPoint.y, intv); } diff --git a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc index 84f0002..47008f3 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc @@ -26,12 +26,19 @@ void DumpObjectTreeCommand::traverse(::aurum::Element *root, std::shared_ptrset_elementid(key); ::aurum::Rect *rect = root->mutable_geometry(); - const Rect &size = obj->getBoundingBox(); + const Rect &size = obj->getScreenBoundingBox(); rect->set_x(size.mTopLeft.x); rect->set_y(size.mTopLeft.y); rect->set_width(size.width()); rect->set_height(size.height()); + ::aurum::Rect *windowRect = root->mutable_window_relative_geometry(); + const Rect &windowSize = obj->getWindowBoundingBox(); + windowRect->set_x(windowSize.mTopLeft.x); + windowRect->set_y(windowSize.mTopLeft.y); + windowRect->set_width(windowSize.width()); + windowRect->set_height(windowSize.height()); + root->set_widget_type(obj->getElementType()); root->set_widget_style(obj->getElementStyle()); diff --git a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc index ee8f6ff..5302383 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc @@ -76,11 +76,19 @@ std::vector> FindElementCommand::getSelectors(void) elm->set_package(obj->getApplicationPackage()); ::aurum::Rect *rect = elm->mutable_geometry(); - const Rect &size = obj->getBoundingBox(); + const Rect &size = obj->getScreenBoundingBox(); rect->set_x(size.mTopLeft.x); rect->set_y(size.mTopLeft.y); rect->set_width(size.width()); rect->set_height(size.height()); + + ::aurum::Rect *windowRect = elm->mutable_window_relative_geometry(); + const Rect &windowRelativeSize = obj->getWindowBoundingBox(); + windowRect->set_x(windowRelativeSize.mTopLeft.x); + windowRect->set_y(windowRelativeSize.mTopLeft.y); + windowRect->set_width(windowRelativeSize.width()); + windowRect->set_height(windowRelativeSize.height()); + elm->set_widget_type(obj->getElementType()); elm->set_widget_style(obj->getElementStyle()); diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc index cb7280a..35876f9 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc @@ -11,15 +11,26 @@ GetSizeCommand::GetSizeCommand(const ::aurum::ReqGetSize *request, ::grpc::Status GetSizeCommand::execute() { LOGI("GetSize --------------- "); + + ::aurum::ReqGetSize_CoordType type = mRequest->type(); ObjectMapper *mObjMap = ObjectMapper::getInstance(); std::shared_ptr obj = mObjMap->getElement(mRequest->elementid()); if (obj) { - const Rect &size = obj->getBoundingBox(); ::aurum::Rect *rect = mResponse->mutable_size(); - rect->set_x(size.mTopLeft.x); - rect->set_y(size.mTopLeft.y); - rect->set_width(size.width()); - rect->set_height(size.height()); + if (type == ::aurum::ReqGetSize_CoordType::ReqGetSize_CoordType_SCREEN) { + const Rect &size = obj->getScreenBoundingBox(); + rect->set_x(size.mTopLeft.x); + rect->set_y(size.mTopLeft.y); + rect->set_width(size.width()); + rect->set_height(size.height()); + } + else { + const Rect &windowRelativeSize = obj->getWindowBoundingBox(); + rect->set_x(windowRelativeSize.mTopLeft.x); + rect->set_y(windowRelativeSize.mTopLeft.y); + rect->set_width(windowRelativeSize.width()); + rect->set_height(windowRelativeSize.height()); + } } return grpc::Status::OK; diff --git a/protocol/aurum.proto b/protocol/aurum.proto index a1c1c15..5d760d9 100644 --- a/protocol/aurum.proto +++ b/protocol/aurum.proto @@ -51,28 +51,29 @@ message Element { repeated Element child = 2; Rect geometry = 3; - - string widget_type = 4; - string widget_style = 5; - - string text = 6; - string id = 7; - string automationId = 8; - string package = 9; - string role = 10; - - bool isChecked = 11; - bool isCheckable = 12; - bool isClickable = 13; - bool isEnabled = 14; - bool isFocused = 15; - bool isFocusable = 16; - bool isScrollable = 17; - bool isSelected = 18; - bool isShowing = 19; - bool isActive = 20; - bool isVisible = 21; - bool isSelectable = 22; + Rect window_relative_geometry = 4; + + string widget_type = 5; + string widget_style = 6; + + string text = 7; + string id = 8; + string automationId = 9; + string package = 10; + string role = 11; + + bool isChecked = 12; + bool isCheckable = 13; + bool isClickable = 14; + bool isEnabled = 15; + bool isFocused = 16; + bool isFocusable = 17; + bool isScrollable = 18; + bool isSelected = 19; + bool isShowing = 20; + bool isActive = 21; + bool isVisible = 22; + bool isSelectable = 23; } message Point { @@ -200,8 +201,14 @@ message RspSetValue { } message ReqGetSize{ - string elementId = 1; + enum CoordType { + SCREEN = 0; + WINDOW = 1; + } + CoordType type = 1; + string elementId = 2; } + message RspGetSize{ RspStatus status = 1; Rect size = 2; diff --git a/tests/Test_UiObject.cc b/tests/Test_UiObject.cc index a08a8f9..6820f93 100644 --- a/tests/Test_UiObject.cc +++ b/tests/Test_UiObject.cc @@ -223,11 +223,11 @@ TEST_F(AurumTestUiObject, setText_P1) ASSERT_EQ(parent->getText(), "new_test2"); } -TEST_F(AurumTestUiObject, getBoundingBox_P1) +TEST_F(AurumTestUiObject, getScreenBoundingBox_P1) { auto obj = UiDevice::getInstance(); auto parent = obj->findObject(Sel::text("test2")); - auto box = parent->getBoundingBox(); + auto box = parent->getScreenBoundingBox(); ASSERT_EQ(box.mBottomRight.x, 200 ); ASSERT_EQ(box.mBottomRight.y, 200 ); @@ -399,7 +399,7 @@ TEST_F(AurumTestUiObject, click_P1) ASSERT_NE(obj, nullptr); obj->click(); - auto rect = obj->getBoundingBox(); + auto rect = obj->getScreenBoundingBox(); const Point2D midPoint = rect.midPoint(); ASSERT_EQ(mDevice->mTouchRelease[1].x, midPoint.x); @@ -413,7 +413,7 @@ TEST_F(AurumTestUiObject, longClick_P1) ASSERT_NE(obj, nullptr); obj->longClick(interval); - auto rect = obj->getBoundingBox(); + auto rect = obj->getScreenBoundingBox(); const Point2D midPoint = rect.midPoint(); ASSERT_NEAR(mDevice->mTouchRelease[1].stamp1, mDevice->mTouchRelease[1].stamp2, interval*1000*1.1); -- 2.7.4 From f9077f5573abee0fdba7053bcdfda0404169903e Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 23 Jul 2021 15:14:56 +0900 Subject: [PATCH 12/16] bootstrap: Add feature to support extra data sets when app launch User may want to set various data set for launching app. after this implementation. user can do like below - python extraData1 = LaunchData() extraData1.key = 'Key1' extraData1.value = 'Value1' extraData2 = LaunchData() extraData2.key = 'Key2' extraData2.value = 'Value2' datas = [extraData1, extraData2] stub.launchApp(ReqLaunchApp(packageName='org.tizen.example.NUITizenGallery', data=datas)) Change-Id: Id7756a080acb9e940d0679a4ae0ae89ccc9fb57e --- org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h | 6 +++--- org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc | 2 +- org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc | 10 +++++----- protocol/aurum.proto | 8 ++++++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h index 17f8e9b..528467f 100644 --- a/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h +++ b/org.tizen.aurum-bootstrap/inc/Runnable/LaunchAppRunnable.h @@ -3,15 +3,15 @@ #include #include "Runnable.h" +#include class LaunchAppRunnable : public Runnable { protected: std::string mPkg; - std::string mKey; - std::string mValue; + const google::protobuf::RepeatedPtrField& mData; public: - LaunchAppRunnable(std::string pkg, std::string key, std::string value); + LaunchAppRunnable(std::string pkg, const google::protobuf::RepeatedPtrField& data); std::string getPkgName(); void run() const override; }; diff --git a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc index d2aec28..1d138d4 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc @@ -16,7 +16,7 @@ LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp *request, ::grpc::Status LaunchAppCommand::execute() { LOGI("LaunchApp --------------- "); - std::unique_ptr cmd = std::make_unique(mRequest->packagename(), mRequest->key(), mRequest->value()); + std::unique_ptr cmd = std::make_unique(mRequest->packagename(), mRequest->data()); std::shared_ptr obj = UiDevice::getInstance(); obj->executeAndWaitForEvents(cmd.get(), A11yEvent::EVENT_WINDOW_ACTIVATE, WAIT_APP_LAUNCH); diff --git a/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc index cea6b84..887a44a 100644 --- a/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc +++ b/org.tizen.aurum-bootstrap/src/Runnable/LaunchAppRunnable.cc @@ -7,8 +7,8 @@ #include #endif -LaunchAppRunnable::LaunchAppRunnable(std::string pkg, std::string key, std::string value) - : mPkg{pkg}, mKey{key}, mValue{value} +LaunchAppRunnable::LaunchAppRunnable(std::string pkg, const google::protobuf::RepeatedPtrField& data) + : mPkg{pkg}, mData(data) { } @@ -27,14 +27,14 @@ void LaunchAppRunnable::run() const return; } - if (!mKey.empty() && !mValue.empty()) { - ret = app_control_add_extra_data(appControl, mKey.c_str(), mValue.c_str()); + std::for_each(mData.begin(), mData.end(), [&](auto data){ + ret = app_control_add_extra_data(appControl, data.key().c_str(),data.value().c_str()); if (ret) { LOGE("Launch Failed(app_control_add_extra_data) Err Code : %ull", ret); app_control_destroy(appControl); return; } - } + }); ret = app_control_set_app_id(appControl, packageName.c_str()); if (ret) { diff --git a/protocol/aurum.proto b/protocol/aurum.proto index 5d760d9..0f4f932 100644 --- a/protocol/aurum.proto +++ b/protocol/aurum.proto @@ -88,6 +88,11 @@ message Rect { int32 height = 4; } +message LaunchData { + string key = 1; + string value = 2; +} + // ------------------------------------ // message ReqFindElement { @@ -323,8 +328,7 @@ message RspGetAppInfo { message ReqLaunchApp{ string packageName = 1; - string key = 2; - string value = 3; + repeated LaunchData data = 2; } message RspLaunchApp{ RspStatus status = 1; -- 2.7.4 From 74cad63a7d49ecfee24e99fb05e048485771086e Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 23 Jul 2021 21:10:43 +0900 Subject: [PATCH 13/16] libaurum: Fix build error on 64bit system vector size will generated as long int in 64bit system. This patch to avoid it. Change-Id: I0fb0415f1c430828cf1ec55a32402cf1f3c333b0 --- libaurum/src/UiDevice.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libaurum/src/UiDevice.cc b/libaurum/src/UiDevice.cc index 0d838ba..b53d43d 100644 --- a/libaurum/src/UiDevice.cc +++ b/libaurum/src/UiDevice.cc @@ -51,7 +51,7 @@ std::vector> UiDevice::getWindowRoot() const std::vector> ret{}; auto appsMap = AccessibleWatcher::getInstance()->getActiveAppMap(); - LOGI("activeAppMap.size: %d" , appsMap.size()); + LOGI("activeAppMap.size: %d" , (int)appsMap.size()); for (auto itr = appsMap.begin(); itr != appsMap.end(); itr++) { auto activeWindows = itr->second->getActiveWindows(); -- 2.7.4 From b5bcf91cccaaaf4ade6c12289926e63dd86c8b51 Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Fri, 30 Jul 2021 14:34:30 +0900 Subject: [PATCH 14/16] aurum: Fix long click duration long click = 0.5sec down 0.5sec = 500 * 1000 = 500000 micro sec. Change-Id: I1247ae865c8eb6fd66c5b766a74f1f67da24d29f --- libaurum/inc/UiObject.h | 2 +- org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libaurum/inc/UiObject.h b/libaurum/inc/UiObject.h index 4fcaf1a..4777831 100644 --- a/libaurum/inc/UiObject.h +++ b/libaurum/inc/UiObject.h @@ -336,5 +336,5 @@ private: /** * @brief TBD */ - static const unsigned int LOGNCLICK_INTERVAL = 50; + static const unsigned int LOGNCLICK_INTERVAL = 500; }; diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h index 5b25ab9..38e4a09 100644 --- a/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h +++ b/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h @@ -17,5 +17,5 @@ public: ::aurum::RspClick *response); ::grpc::Status execute() override; private: - const static unsigned int LOGNCLICK_INTERVAL = 50; -}; \ No newline at end of file + const static unsigned int LOGNCLICK_INTERVAL = 500; +}; -- 2.7.4 From e18ff8660d2a0eadbe7b8f236ccd414c4adac81b Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Thu, 29 Jul 2021 22:06:59 +0900 Subject: [PATCH 15/16] libaurum: Delete useless node update(refresh) It updated when it created. It fixes duplicated node update. Change-Id: I072464e8516c919198bb68445f0ce0360b48ddaa --- libaurum/src/Comparer.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/libaurum/src/Comparer.cc b/libaurum/src/Comparer.cc index 1aee954..e12223e 100644 --- a/libaurum/src/Comparer.cc +++ b/libaurum/src/Comparer.cc @@ -55,7 +55,6 @@ std::vector> Comparer::findObjects( { std::vector> ret; - root->refresh(); for (auto &match : partialMatches) match->update(root, index, depth, partialMatches); -- 2.7.4 From 2d52230e71c6259f4ce97b8fd5ee134f2ad4dcff Mon Sep 17 00:00:00 2001 From: Woochanlee Date: Thu, 29 Jul 2021 18:27:28 +0900 Subject: [PATCH 16/16] bootstrap: Modify the id for object management as giving by atspi The bootstrap was managed by the object that was granted by its own. Unified by the id granted by atspi, it removes unnecessary operation. ABI break - i deleted id in proto. script can't use id anymore. Change-Id: Ic6e3e8a18a2fe35b152c86b2214c0037b0ad6f81 --- org.tizen.aurum-bootstrap/inc/ObjectMapper.h | 10 +--- .../src/Commands/DumpObjectTreeCommand.cc | 9 ++-- .../src/Commands/FindElementCommand.cc | 17 +++--- org.tizen.aurum-bootstrap/src/ObjectMapper.cc | 60 +++++----------------- protocol/aurum.proto | 1 - 5 files changed, 26 insertions(+), 71 deletions(-) diff --git a/org.tizen.aurum-bootstrap/inc/ObjectMapper.h b/org.tizen.aurum-bootstrap/inc/ObjectMapper.h index 7f4f651..7a1b33f 100644 --- a/org.tizen.aurum-bootstrap/inc/ObjectMapper.h +++ b/org.tizen.aurum-bootstrap/inc/ObjectMapper.h @@ -8,7 +8,6 @@ class ObjectMapper { private: std::map> mObjectMap; - std::map mObjectMapReverse; unsigned long long mObjCounter; private: @@ -20,12 +19,7 @@ public: public: static ObjectMapper *getInstance(); std::string addElement(std::shared_ptr object); - - std::shared_ptr getElement(const std::string key); - std::string getElement(std::shared_ptr object); - - bool removeElement(const std::string key); - bool removeElement(std::shared_ptr object); - + std::shared_ptr getElement(const std::string elementId); + bool removeElement(const std::string elementId); void cleanUp(); }; diff --git a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc index 47008f3..013af31 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/DumpObjectTreeCommand.cc @@ -16,14 +16,12 @@ DumpObjectTreeCommand::DumpObjectTreeCommand(const ::aurum::ReqDumpObjectTree *r void DumpObjectTreeCommand::traverse(::aurum::Element *root, std::shared_ptr node, int depth) { if (!node->mNode) return; - std::string key{}; std::shared_ptr obj = node->mNode; - key = mObjMap->getElement(obj); - if (key.length() <= 0) - key = mObjMap->addElement(obj); + if (mObjMap->getElement(obj->getId()) == nullptr) + mObjMap->addElement(std::move(obj)); - root->set_elementid(key); + root->set_elementid(obj->getId()); ::aurum::Rect *rect = root->mutable_geometry(); const Rect &size = obj->getScreenBoundingBox(); @@ -43,7 +41,6 @@ void DumpObjectTreeCommand::traverse(::aurum::Element *root, std::shared_ptrset_widget_style(obj->getElementStyle()); root->set_text(obj->getText()); - root->set_id(obj->getId()); root->set_automationid(obj->getAutomationId()); root->set_package(obj->getApplicationPackage()); root->set_role(obj->getRole()); diff --git a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc index 5302383..62230e3 100644 --- a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc +++ b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc @@ -28,7 +28,8 @@ std::vector> FindElementCommand::getSelectors(void) { auto sel = std::make_shared(); - if(mRequest->_automationid_case()) sel->id(mRequest->automationid()); + if(mRequest->_elementid_case()) sel->id(mRequest->elementid()); + if(mRequest->_automationid_case()) sel->automationid(mRequest->automationid()); if(mRequest->_textfield_case()) sel->text(mRequest->textfield()); if(mRequest->_widgettype_case()) sel->type(mRequest->widgettype()); if(mRequest->_widgetstyle_case()) sel->style(mRequest->widgetstyle()); @@ -65,14 +66,13 @@ std::vector> FindElementCommand::getSelectors(void) if (founds.size() > 0) { for (auto& found : founds) { UiObject *obj = found.get(); - std::string key{}; - key = mObjMap->getElement(found); - if (key.length() <= 0) - key = mObjMap->addElement(std::move(found)); - LOGI("found object : %s key:%s", - obj->getAutomationId().c_str(), key.c_str()); + if (mObjMap->getElement(obj->getId()) == nullptr) + mObjMap->addElement(std::move(found)); + LOGI("found object : %p elementId:%s", + obj, obj->getId().c_str()); + ::aurum::Element *elm = mResponse->add_elements(); - elm->set_elementid(key); + elm->set_elementid(obj->getId()); elm->set_package(obj->getApplicationPackage()); ::aurum::Rect *rect = elm->mutable_geometry(); @@ -93,7 +93,6 @@ std::vector> FindElementCommand::getSelectors(void) elm->set_widget_style(obj->getElementStyle()); elm->set_text(obj->getText()); - elm->set_id(obj->getId()); elm->set_automationid(obj->getAutomationId()); elm->set_package(obj->getApplicationPackage()); elm->set_role(obj->getRole()); diff --git a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc index 40c68d1..0dc09e3 100644 --- a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc +++ b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc @@ -4,7 +4,7 @@ #include #include -ObjectMapper::ObjectMapper() : mObjectMap{}, mObjectMapReverse{}, mObjCounter{0} {} +ObjectMapper::ObjectMapper() : mObjectMap{}, mObjCounter{0} {} ObjectMapper::~ObjectMapper() {} @@ -16,73 +16,39 @@ ObjectMapper *ObjectMapper::getInstance() std::string ObjectMapper::addElement(std::shared_ptr object) { - ++mObjCounter; - std::string key = std::to_string(mObjCounter); - mObjectMap[key] = object; std::string value = object->getId(); - mObjectMapReverse[value] = key; - LOGI("addElement %p as key %s, id %s", object.get(), key.c_str(), value.c_str()); - return key; + mObjectMap[value] = object; + LOGI("addElement %p, id %s", object.get(), value.c_str()); + return value; } -std::shared_ptr ObjectMapper::getElement(std::string key) +std::shared_ptr ObjectMapper::getElement(std::string elementId) { - LOGI("getElement for key(%s)", key.c_str()); - unsigned long long keyCnt = (unsigned long long)std::stoll(key); // this key is a result of calling std:to_string(mObjCounter) - if (keyCnt <= 0 || keyCnt > mObjCounter) return nullptr; - if (mObjectMap.count(key)) { - std::shared_ptr obj = mObjectMap[key]; + LOGI("getElement for elementId(%s)", elementId.c_str()); + if (mObjectMap.count(elementId)) { + std::shared_ptr obj = mObjectMap[elementId]; obj->refresh(); LOGI("succeeded"); return obj; } - LOGI("key is not exist in mObjectMap"); + LOGI("Id(%s) is not exist in mObjectMap", elementId.c_str()); return nullptr; } -std::string ObjectMapper::getElement(std::shared_ptr object) +bool ObjectMapper::removeElement(const std::string elementId) { - LOGI("getElement for object(%p)", object.get()); - std::string value = object->getId(); - if (mObjectMapReverse.count(value)) { - LOGI("succeeded"); - return mObjectMapReverse[value]; - } - LOGI("object is not exist in mObjectMapReverse"); - return std::string{""}; -} - -bool ObjectMapper::removeElement(const std::string key) -{ - LOGI("removeElement for key(%s)", key.c_str()); - std::shared_ptr obj = getElement(key); + LOGI("removeElement for Id(%s)", elementId.c_str()); + std::shared_ptr obj = getElement(elementId); if (obj) { - std::string value = obj->getId(); - if (mObjectMap.erase(key) && mObjectMapReverse.erase(value)) + if (mObjectMap.erase(elementId)) return true; } return false; } -bool ObjectMapper::removeElement(std::shared_ptr object) -{ - LOGI("removeElement for object(%p)", object.get()); - std::string key = getElement(object); - if (key.empty()) return false; - return removeElement(key); -} - void ObjectMapper::cleanUp() { LOGI("clean up object map"); - for(auto iter = mObjectMapReverse.begin(); iter != mObjectMapReverse.end(); ) { - auto obj = mObjectMap[iter->second]; - if (obj && !obj->isValid()) { - iter = mObjectMapReverse.erase(iter); - } else { - ++iter; - } - } for(auto iter = mObjectMap.begin(); iter != mObjectMap.end(); ) { if (!iter->second->isValid()) { iter = mObjectMap.erase(iter); diff --git a/protocol/aurum.proto b/protocol/aurum.proto index 0f4f932..d26d272 100644 --- a/protocol/aurum.proto +++ b/protocol/aurum.proto @@ -57,7 +57,6 @@ message Element { string widget_style = 6; string text = 7; - string id = 8; string automationId = 9; string package = 10; string role = 11; -- 2.7.4