[AT-SPI] Unify widget bus names 39/315139/3 accepted/tizen/unified/20240731.160138 accepted/tizen/unified/dev/20240805.054626 accepted/tizen/unified/toolchain/20240812.131833 accepted/tizen/unified/x/20240801.044132 accepted/tizen/unified/x/asan/20240813.230109
authorArtur Świgoń <a.swigon@samsung.com>
Fri, 12 Jul 2024 10:19:44 +0000 (12:19 +0200)
committerArtur Świgoń <a.swigon@samsung.com>
Thu, 25 Jul 2024 14:46:22 +0000 (14:46 +0000)
This enables cross-toolkit embedding (e.g. an EFL widget inside NUI 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 fa57bf2fe5ed73eacadede624bfd7576c7d7a2e4..1da11dea203303f18c4fb1abbe5b658e20a38079 100644 (file)
@@ -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::vector<Dali::Accessibi
     return;
   }
 
-  auto  self       = Dali::WidgetView::WidgetView::DownCast(Self());
-  auto& selfImpl   = Dali::WidgetView::GetImplementation(self);
-  const auto&  instanceId = selfImpl.GetInstanceId();
-  const 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 3d11d7c9755dac272c3a85bd5fc5d598416b1575..c4994a9c2fd0f3892236123d786742a628ea47f0 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
    */