7c158b6e4655d46041d31ae47d74e0770a5c89f2
[platform/core/uifw/dali-adaptor.git] / dali / dali-bridge / src / BridgeValue.cpp
1 #include "BridgeValue.hpp"
2 #include <iostream>
3
4 using namespace Dali::Accessibility;
5
6 BridgeValue::BridgeValue()
7 {
8 }
9
10 void BridgeValue::RegisterInterfaces()
11 {
12   DBus::DBusInterfaceDescription desc{ATSPI_DBUS_INTERFACE_VALUE};
13   AddGetSetPropertyToInterface( desc, "CurrentValue", &BridgeValue::GetCurrentValue, &BridgeValue::SetCurrentValue );
14   AddGetPropertyToInterface( desc, "MaximumValue", &BridgeValue::GetMaximumValue );
15   AddGetPropertyToInterface( desc, "MinimumIncrement", &BridgeValue::GetMinimumIncrement );
16   AddGetPropertyToInterface( desc, "MinimumValue", &BridgeValue::GetMinimumValue );
17   dbusServer.addInterface( "/", desc, true );
18 }
19
20 Value* BridgeValue::FindSelf() const
21 {
22   auto s = BridgeBase::FindSelf();
23   assert( s );
24   auto s2 = dynamic_cast< Value* >( s );
25   if( !s2 )
26     throw AccessibleError{"object " + s->GetAddress().ToString() + " doesn't have Value interface"};
27   return s2;
28 }
29 double BridgeValue::GetCurrentValue()
30 {
31   return FindSelf()->GetCurrent();
32 }
33 void BridgeValue::SetCurrentValue( double new_value )
34 {
35   FindSelf()->SetCurrent( new_value );
36 }
37 double BridgeValue::GetMaximumValue()
38 {
39   return FindSelf()->GetMaximum();
40 }
41 double BridgeValue::GetMinimumIncrement()
42 {
43   return FindSelf()->GetMinimumIncrement();
44 }
45 double BridgeValue::GetMinimumValue()
46 {
47   return FindSelf()->GetMinimum();
48 }