X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Faccessibility%2Fbridge%2Fbridge-text.cpp;h=1ba0073e6c9a36d8a9447d1e6611b9552eb8ccf9;hb=93f74934da0d7ea8deac16eb3e23b35b0d684087;hp=0c3ed82475042cad0283ccc28b4f038aa585643e;hpb=7a6df7ca09b96f9894473030ecb6819628b64081;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/accessibility/bridge/bridge-text.cpp b/dali/internal/accessibility/bridge/bridge-text.cpp index 0c3ed82..1ba0073 100644 --- a/dali/internal/accessibility/bridge/bridge-text.cpp +++ b/dali/internal/accessibility/bridge/bridge-text.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,66 +25,72 @@ using namespace Dali::Accessibility; void BridgeText::RegisterInterfaces() { + // The second arguments below are the names (or signatures) of DBus methods. + // Screen Reader will call the methods with the exact names as specified in the AT-SPI Text interface: + // https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/master/xml/Text.xml + DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceText}; - AddFunctionToInterface( desc, "GetText", &BridgeText::GetText ); - AddGetPropertyToInterface( desc, "CharacterCount", &BridgeText::GetCharacterCount ); - AddGetPropertyToInterface( desc, "CaretOffset", &BridgeText::GetCaretOffset ); - AddFunctionToInterface( desc, "SetCaretOffset", &BridgeText::SetCaretOffset ); - AddFunctionToInterface( desc, "GetTextAtOffset", &BridgeText::GetTextAtOffset ); - AddFunctionToInterface( desc, "GetSelection", &BridgeText::GetSelection ); - AddFunctionToInterface( desc, "SetSelection", &BridgeText::SetSelection ); - AddFunctionToInterface( desc, "RemoveSelection", &BridgeText::RemoveSelection ); - dbusServer.addInterface( "/", desc, true ); + AddFunctionToInterface(desc, "GetText", &BridgeText::GetText); + AddGetPropertyToInterface(desc, "CharacterCount", &BridgeText::GetCharacterCount); + AddGetPropertyToInterface(desc, "CaretOffset", &BridgeText::GetCursorOffset); + AddFunctionToInterface(desc, "SetCaretOffset", &BridgeText::SetCursorOffset); + AddFunctionToInterface(desc, "GetTextAtOffset", &BridgeText::GetTextAtOffset); + AddFunctionToInterface(desc, "GetSelection", &BridgeText::GetRangeOfSelection); + AddFunctionToInterface(desc, "SetSelection", &BridgeText::SetRangeOfSelection); + AddFunctionToInterface(desc, "RemoveSelection", &BridgeText::RemoveSelection); + mDbusServer.addInterface("/", desc, true); } Text* BridgeText::FindSelf() const { - auto s = BridgeBase::FindSelf(); - assert( s ); - auto s2 = dynamic_cast< Text* >( s ); - if( !s2 ) - throw std::domain_error{"object " + s->GetAddress().ToString() + " doesn't have Text interface"}; - return s2; + auto self = BridgeBase::FindSelf(); + assert(self); + auto textInterface = dynamic_cast(self); + if(!textInterface) + { + throw std::domain_error{"Object " + self->GetAddress().ToString() + " doesn't have Text interface"}; + } + return textInterface; } -DBus::ValueOrError< std::string > BridgeText::GetText( int startOffset, int endOffset ) +DBus::ValueOrError BridgeText::GetText(int startOffset, int endOffset) { - return FindSelf()->GetText( startOffset, endOffset ); + return FindSelf()->GetText(startOffset, endOffset); } -DBus::ValueOrError< int32_t > BridgeText::GetCharacterCount() +DBus::ValueOrError BridgeText::GetCharacterCount() { return FindSelf()->GetCharacterCount(); } -DBus::ValueOrError< int32_t > BridgeText::GetCaretOffset() +DBus::ValueOrError BridgeText::GetCursorOffset() { - return FindSelf()->GetCaretOffset(); + return FindSelf()->GetCursorOffset(); } -DBus::ValueOrError< bool > BridgeText::SetCaretOffset( int32_t offset ) +DBus::ValueOrError BridgeText::SetCursorOffset(int32_t offset) { - return FindSelf()->SetCaretOffset(offset); + return FindSelf()->SetCursorOffset(offset); } -DBus::ValueOrError< std::string, int, int > BridgeText::GetTextAtOffset( int32_t offset, uint32_t boundary ) +DBus::ValueOrError BridgeText::GetTextAtOffset(int32_t offset, uint32_t boundary) { - auto r = FindSelf()->GetTextAtOffset( offset, static_cast< TextBoundary >( boundary ) ); - return {r.content, static_cast< int >( r.startOffset ), static_cast< int >( r.endOffset )}; + auto range = FindSelf()->GetTextAtOffset(offset, static_cast(boundary)); + return {range.content, static_cast(range.startOffset), static_cast(range.endOffset)}; } -DBus::ValueOrError< int, int > BridgeText::GetSelection( int32_t selectionNum ) +DBus::ValueOrError BridgeText::GetRangeOfSelection(int32_t selectionIndex) { - auto r = FindSelf()->GetSelection( selectionNum ); - return {static_cast< int >( r.startOffset ), static_cast< int >( r.endOffset )}; + auto range = FindSelf()->GetRangeOfSelection(selectionIndex); + return {static_cast(range.startOffset), static_cast(range.endOffset)}; } -DBus::ValueOrError< bool > BridgeText::RemoveSelection( int32_t selectionNum ) +DBus::ValueOrError BridgeText::RemoveSelection(int32_t selectionIndex) { - return FindSelf()->RemoveSelection( selectionNum ); + return FindSelf()->RemoveSelection(selectionIndex); } -DBus::ValueOrError< bool > BridgeText::SetSelection( int32_t selectionNum, int32_t startOffset, int32_t endOffset ) +DBus::ValueOrError BridgeText::SetRangeOfSelection(int32_t selectionIndex, int32_t startOffset, int32_t endOffset) { - return FindSelf()->SetSelection( selectionNum, startOffset, endOffset ); + return FindSelf()->SetRangeOfSelection(selectionIndex, startOffset, endOffset); }