* Copyright (C) 2021-2022 Huawei Device Co., Ltd.
* 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 CELLULAR_CALL_CONFIG_REQUEST_H
#define CELLULAR_CALL_CONFIG_REQUEST_H
#include "base_request.h"
#include "ims_feature.h"
#include "module_service_utils.h"
#include "telephony_log_wrapper.h"
#include "telephony_types.h"
namespace OHOS {
namespace Telephony {
class ConfigRequest : BaseRequest {
public:
* Set Domain Preference Mode Request
*
* @param slotId
* @param mode
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetDomainPreferenceModeRequest(int32_t slotId, int32_t mode);
* Get Domain Preference Mode Request
*
* @param slotId
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetDomainPreferenceModeRequest(int32_t slotId);
* Set Carrier Vt Config
*
* @param slotId
* @param active
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetCarrierVtConfigRequest(int32_t slotId, bool active);
* Set Lte Ims Switch Status Request
*
* @param slotId
* @param active
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetImsSwitchStatusRequest(int32_t slotId, bool active);
* Get Lte Ims Switch Status Request
*
* @param slotId
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetImsSwitchStatusRequest(int32_t slotId);
* Set VoNR Switch Status Request
*
* @param slotId
* @param state
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetVoNRSwitchStatusRequest(int32_t slotId, int32_t state);
* Set Ims Config Request
*
* @param ImsConfigItem
* @param value
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetImsConfigRequest(ImsConfigItem item, const std::string &value);
* Set Ims Config Request
*
* @param ImsConfigItem
* @param value
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetImsConfigRequest(ImsConfigItem item, int32_t value);
* Get Ims Config Request
*
* @param ImsConfigItem
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetImsConfigRequest(ImsConfigItem item);
* Set Ims Feature Value Request
*
* @param FeatureType
* @param value
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetImsFeatureValueRequest(FeatureType type, int32_t value);
* Get Ims Feature Value Request
*
* @param FeatureType Indicate which feature type to query.
* @param value Indicate the return value of the query feature type.
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetImsFeatureValueRequest(FeatureType type, int32_t &value);
* SetMuteRequest
*
* @param slotId
* @param mute
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetMuteRequest(int32_t slotId, int32_t mute);
* GetMuteRequest
*
* @param slotId
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetMuteRequest(int32_t slotId);
* GetEmergencyCallListRequest
*
* @param slotId
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t GetEmergencyCallListRequest(int32_t slotId);
* SetEmergencyCallListRequest
*
* @param slotId
* @param eccVec
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetEmergencyCallListRequest(int32_t slotId, std::vector<EmergencyCall> &eccVec);
* Update Ims Capabilities
*
* @param slotId Indicates the card slot index number,
* ranging from {@code 0} to the maximum card slot index number supported by the device.
* @param imsCapabilityList Indicates the related ims capability
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t UpdateImsCapabilities(int32_t slotId, const ImsCapabilityList &imsCapabilityList);
* @brief Notify operatorconfig changed
*
* @param slotId Indicates the card slot index number,
* ranging from 0 to the maximum card slot index number supported by the device.
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t NotifyOperatorConfigChanged(int32_t slotId, int32_t state);
* @brief SetVideoCallWaiting IMS SetVideoCallWaiting interface
*
* @param slotId Indicates the card slot index number,
* ranging from 0 to the maximum card slot index number supported by the device.
* @param activate Indicates the action for SetVideoCallWaiting,
* true, means turn on VideoCallWaiting; false, means turn off VideoCallWaiting.
* @return Returns TELEPHONY_SUCCESS on success, others on failure.
*/
int32_t SetVideoCallWaiting(int32_t slotId, bool activate);
private:
ModuleServiceUtils moduleUtils_;
};
}
}
#endif