* Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FOUNDATION_ACE_ADAPTER_IOS_OSAL_ACCESSIBILITY_EVENT_MANAGER_H
#define FOUNDATION_ACE_ADAPTER_IOS_OSAL_ACCESSIBILITY_EVENT_MANAGER_H
#include <string>
#include <vector>
#include "foundation/arkui/ace_engine/interfaces/inner_api/ace_kit/include/ui/base/macros.h"
namespace OHOS::Ace::Framework {
struct AccessibilityAbilityInfo {
std::string id;
std::string name;
std::string bundleName;
std::vector<std::string> targetBundleNames;
std::vector<std::string> abilityTypes;
std::vector<std::string> capabilities;
std::string description;
std::vector<std::string> eventTypes;
bool needHide;
std::string label;
};
struct AccessibilityEventInfo {
std::string type = "";
std::string windowUpdateType = "";
std::string bundleName = "";
std::string componentType = "";
std::string description = "";
std::string triggerAction = "";
std::string textMoveUnit = "";
std::string lastContent = "";
std::string textAnnouncedForAccessibility = "";
std::string textResourceAnnouncedForAccessibility = "";
std::string customId = "";
std::vector<std::string> contents;
int32_t pageId = 0;
int32_t beginIndex = 0;
int32_t currentIndex = 0;
int32_t endIndex = 0;
int32_t itemCount = 0;
int32_t elementId = 0;
};
class ACE_EXPORT AccessibilityEventManager {
public:
static void SendEventInfo(const AccessibilityEventInfo& event);
};
}
#endif