[ATSPI] Add some descriptions to Bridge objects
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / bridge / bridge-editable-text.cpp
index 4d383ed..33ff63d 100644 (file)
@@ -28,18 +28,23 @@ void BridgeEditableText::RegisterInterfaces()
   DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceEditableText};
   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);
-  dbusServer.addInterface("/", desc, true);
+  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)
@@ -52,6 +57,16 @@ DBus::ValueOrError<bool> BridgeEditableText::CutText(int32_t startPos, int32_t e
   return FindSelf()->CutText(startPos, endPos);
 }
 
+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();
@@ -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));
+}