119e95205Sopenharmony_ci/*
219e95205Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd.
319e95205Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
419e95205Sopenharmony_ci * you may not use this file except in compliance with the License.
519e95205Sopenharmony_ci * You may obtain a copy of the License at
619e95205Sopenharmony_ci *
719e95205Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
819e95205Sopenharmony_ci *
919e95205Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1019e95205Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1119e95205Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1219e95205Sopenharmony_ci * See the License for the specific language governing permissions and
1319e95205Sopenharmony_ci * limitations under the License.
1419e95205Sopenharmony_ci */
1519e95205Sopenharmony_ci
1619e95205Sopenharmony_ci#ifndef COMPAT_H
1719e95205Sopenharmony_ci#define COMPAT_H
1819e95205Sopenharmony_ci
1919e95205Sopenharmony_ci#include <map>
2019e95205Sopenharmony_ci#include <string>
2119e95205Sopenharmony_ci#include <vector>
2219e95205Sopenharmony_ci
2319e95205Sopenharmony_cinamespace OHOS {
2419e95205Sopenharmony_cinamespace bluetooth {
2519e95205Sopenharmony_cienum class CompatType : int {
2619e95205Sopenharmony_ci    COMPAT_DISABLE_BLE_SECURE_CONNECTIONS,
2719e95205Sopenharmony_ci    COMPAT_REJECT_NAME_REQUEST,
2819e95205Sopenharmony_ci    COMPAT_REJECT_AUTO_PAIRING,
2919e95205Sopenharmony_ci    COMPAT_KEYBOARD_REQUIRES_FIXED_PIN,
3019e95205Sopenharmony_ci    COMPAT_GATTC_NO_SERVICE_CHANGED_IND,
3119e95205Sopenharmony_ci	COMPAT_REJECT_AVDTP_RECONFIGURE,
3219e95205Sopenharmony_ci    COMPAT_REJECT_ABSOLUTE_VOLUME,
3319e95205Sopenharmony_ci};
3419e95205Sopenharmony_ci
3519e95205Sopenharmony_ciclass Compat {
3619e95205Sopenharmony_cipublic:
3719e95205Sopenharmony_ci    static bool CompatCheck(CompatType type, const std::string &value);
3819e95205Sopenharmony_ciprivate:
3919e95205Sopenharmony_ci    static const std::map<CompatType, std::vector<std::string>> COMPAT_DATA;
4019e95205Sopenharmony_ci};
4119e95205Sopenharmony_ci}  // namespace bluetooth
4219e95205Sopenharmony_ci}  // namespace OHOS
4319e95205Sopenharmony_ci#endif  // COMPAT_H