1 #ifndef BRIDGE_ACCESSIBLE_HPP
2 #define BRIDGE_ACCESSIBLE_HPP
4 #include "BridgeBase.hpp"
7 #include <unordered_map>
10 class BridgeAccessible : public virtual BridgeBase
15 void RegisterInterfaces();
18 enum class GetNeighborSearchMode
22 continueAfterFailedRecursion = 2,
26 DBus::ValueOrError< Dali::Accessibility::Accessible* > GetChildAtIndex( int index );
27 Dali::Accessibility::Accessible* GetParent();
28 DBus::ValueOrError< std::vector< Dali::Accessibility::Accessible* > > GetChildren();
29 std::string GetName();
30 std::string GetDescription();
31 DBus::ValueOrError< uint32_t > GetRole();
32 DBus::ValueOrError< std::string > GetRoleName();
33 DBus::ValueOrError< std::string > GetLocalizedRoleName();
34 DBus::ValueOrError< int32_t > GetIndexInParent();
35 DBus::ValueOrError< std::array< uint32_t, 2 > > GetStates();
36 DBus::ValueOrError< std::unordered_map< std::string, std::string > > GetAttributes();
37 DBus::ValueOrError< std::vector< std::string > > GetInterfaces();
38 DBus::ValueOrError< Dali::Accessibility::Accessible*, uint8_t, Dali::Accessibility::Accessible* > GetNavigableAtPoint( int32_t x, int32_t y, uint32_t coordType );
39 DBus::ValueOrError< Dali::Accessibility::Accessible*, uint8_t > GetNeighbor( std::string root_path, int32_t direction, int32_t search_mode );
40 DBus::ValueOrError< Dali::Accessibility::Accessible*, uint32_t > GetDefaultLabelInfo();
41 using ReadingMaterialType = DBus::ValueOrError<
42 std::unordered_map< std::string, std::string >, // attributes
44 std::string, // labeledByName
45 std::string, // textIfceName
47 Dali::Accessibility::States,
48 std::string, // localized name
49 int32_t, // child count
50 double, // current value
51 double, // minimum increment
52 double, // maximum value
53 double, // minimum value
54 std::string, // description
55 int32_t, // index in parent
56 bool, // isSelectedInParent
57 bool, // hasCheckBoxChild
58 int32_t, // listChildrenCount
59 int32_t, // firstSelectedChildIndex
60 Dali::Accessibility::Accessible*, // parent
61 Dali::Accessibility::States, // parentStateSet
62 int32_t, // parentChildCount
63 uint32_t, // parentRole
64 int32_t, // selectedChildCount,
65 Dali::Accessibility::Accessible* // describedByObject
68 ReadingMaterialType GetReadingMaterial();
70 DBus::ValueOrError< bool > DoGesture( int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t );
73 Dali::Accessibility::Accessible* CalculateNeighbor( Dali::Accessibility::Accessible* root, Dali::Accessibility::Accessible* start, unsigned char forward, GetNeighborSearchMode search_mode );
74 std::vector< Dali::Accessibility::Accessible* > ValidChildrenGet( const std::vector< Dali::Accessibility::Accessible* >& children, Dali::Accessibility::Accessible* start, Dali::Accessibility::Accessible* root );
75 Dali::Accessibility::Accessible* GetCurrentlyHighlighted();
76 Dali::Accessibility::Accessible* DirectionalDepthFirstSearchTryNonDefunctSibling( bool& all_children_visited, Dali::Accessibility::Accessible* node, Dali::Accessibility::Accessible* start, Dali::Accessibility::Accessible* root, unsigned char forward );
77 Dali::Accessibility::Accessible* GetNextNonDefunctSibling( Dali::Accessibility::Accessible* obj, Dali::Accessibility::Accessible* start, Dali::Accessibility::Accessible* root, unsigned char forward );