[ATSPI] Add some descriptions to Bridge objects
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / bridge / bridge-editable-text.cpp
index eb74e28..33ff63d 100644 (file)
@@ -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.
@@ -26,33 +26,48 @@ using namespace Dali::Accessibility;
 void BridgeEditableText::RegisterInterfaces()
 {
   DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceEditableText};
-  AddFunctionToInterface( desc, "CopyText", &BridgeEditableText::CopyText );
-  AddFunctionToInterface( desc, "CutText", &BridgeEditableText::CutText );
-  AddFunctionToInterface( desc, "PasteText", &BridgeEditableText::PasteText );
-  dbusServer.addInterface( "/", desc, true );
+  AddFunctionToInterface(desc, "CopyText", &BridgeEditableText::CopyText);
+  AddFunctionToInterface(desc, "CutText", &BridgeEditableText::CutText);
+  AddFunctionToInterface(desc, "DeleteText", &BridgeEditableText::DeleteText);
+  AddFunctionToInterface(desc, "InsertText", &BridgeEditableText::InsertText);
+  AddFunctionToInterface(desc, "PasteText", &BridgeEditableText::PasteText);
+  AddFunctionToInterface(desc, "SetTextContents", &BridgeEditableText::SetTextContents);
+  mDbusServer.addInterface("/", desc, true);
 }
 
 EditableText* BridgeEditableText::FindSelf() const
 {
-  auto s = BridgeBase::FindSelf();
-  assert( s );
-  auto s2 = dynamic_cast< EditableText* >( 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 editableTextInterface = dynamic_cast<EditableText*>(self);
+  if(!editableTextInterface)
+  {
+    throw std::domain_error{"object " + self->GetAddress().ToString() + " doesn't have Text interface"};
+  }
+  return editableTextInterface;
 }
 
-DBus::ValueOrError< bool > BridgeEditableText::CopyText( int32_t startPos, int32_t endPos )
+DBus::ValueOrError<bool> BridgeEditableText::CopyText(int32_t startPos, int32_t endPos)
 {
-  return FindSelf()->CopyText( startPos, endPos );
+  return FindSelf()->CopyText(startPos, endPos);
 }
 
-DBus::ValueOrError< bool > BridgeEditableText::CutText( int32_t startPos, int32_t endPos )
+DBus::ValueOrError<bool> BridgeEditableText::CutText(int32_t startPos, int32_t endPos)
 {
-  return FindSelf()->CutText( startPos, endPos );
+  return FindSelf()->CutText(startPos, endPos);
 }
 
-DBus::ValueOrError< bool > BridgeEditableText::PasteText( int32_t pos )
+DBus::ValueOrError<bool> BridgeEditableText::DeleteText(int32_t startPos, int32_t endPos)
+{
+  return FindSelf()->DeleteText(startPos, endPos);
+}
+
+DBus::ValueOrError<bool> BridgeEditableText::InsertText(int32_t startPos, std::string text, [[maybe_unused]] int32_t length)
+{
+  return FindSelf()->InsertText(startPos, std::move(text));
+}
+
+DBus::ValueOrError<bool> BridgeEditableText::PasteText(int32_t pos)
 {
   // auto imfManager = Dali::Internal::Adaptor::ImfManager::Get();
   // imfManager.SetCursorPosition( pos );
@@ -61,3 +76,8 @@ DBus::ValueOrError< bool > BridgeEditableText::PasteText( int32_t pos )
   // return true;
   return false;
 }
+
+DBus::ValueOrError<bool> BridgeEditableText::SetTextContents(std::string newContents)
+{
+  return FindSelf()->SetTextContents(std::move(newContents));
+}