Revert "[Tizen](ATSPI) Fix Native TC fails"
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / bridge / bridge-editable-text.cpp
1 /*
2  * Copyright (c) 2019 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali/internal/accessibility/bridge/bridge-editable-text.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/internal/clipboard/common/clipboard-impl.h>
23 //#include <dali/internal/input/common/imf-manager-impl.h>
24
25 using namespace Dali::Accessibility;
26
27 void BridgeEditableText::RegisterInterfaces()
28 {
29   DBus::DBusInterfaceDescription desc{AtspiDbusInterfaceEditableText};
30   AddFunctionToInterface( desc, "CopyText", &BridgeEditableText::CopyText );
31   AddFunctionToInterface( desc, "CutText", &BridgeEditableText::CutText );
32   AddFunctionToInterface( desc, "PasteText", &BridgeEditableText::PasteText );
33   dbusServer.addInterface( "/", desc, true );
34 }
35
36 EditableText* BridgeEditableText::FindSelf() const
37 {
38   auto s = BridgeBase::FindSelf();
39   assert( s );
40   auto s2 = dynamic_cast< EditableText* >( s );
41   if( !s2 )
42     throw std::domain_error{"object " + s->GetAddress().ToString() + " doesn't have Text interface"};
43   return s2;
44 }
45
46 DBus::ValueOrError< bool > BridgeEditableText::CopyText( int32_t startPos, int32_t endPos )
47 {
48   return FindSelf()->CopyText( startPos, endPos );
49 }
50
51 DBus::ValueOrError< bool > BridgeEditableText::CutText( int32_t startPos, int32_t endPos )
52 {
53   return FindSelf()->CutText( startPos, endPos );
54 }
55
56 DBus::ValueOrError< bool > BridgeEditableText::PasteText( int32_t pos )
57 {
58   // auto imfManager = Dali::Internal::Adaptor::ImfManager::Get();
59   // imfManager.SetCursorPosition( pos );
60   // auto clipboard = Dali::Internal::Adaptor::Clipboard::Get();
61   // clipboard.RequestItem();
62   // return true;
63   return false;
64 }