[Tizen][AT-SPI] Unify widget bus names 07/314507/2 accepted/tizen/7.0/unified/20240802.162039 accepted/tizen/7.0/unified/20240809.085627
authorArtur Świgoń <a.swigon@samsung.com>
Fri, 12 Jul 2024 10:19:44 +0000 (12:19 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Mon, 22 Jul 2024 08:48:03 +0000 (10:48 +0200)
This enables cross-toolkit embedding (e.g. a NUI widget inside EFL app).

Change-Id: I2cd8c95e51992fdeabebcdd58831571f13ec44a7

widget_viewer_dali/internal/widget_view/widget_view_impl.cpp
widget_viewer_dali/internal/widget_view/widget_view_impl.h

index 723817f5a639dde47902c36c598eed50510ae20d..ffc94b72c382099136c5a07478b269b7b0faa6d9 100644 (file)
@@ -391,6 +391,11 @@ const std::string& WidgetView::GetInstanceId() const
   return mInstanceId;
 }
 
+int WidgetView::GetPid() const
+{
+  return mPid;
+}
+
 const std::string& WidgetView::GetContentInfo()
 {
   widget_instance_h instance;
@@ -2054,12 +2059,12 @@ void WidgetView::WidgetViewAccessible::DoGetChildren(std::vector<Dali::Accessibi
     return;
   }
 
-  auto  self       = Dali::WidgetView::WidgetView::DownCast(Self());
-  auto& selfImpl   = Dali::WidgetView::GetImplementation(self);
-  auto  instanceId = selfImpl.GetInstanceId();
-  auto  busName    = Bridge::MakeBusNameForWidget(instanceId);
-
-  auto address = Bridge::GetCurrentBridge()->EmbedSocket(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);
 
index 7b632436d7c82d9f20776d36364b9e291297d1a3..bf0d0e5df656b5b34a97e31c9cc2695b684e5147 100644 (file)
@@ -168,6 +168,11 @@ public: // Internal API
    */
   const std::string& GetInstanceId() const;
 
+  /**
+   * @brief Get the Process Id
+   */
+  int GetPid() const;
+
   /**
    * @brief Gets the ContentInfo
    */