1 #ifndef DALI_INTERNAL_ACCESSIBILITY_BRIDGE_COLLECTION_H
2 #define DALI_INTERNAL_ACCESSIBILITY_BRIDGE_COLLECTION_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>
30 class BridgeCollection : public virtual BridgeBase
34 static void VisitNodes(Dali::Accessibility::Accessible* obj, std::vector<Dali::Accessibility::Accessible*>& result, Comparer& cmp, size_t maxCount);
37 BridgeCollection() = default;
39 void RegisterInterfaces();
41 Dali::Accessibility::Collection* FindSelf() const;
44 using MatchRule = std::tuple<
45 std::array<int32_t, 2>,
47 std::unordered_map<std::string, std::string>,
49 std::array<int32_t, 4>,
51 std::vector<std::string>,
69 DBus::ValueOrError<std::vector<Dali::Accessibility::Accessible*> > GetMatches(MatchRule rule, uint32_t sortBy, int32_t count, bool traverse);
72 #endif // DALI_INTERNAL_ACCESSIBILITY_BRIDGE_COLLECTION_H