Merge "[ATSPI] Add more descriptions to Bridge objects" into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / bridge / bridge-object.cpp
index 8ac1569..34389a7 100644 (file)
 
 using namespace Dali::Accessibility;
 
+namespace
+{
+inline std::string GetAccessiblePath(Accessible* accessible)
+{
+  auto address = accessible->GetAddress();
+  return address ? ATSPI_PREFIX_PATH + address.GetPath() : ATSPI_NULL_PATH;
+}
+} // namespace
+
 BridgeObject::BridgeObject()
 {
 }
@@ -31,8 +40,8 @@ BridgeObject::BridgeObject()
 void BridgeObject::RegisterInterfaces()
 {
   // DBus::DBusInterfaceDescription desc{ AtspiDbusInterfaceEventObject };
-  // stateChanged = addSignal<std::string, int, int, DBus::EldbusVariant<int>, Accessible*>(desc, "StateChanged");
-  // dbusServer.addInterface("/", desc, true);
+  // mStateChanged = addSignal<std::string, int, int, DBus::EldbusVariant<int>, Accessible*>(desc, "StateChanged");
+  // mDbusServer.addInterface("/", desc, true);
 }
 
 void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* child)
@@ -40,16 +49,8 @@ void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* chil
   if(!IsUp()) return;
   auto index = child->GetIndexInParent();
 
-  auto        addr       = obj->GetAddress();
-  const auto  prefixPath = "/org/a11y/atspi/accessible/";
-  const auto  nullPath   = "/org/a11y/atspi/null";
-  std::string p;
-  if(addr)
-    p = prefixPath + addr.GetPath();
-  else
-    p = nullPath;
-  dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<Address>, Address>(
-    p,
+  mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<Address>, Address>(
+    GetAccessiblePath(obj),
     AtspiDbusInterfaceEventObject,
     "ActiveDescendantChanged",
     "",
@@ -59,11 +60,12 @@ void BridgeObject::EmitActiveDescendantChanged(Accessible* obj, Accessible* chil
     {"", "root"});
 }
 
-void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent ev)
+void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent event)
 {
   if(!IsUp()) return;
   const char* name = nullptr;
-  switch(ev)
+
+  switch(event)
   {
     case ObjectPropertyChangeEvent::NAME:
     {
@@ -91,16 +93,11 @@ void BridgeObject::Emit(Accessible* obj, Dali::Accessibility::ObjectPropertyChan
       break;
     }
   }
+
   if(name)
   {
-    auto        addr = obj->GetAddress();
-    std::string p;
-    if(addr)
-      p = ATSPI_PREFIX_PATH + addr.GetPath();
-    else
-      p = ATSPI_NULL_PATH;
-    dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
-      p,
+    mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+      GetAccessiblePath(obj),
       AtspiDbusInterfaceEventObject,
       "PropertyChange",
       name,
@@ -115,6 +112,7 @@ void BridgeObject::Emit(Accessible* obj, WindowEvent event, unsigned int detail)
 {
   if(!IsUp()) return;
   const char* name = nullptr;
+
   switch(event)
   {
     case WindowEvent::PROPERTY_CHANGE:
@@ -213,16 +211,11 @@ void BridgeObject::Emit(Accessible* obj, WindowEvent event, unsigned int detail)
       break;
     }
   }
+
   if(name)
   {
-    auto        addr = obj->GetAddress();
-    std::string p;
-    if(addr)
-      p = ATSPI_PREFIX_PATH + addr.GetPath();
-    else
-      p = ATSPI_NULL_PATH;
-    dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
-      p,
+    mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+      GetAccessiblePath(obj),
       AtspiDbusInterfaceEventWindow,
       name,
       "",
@@ -237,6 +230,7 @@ void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue,
 {
   if(!IsUp()) return;
   const char* stateName = nullptr;
+
   switch(state)
   {
     case State::INVALID:
@@ -474,16 +468,11 @@ void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue,
       break;
     }
   }
+
   if(stateName)
   {
-    auto        addr = obj->GetAddress();
-    std::string p;
-    if(addr)
-      p = ATSPI_PREFIX_PATH + addr.GetPath();
-    else
-      p = ATSPI_NULL_PATH;
-    dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
-      p,
+    mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+      GetAccessiblePath(obj),
       AtspiDbusInterfaceEventObject,
       "StateChanged",
       stateName,
@@ -496,21 +485,14 @@ void BridgeObject::EmitStateChanged(Accessible* obj, State state, int newValue,
 
 void BridgeObject::EmitBoundsChanged(Accessible* obj, Dali::Rect<> rect)
 {
-  if(!allowObjectBoundsChangedEvent) return;
+  if(!IsBoundsChangedEventAllowed) return;
 
-  auto        addr       = obj->GetAddress();
-  const auto  prefixPath = "/org/a11y/atspi/accessible/";
-  const auto  nullPath   = "/org/a11y/atspi/null";
-  std::string p;
-  if(addr)
-    p = prefixPath + addr.GetPath();
-  else
-    p = nullPath;
   DBus::EldbusVariant<std::tuple<int32_t, int32_t, int32_t, int32_t> > tmp{
     std::tuple<int32_t, int32_t, int32_t, int32_t>{rect.x, rect.y, rect.width, rect.height}};
-  addFilteredEvent(FilteredEvents::boundsChanged, obj, 1.0f, [=]() {
-    dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<std::tuple<int32_t, int32_t, int32_t, int32_t> >, Address>(
-      p,
+
+  AddFilteredEvent(FilteredEvents::BOUNDS_CHANGED, obj, 1.0f, [=]() {
+    mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<std::tuple<int32_t, int32_t, int32_t, int32_t> >, Address>(
+      GetAccessiblePath(obj),
       AtspiDbusInterfaceEventObject,
       "BoundsChanged",
       "",
@@ -523,10 +505,8 @@ void BridgeObject::EmitBoundsChanged(Accessible* obj, Dali::Rect<> rect)
 
 void BridgeObject::EmitCursorMoved(Accessible* obj, unsigned int cursorPosition)
 {
-  auto        addr = obj->GetAddress();
-  std::string p    = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH;
-  dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
-    p,
+  mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+    GetAccessiblePath(obj),
     AtspiDbusInterfaceEventObject,
     "TextCaretMoved",
     "",
@@ -556,12 +536,11 @@ void BridgeObject::EmitTextChanged(Accessible* obj, TextChangedState state, unsi
       break;
     }
   }
+
   if(stateName)
   {
-    auto        addr = obj->GetAddress();
-    std::string p    = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH;
-    dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<std::string>, Address>(
-      p,
+    mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<std::string>, Address>(
+      GetAccessiblePath(obj),
       AtspiDbusInterfaceEventObject,
       "TextChanged",
       stateName,
@@ -574,10 +553,8 @@ void BridgeObject::EmitTextChanged(Accessible* obj, TextChangedState state, unsi
 
 void BridgeObject::EmitMovedOutOfScreen(Accessible* obj, ScreenRelativeMoveType type)
 {
-  auto        addr = obj->GetAddress();
-  std::string p    = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH;
-  dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
-    p,
+  mDbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+    GetAccessiblePath(obj),
     AtspiDbusInterfaceEventObject,
     "MoveOuted",
     "",