[Tizen][AT-SPI] Add Value::GetValueText()
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / bridge / bridge-value.cpp
index 7f81a32..37e752b 100644 (file)
@@ -18,9 +18,6 @@
 // CLASS HEADER
 #include <dali/internal/accessibility/bridge/bridge-value.h>
 
-// EXTERNAL INCLUDES
-#include <iostream>
-
 using namespace Dali::Accessibility;
 
 BridgeValue::BridgeValue()
@@ -29,8 +26,9 @@ BridgeValue::BridgeValue()
 
 void BridgeValue::RegisterInterfaces()
 {
-  DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceValue};
+  DBus::DBusInterfaceDescription desc{Accessible::GetInterfaceName(AtspiInterface::VALUE)};
   AddGetSetPropertyToInterface(desc, "CurrentValue", &BridgeValue::GetCurrentValue, &BridgeValue::SetCurrentValue);
+  AddGetPropertyToInterface(desc, "Text", &BridgeValue::GetCurrentValueText);
   AddGetPropertyToInterface(desc, "MaximumValue", &BridgeValue::GetMaximumValue);
   AddGetPropertyToInterface(desc, "MinimumIncrement", &BridgeValue::GetMinimumIncrement);
   AddGetPropertyToInterface(desc, "MinimumValue", &BridgeValue::GetMinimumValue);
@@ -39,14 +37,7 @@ void BridgeValue::RegisterInterfaces()
 
 Value* BridgeValue::FindSelf() const
 {
-  auto self = BridgeBase::FindSelf();
-  assert(self);
-  auto valueInterface = dynamic_cast<Value*>(self);
-  if(!valueInterface)
-  {
-    throw std::domain_error{"object " + self->GetAddress().ToString() + " doesn't have Value interface"};
-  }
-  return valueInterface;
+  return FindCurrentObjectWithInterface<Dali::Accessibility::AtspiInterface::VALUE>();
 }
 
 double BridgeValue::GetCurrentValue()
@@ -59,6 +50,11 @@ void BridgeValue::SetCurrentValue(double newValue)
   FindSelf()->SetCurrent(newValue);
 }
 
+std::string BridgeValue::GetCurrentValueText()
+{
+  return FindSelf()->GetValueText();
+}
+
 double BridgeValue::GetMaximumValue()
 {
   return FindSelf()->GetMaximum();