From de2e62dbae79da9069cc6d52e883306ad9c2a990 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Artur=20=C5=9Awigo=C5=84?= Date: Fri, 12 Jul 2024 12:19:44 +0200 Subject: [PATCH] [AT-SPI] Unify widget bus names This enables cross-toolkit embedding (e.g. an EFL widget inside NUI app). Change-Id: I2cd8c95e51992fdeabebcdd58831571f13ec44a7 --- .../internal/widget_view/widget_view_impl.cpp | 17 +++++++++++------ .../internal/widget_view/widget_view_impl.h | 5 +++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp index fa57bf2..1da11de 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp @@ -512,6 +512,11 @@ const std::string& WidgetView::GetInstanceId() const return mInstanceId; } +int WidgetView::GetPid() const +{ + return mPid; +} + const std::string& WidgetView::GetContentInfo() { widget_instance_h instance; @@ -2016,12 +2021,12 @@ void WidgetView::WidgetViewAccessible::DoGetChildren(std::vectorEmbedSocket(GetAddress(), {busName, rootPath}); + auto self = Dali::WidgetView::WidgetView::DownCast(Self()); + auto& selfImpl = Dali::WidgetView::GetImplementation(self); + const auto& instanceId = selfImpl.GetInstanceId(); + int pid = selfImpl.GetPid(); + std::string busName = Bridge::MakeBusNameForWidget(instanceId, pid); + auto address = Bridge::GetCurrentBridge()->EmbedSocket(GetAddress(), {std::move(busName), rootPath}); mRemoteChild.SetAddress(address); diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.h b/widget_viewer_dali/internal/widget_view/widget_view_impl.h index 3d11d7c..c4994a9 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.h +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.h @@ -168,6 +168,11 @@ public: // Internal API */ const std::string& GetInstanceId() const; + /** + * @brief Get the Process Id + */ + int GetPid() const; + /** * @brief Gets the ContentInfo */ -- 2.34.1