1 #ifndef DALI_INTERNAL_ACCESSIBILITY_BRIDGE_OBJECT_H
2 #define DALI_INTERNAL_ACCESSIBILITY_BRIDGE_OBJECT_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
24 #include <unordered_map>
28 #include <dali/internal/accessibility/bridge/bridge-base.h>
29 #include <dali/public-api/math/rect.h>
31 class BridgeObject : public virtual BridgeBase
36 void RegisterInterfaces();
38 DBus::DBusInterfaceDescription::SignalId stateChanged;
40 void EmitActiveDescendantChanged(Dali::Accessibility::Accessible* obj, Dali::Accessibility::Accessible* child) override;
41 void EmitCaretMoved(Dali::Accessibility::Accessible* obj, unsigned int cursorPosition) override;
42 void EmitTextChanged(Dali::Accessibility::Accessible* obj, Dali::Accessibility::TextChangedState state, unsigned int position, unsigned int length, const std::string& content) override;
43 void EmitStateChanged(Dali::Accessibility::Accessible* obj, Dali::Accessibility::State state, int val1, int val2) override;
44 void Emit(Dali::Accessibility::Accessible* obj, Dali::Accessibility::WindowEvent we, unsigned int detail1) override;
45 void Emit(Dali::Accessibility::Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent we) override;
46 void EmitBoundsChanged(Dali::Accessibility::Accessible* obj, Dali::Rect<> rect) override;
50 DBus::ValueOrError<Dali::Accessibility::Accessible*> GetChildAtIndex(int index);
51 Dali::Accessibility::Accessible* GetParent();
52 DBus::ValueOrError<std::vector<Dali::Accessibility::Accessible*> > GetChildren();
53 std::string GetName();
54 std::string GetDescription();
55 DBus::ValueOrError<uint32_t> GetRole();
56 DBus::ValueOrError<std::string> GetRoleName();
57 DBus::ValueOrError<std::string> GetLocalizedRoleName();
58 DBus::ValueOrError<int32_t> GetIndexInParent();
59 DBus::ValueOrError<std::array<uint32_t, 2> > GetStates();
60 DBus::ValueOrError<std::unordered_map<std::string, std::string> > GetAttributes();
61 DBus::ValueOrError<std::vector<std::string> > GetInterfaces();
64 #endif // DALI_INTERNAL_ACCESSIBILITY_BRIDGE_OBJECT_H