1d95e75fdSopenharmony_ci/* 2d95e75fdSopenharmony_ci * Copyright (C) 2021-2022 Huawei Device Co., Ltd. 3d95e75fdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d95e75fdSopenharmony_ci * you may not use this file except in compliance with the License. 5d95e75fdSopenharmony_ci * You may obtain a copy of the License at 6d95e75fdSopenharmony_ci * 7d95e75fdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d95e75fdSopenharmony_ci * 9d95e75fdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d95e75fdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d95e75fdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d95e75fdSopenharmony_ci * See the License for the specific language governing permissions and 13d95e75fdSopenharmony_ci * limitations under the License. 14d95e75fdSopenharmony_ci */ 15d95e75fdSopenharmony_ci 16d95e75fdSopenharmony_ci#ifndef CELLULAR_CALL_CONFIG_REQUEST_H 17d95e75fdSopenharmony_ci#define CELLULAR_CALL_CONFIG_REQUEST_H 18d95e75fdSopenharmony_ci 19d95e75fdSopenharmony_ci#include "base_request.h" 20d95e75fdSopenharmony_ci#include "ims_feature.h" 21d95e75fdSopenharmony_ci#include "module_service_utils.h" 22d95e75fdSopenharmony_ci#include "telephony_log_wrapper.h" 23d95e75fdSopenharmony_ci#include "telephony_types.h" 24d95e75fdSopenharmony_ci 25d95e75fdSopenharmony_cinamespace OHOS { 26d95e75fdSopenharmony_cinamespace Telephony { 27d95e75fdSopenharmony_ciclass ConfigRequest : BaseRequest { 28d95e75fdSopenharmony_cipublic: 29d95e75fdSopenharmony_ci /** 30d95e75fdSopenharmony_ci * Set Domain Preference Mode Request 31d95e75fdSopenharmony_ci * 32d95e75fdSopenharmony_ci * @param slotId 33d95e75fdSopenharmony_ci * @param mode 34d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 35d95e75fdSopenharmony_ci */ 36d95e75fdSopenharmony_ci int32_t SetDomainPreferenceModeRequest(int32_t slotId, int32_t mode); 37d95e75fdSopenharmony_ci 38d95e75fdSopenharmony_ci /** 39d95e75fdSopenharmony_ci * Get Domain Preference Mode Request 40d95e75fdSopenharmony_ci * 41d95e75fdSopenharmony_ci * @param slotId 42d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 43d95e75fdSopenharmony_ci */ 44d95e75fdSopenharmony_ci int32_t GetDomainPreferenceModeRequest(int32_t slotId); 45d95e75fdSopenharmony_ci 46d95e75fdSopenharmony_ci /** 47d95e75fdSopenharmony_ci * Set Lte Ims Switch Status Request 48d95e75fdSopenharmony_ci * 49d95e75fdSopenharmony_ci * @param slotId 50d95e75fdSopenharmony_ci * @param active 51d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 52d95e75fdSopenharmony_ci */ 53d95e75fdSopenharmony_ci int32_t SetImsSwitchStatusRequest(int32_t slotId, bool active); 54d95e75fdSopenharmony_ci 55d95e75fdSopenharmony_ci /** 56d95e75fdSopenharmony_ci * Get Lte Ims Switch Status Request 57d95e75fdSopenharmony_ci * 58d95e75fdSopenharmony_ci * @param slotId 59d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 60d95e75fdSopenharmony_ci */ 61d95e75fdSopenharmony_ci int32_t GetImsSwitchStatusRequest(int32_t slotId); 62d95e75fdSopenharmony_ci 63d95e75fdSopenharmony_ci /** 64d95e75fdSopenharmony_ci * Set VoNR Switch Status Request 65d95e75fdSopenharmony_ci * 66d95e75fdSopenharmony_ci * @param slotId 67d95e75fdSopenharmony_ci * @param state 68d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 69d95e75fdSopenharmony_ci */ 70d95e75fdSopenharmony_ci int32_t SetVoNRSwitchStatusRequest(int32_t slotId, int32_t state); 71d95e75fdSopenharmony_ci 72d95e75fdSopenharmony_ci /** 73d95e75fdSopenharmony_ci * Set Ims Config Request 74d95e75fdSopenharmony_ci * 75d95e75fdSopenharmony_ci * @param ImsConfigItem 76d95e75fdSopenharmony_ci * @param value 77d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 78d95e75fdSopenharmony_ci */ 79d95e75fdSopenharmony_ci int32_t SetImsConfigRequest(ImsConfigItem item, const std::string &value); 80d95e75fdSopenharmony_ci 81d95e75fdSopenharmony_ci /** 82d95e75fdSopenharmony_ci * Set Ims Config Request 83d95e75fdSopenharmony_ci * 84d95e75fdSopenharmony_ci * @param ImsConfigItem 85d95e75fdSopenharmony_ci * @param value 86d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 87d95e75fdSopenharmony_ci */ 88d95e75fdSopenharmony_ci int32_t SetImsConfigRequest(ImsConfigItem item, int32_t value); 89d95e75fdSopenharmony_ci 90d95e75fdSopenharmony_ci /** 91d95e75fdSopenharmony_ci * Get Ims Config Request 92d95e75fdSopenharmony_ci * 93d95e75fdSopenharmony_ci * @param ImsConfigItem 94d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 95d95e75fdSopenharmony_ci */ 96d95e75fdSopenharmony_ci int32_t GetImsConfigRequest(ImsConfigItem item); 97d95e75fdSopenharmony_ci 98d95e75fdSopenharmony_ci /** 99d95e75fdSopenharmony_ci * Set Ims Feature Value Request 100d95e75fdSopenharmony_ci * 101d95e75fdSopenharmony_ci * @param FeatureType 102d95e75fdSopenharmony_ci * @param value 103d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 104d95e75fdSopenharmony_ci */ 105d95e75fdSopenharmony_ci int32_t SetImsFeatureValueRequest(FeatureType type, int32_t value); 106d95e75fdSopenharmony_ci 107d95e75fdSopenharmony_ci /** 108d95e75fdSopenharmony_ci * Get Ims Feature Value Request 109d95e75fdSopenharmony_ci * 110d95e75fdSopenharmony_ci * @param FeatureType Indicate which feature type to query. 111d95e75fdSopenharmony_ci * @param value Indicate the return value of the query feature type. 112d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 113d95e75fdSopenharmony_ci */ 114d95e75fdSopenharmony_ci int32_t GetImsFeatureValueRequest(FeatureType type, int32_t &value); 115d95e75fdSopenharmony_ci 116d95e75fdSopenharmony_ci /** 117d95e75fdSopenharmony_ci * SetMuteRequest 118d95e75fdSopenharmony_ci * 119d95e75fdSopenharmony_ci * @param slotId 120d95e75fdSopenharmony_ci * @param mute 121d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 122d95e75fdSopenharmony_ci */ 123d95e75fdSopenharmony_ci int32_t SetMuteRequest(int32_t slotId, int32_t mute); 124d95e75fdSopenharmony_ci 125d95e75fdSopenharmony_ci /** 126d95e75fdSopenharmony_ci * GetMuteRequest 127d95e75fdSopenharmony_ci * 128d95e75fdSopenharmony_ci * @param slotId 129d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 130d95e75fdSopenharmony_ci */ 131d95e75fdSopenharmony_ci int32_t GetMuteRequest(int32_t slotId); 132d95e75fdSopenharmony_ci 133d95e75fdSopenharmony_ci /** 134d95e75fdSopenharmony_ci * GetEmergencyCallListRequest 135d95e75fdSopenharmony_ci * 136d95e75fdSopenharmony_ci * @param slotId 137d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 138d95e75fdSopenharmony_ci */ 139d95e75fdSopenharmony_ci int32_t GetEmergencyCallListRequest(int32_t slotId); 140d95e75fdSopenharmony_ci 141d95e75fdSopenharmony_ci /** 142d95e75fdSopenharmony_ci * SetEmergencyCallListRequest 143d95e75fdSopenharmony_ci * 144d95e75fdSopenharmony_ci * @param slotId 145d95e75fdSopenharmony_ci * @param eccVec 146d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 147d95e75fdSopenharmony_ci */ 148d95e75fdSopenharmony_ci int32_t SetEmergencyCallListRequest(int32_t slotId, std::vector<EmergencyCall> &eccVec); 149d95e75fdSopenharmony_ci 150d95e75fdSopenharmony_ci /** 151d95e75fdSopenharmony_ci * Update Ims Capabilities 152d95e75fdSopenharmony_ci * 153d95e75fdSopenharmony_ci * @param slotId Indicates the card slot index number, 154d95e75fdSopenharmony_ci * ranging from {@code 0} to the maximum card slot index number supported by the device. 155d95e75fdSopenharmony_ci * @param imsCapabilityList Indicates the related ims capability 156d95e75fdSopenharmony_ci * @return Returns TELEPHONY_SUCCESS on success, others on failure. 157d95e75fdSopenharmony_ci */ 158d95e75fdSopenharmony_ci int32_t UpdateImsCapabilities(int32_t slotId, const ImsCapabilityList &imsCapabilityList); 159d95e75fdSopenharmony_ci 160d95e75fdSopenharmony_ciprivate: 161d95e75fdSopenharmony_ci ModuleServiceUtils moduleUtils_; 162d95e75fdSopenharmony_ci}; 163d95e75fdSopenharmony_ci} // namespace Telephony 164d95e75fdSopenharmony_ci} // namespace OHOS 165d95e75fdSopenharmony_ci#endif // CELLULAR_CALL_CONFIG_REQUEST_H 166