1 /* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef I_CALL_STATUS_CALLBACK_H 17 #define I_CALL_STATUS_CALLBACK_H 18 19 #include "iremote_broker.h" 20 #include "call_manager_inner_type.h" 21 22 namespace OHOS { 23 namespace Telephony { 24 class ICallStatusCallback : public IRemoteBroker { 25 public: 26 virtual ~ICallStatusCallback() = default; 27 28 virtual int32_t UpdateCallReportInfo(const CallReportInfo &info) = 0; 29 virtual int32_t UpdateCallsReportInfo(const CallsReportInfo &info) = 0; 30 virtual int32_t UpdateDisconnectedCause(const DisconnectedDetails &cause) = 0; 31 virtual int32_t UpdateEventResultInfo(const CellularCallEventInfo &info) = 0; 32 virtual int32_t UpdateRBTPlayInfo(const RBTPlayInfo info) = 0; 33 virtual int32_t UpdateGetWaitingResult(const CallWaitResponse &callWaitResponse) = 0; 34 virtual int32_t UpdateSetWaitingResult(const int32_t result) = 0; 35 virtual int32_t UpdateGetRestrictionResult(const CallRestrictionResponse &callRestrictionResult) = 0; 36 virtual int32_t UpdateSetRestrictionResult(int32_t result) = 0; 37 virtual int32_t UpdateGetTransferResult(const CallTransferResponse &callTransferResponse) = 0; 38 virtual int32_t UpdateSetTransferResult(const int32_t result) = 0; 39 virtual int32_t UpdateGetCallClipResult(const ClipResponse &clipResponse) = 0; 40 virtual int32_t UpdateGetCallClirResult(const ClirResponse &clirResponse) = 0; 41 virtual int32_t UpdateSetCallClirResult(const int32_t result) = 0; 42 virtual int32_t GetVoLteStatusResult(const LteImsSwitchResponse &switchResponse) = 0; 43 virtual int32_t SetVoLteStatusResult(const LteImsSwitchResponse &switchResponse) = 0; 44 virtual int32_t StartRttResult(const int32_t result) = 0; 45 virtual int32_t StopRttResult(const int32_t result) = 0; 46 virtual int32_t GetImsConfigResult(const GetImsConfigResponse &response) = 0; 47 virtual int32_t SetImsConfigResult(const int32_t result) = 0; 48 virtual int32_t GetImsFeatureValueResult(const GetImsFeatureValueResponse &response) = 0; 49 virtual int32_t SetImsFeatureValueResult(const int32_t result) = 0; 50 virtual int32_t GetLteEnhanceModeResult(const GetLteEnhanceModeResponse &response) = 0; 51 virtual int32_t SetLteEnhanceModeResult(const int32_t result) = 0; 52 virtual int32_t ReceiveUpdateCallMediaModeResponse(const CallMediaModeResponse &response) = 0; 53 virtual int32_t InviteToConferenceResult(const int32_t result) = 0; 54 virtual int32_t StartDtmfResult(const int32_t result) = 0; 55 virtual int32_t StopDtmfResult(const int32_t result) = 0; 56 virtual int32_t SendUssdResult(const int32_t result) = 0; 57 virtual int32_t GetImsCallDataResult(const int32_t result) = 0; 58 59 enum CallManagerCallStatusCode { 60 UPDATE_CALL_INFO = 0, 61 UPDATE_CALLS_INFO, 62 UPDATE_DISCONNECTED_CAUSE, 63 UPDATE_EVENT_RESULT_INFO, 64 UPDATE_RBT_PLAY_INFO, 65 UPDATE_GET_WAITING, 66 UPDATE_SET_WAITING, 67 UPDATE_GET_RESTRICTION, 68 UPDATE_SET_RESTRICTION, 69 UPDATE_GET_TRANSFER, 70 UPDATE_SET_TRANSFER, 71 UPDATE_GET_CALL_CLIP, 72 UPDATE_GET_CALL_CLIR, 73 UPDATE_SET_CALL_CLIR, 74 GET_VOLTE_SWITCH_STATUS, 75 SET_VOLTE_SWITCH_STATUS, 76 UPDATE_STARTRTT_STATUS, 77 UPDATE_STOPRTT_STATUS, 78 GET_IMS_CONFIG, 79 SET_IMS_CONFIG, 80 GET_IMS_FEATURE_VALUE, 81 SET_IMS_FEATURE_VALUE, 82 GET_LTE_ENHANCE_MODE, 83 SET_LTE_ENHANCE_MODE, 84 RECEIVE_UPDATE_MEDIA_MODE_RESPONSE, 85 INVITE_TO_CONFERENCE, 86 START_DTMF, 87 STOP_DTMF, 88 SEND_USSD, 89 GET_IMS_CALL_DATA, 90 }; 91 92 public: 93 DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.Telephony.ICallStatusCallback"); 94 }; 95 } // namespace Telephony 96 } // namespace OHOS 97 98 #endif 99