1 /* 2 * Copyright (C) 2021-2022 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 CELLULAR_CALL_STUB_H 17 #define CELLULAR_CALL_STUB_H 18 19 #include <map> 20 #include "cellular_call_data_struct.h" 21 #include "cellular_call_interface.h" 22 #include "telephony_log_wrapper.h" 23 #include "iremote_stub.h" 24 25 namespace OHOS { 26 namespace Telephony { 27 class CellularCallStub : public IRemoteStub<CellularCallInterface> { 28 public: 29 /** 30 * CellularCallStub Constructors 31 */ 32 CellularCallStub(); 33 34 /** 35 * ~CellularCallStub Destructor 36 */ 37 virtual ~CellularCallStub(); 38 39 /** 40 * OnRemoteRequest 41 * 42 * @param code 43 * @param data 44 * @param reply 45 * @param option 46 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 47 */ 48 virtual int32_t OnRemoteRequest( 49 uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; 50 51 private: 52 /** 53 * On Dial Inner 54 * 55 * @param data send data 56 * @param reply Received data 57 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 58 */ 59 int32_t OnDialInner(MessageParcel &data, MessageParcel &reply); 60 61 /** 62 * On HangUp Inner 63 * 64 * @param data send data 65 * @param reply Received data 66 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 67 */ 68 int32_t OnHangUpInner(MessageParcel &data, MessageParcel &reply); 69 70 /** 71 * On Reject Inner 72 * 73 * @param data send data 74 * @param reply Received data 75 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 76 */ 77 int32_t OnRejectInner(MessageParcel &data, MessageParcel &reply); 78 79 /** 80 * On Answer Inner 81 * 82 * @param data send data 83 * @param reply Received data 84 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 85 */ 86 int32_t OnAnswerInner(MessageParcel &data, MessageParcel &reply); 87 88 /** 89 * On Is Emergency Call Inner 90 * 91 * @param data send data 92 * @param reply Received data 93 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 94 */ 95 int32_t OnIsEmergencyPhoneNumberInner(MessageParcel &data, MessageParcel &reply); 96 97 /** 98 * On HoldCall Inner 99 * 100 * @param data send data 101 * @param reply Received data 102 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 103 */ 104 int32_t OnHoldCallInner(MessageParcel &data, MessageParcel &reply); 105 106 /** 107 * On UnHoldCall Inner 108 * 109 * @param data send data 110 * @param reply Received data 111 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 112 */ 113 int32_t OnUnHoldCallInner(MessageParcel &data, MessageParcel &reply); 114 115 /** 116 * On SwitchCall Inner 117 * 118 * @param data send data 119 * @param reply Received data 120 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 121 */ 122 int32_t OnSwitchCallInner(MessageParcel &data, MessageParcel &reply); 123 124 /** 125 * On CombineConference Inner 126 * 127 * @param data send data 128 * @param reply Received data 129 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 130 */ 131 int32_t OnCombineConferenceInner(MessageParcel &data, MessageParcel &reply); 132 133 /** 134 * On SeparateConference Inner 135 * 136 * @param data send data 137 * @param reply Received data 138 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 139 */ 140 int32_t OnSeparateConferenceInner(MessageParcel &data, MessageParcel &reply); 141 142 /** 143 * On InviteToConference Inner 144 * 145 * @param data send data 146 * @param reply Received data 147 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 148 */ 149 int32_t OnInviteToConferenceInner(MessageParcel &data, MessageParcel &reply); 150 151 /** 152 * On KickOutFromConference Inner 153 * 154 * @param data send data 155 * @param reply Received data 156 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 157 */ 158 int32_t OnKickOutFromConferenceInner(MessageParcel &data, MessageParcel &reply); 159 160 /** 161 * On HangUpAllConnection Inner 162 * 163 * @param data send data 164 * @param reply Received data 165 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 166 */ 167 int32_t OnHangUpAllConnectionInner(MessageParcel &data, MessageParcel &reply); 168 169 /** 170 * On UpdateImsCallMode Inner 171 * 172 * @param data send data 173 * @param reply Received data 174 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 175 */ 176 int32_t OnUpdateCallMediaModeInner(MessageParcel &data, MessageParcel &reply); 177 178 /** 179 * On Register Call Back Inner 180 * 181 * @param data send data 182 * @param reply Received data 183 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 184 */ 185 int32_t OnRegisterCallBackInner(MessageParcel &data, MessageParcel &reply); 186 187 /** 188 * On UnRegister Call Back Inner 189 * 190 * @param data send data 191 * @param reply Received data 192 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 193 */ 194 int32_t OnUnRegisterCallBackInner(MessageParcel &data, MessageParcel &reply); 195 196 /** 197 * On start Dtmf Inner 198 * 199 * @param data send data 200 * @param reply Received data 201 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 202 */ 203 int32_t OnStartDtmfInner(MessageParcel &data, MessageParcel &reply); 204 205 /** 206 * On stop Dtmf Inner 207 * 208 * @param data send data 209 * @param reply Received data 210 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 211 */ 212 int32_t OnStopDtmfInner(MessageParcel &data, MessageParcel &reply); 213 214 /** 215 * On send Dtmf Inner 216 * 217 * @param data send data 218 * @param reply Received data 219 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 220 */ 221 int32_t OnSendDtmfInner(MessageParcel &data, MessageParcel &reply); 222 223 /** 224 * On start Rtt Inner 225 * 226 * @param data send data 227 * @param reply Received data 228 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 229 */ 230 int32_t OnStartRttInner(MessageParcel &data, MessageParcel &reply); 231 232 /** 233 * On stop Rtt Inner 234 * 235 * @param data send data 236 * @param reply Received data 237 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 238 */ 239 int32_t OnStopRttInner(MessageParcel &data, MessageParcel &reply); 240 241 /** 242 * On Set Call Transfer Inner 243 * 244 * @param data send data 245 * @param reply Received data 246 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 247 */ 248 int32_t OnSetCallTransferInner(MessageParcel &data, MessageParcel &reply); 249 250 /** 251 * On Inquire Call Transfer Inner 252 * 253 * @param data send data 254 * @param reply Received data 255 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 256 */ 257 int32_t OnGetCallTransferInner(MessageParcel &data, MessageParcel &reply); 258 259 /** 260 * On Set Call Waiting 261 * 262 * @param data send data 263 * @param reply Received data 264 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 265 */ 266 int32_t OnSetCallWaitingInner(MessageParcel &data, MessageParcel &reply); 267 268 /** 269 * On Inquire Call Waiting 270 * 271 * @param data send data 272 * @param reply Received data 273 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 274 */ 275 int32_t OnGetCallWaitingInner(MessageParcel &data, MessageParcel &reply); 276 277 /** 278 * On Set Call Restriction 279 * 280 * @param data send data 281 * @param reply Received data 282 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 283 */ 284 int32_t OnSetCallRestrictionInner(MessageParcel &data, MessageParcel &reply); 285 286 /** 287 * On Get Call Restriction 288 * 289 * @param data send data 290 * @param reply Received data 291 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 292 */ 293 int32_t OnGetCallRestrictionInner(MessageParcel &data, MessageParcel &reply); 294 295 /** 296 * On Set Domain Preference Mode 297 * 298 * @param data send data 299 * @param reply Received data 300 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 301 */ 302 int32_t OnSetDomainPreferenceModeInner(MessageParcel &data, MessageParcel &reply); 303 304 /** 305 * On Get Domain Preference Mode 306 * 307 * @param data send data 308 * @param reply Received data 309 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 310 */ 311 int32_t OnGetDomainPreferenceModeInner(MessageParcel &data, MessageParcel &reply); 312 313 /** 314 * On Set Ims Switch Status 315 * 316 * @param data send data 317 * @param reply Received data 318 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 319 */ 320 int32_t OnSetImsSwitchStatusInner(MessageParcel &data, MessageParcel &reply); 321 322 /** 323 * On Get Ims Switch Status 324 * 325 * @param data send data 326 * @param reply Received data 327 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 328 */ 329 int32_t OnGetImsSwitchStatusInner(MessageParcel &data, MessageParcel &reply); 330 331 /** 332 * On SetImsConfigStringInner 333 * 334 * @param data send data 335 * @param reply Received data 336 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 337 */ 338 int32_t OnSetImsConfigStringInner(MessageParcel &data, MessageParcel &reply); 339 340 /** 341 * On SetImsConfigIntInner 342 * 343 * @param data send data 344 * @param reply Received data 345 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 346 */ 347 int32_t OnSetImsConfigIntInner(MessageParcel &data, MessageParcel &reply); 348 349 /** 350 * On GetImsConfigInner 351 * 352 * @param data send data 353 * @param reply Received data 354 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 355 */ 356 int32_t OnGetImsConfigInner(MessageParcel &data, MessageParcel &reply); 357 358 /** 359 * On SetImsFeatureValueInner 360 * 361 * @param data send data 362 * @param reply Received data 363 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 364 */ 365 int32_t OnSetImsFeatureValueInner(MessageParcel &data, MessageParcel &reply); 366 367 /** 368 * On GetImsFeatureValueInner 369 * 370 * @param data send data 371 * @param reply Received data 372 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 373 */ 374 int32_t OnGetImsFeatureValueInner(MessageParcel &data, MessageParcel &reply); 375 376 /** 377 * On Ctrl Camera Inner 378 * 379 * @param data send data 380 * @param reply Received data 381 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 382 */ 383 int32_t OnCtrlCameraInner(MessageParcel &data, MessageParcel &reply); 384 385 /** 386 * On Set Preview Window Inner 387 * 388 * @param data send data 389 * @param reply Received data 390 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 391 */ 392 int32_t OnSetPreviewWindowInner(MessageParcel &data, MessageParcel &reply); 393 394 /** 395 * On Set Display Window Inner 396 * 397 * @param data send data 398 * @param reply Received data 399 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 400 */ 401 int32_t OnSetDisplayWindowInner(MessageParcel &data, MessageParcel &reply); 402 403 /** 404 * On Set Camera Zoom Inner 405 * 406 * @param data send data 407 * @param reply Received data 408 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 409 */ 410 int32_t OnSetCameraZoomInner(MessageParcel &data, MessageParcel &reply); 411 412 /** 413 * On Set Pause Image Inner 414 * 415 * @param data send data 416 * @param reply Received data 417 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 418 */ 419 int32_t OnSetPauseImageInner(MessageParcel &data, MessageParcel &reply); 420 421 /** 422 * On Set Device Direction Inner 423 * 424 * @param data send data 425 * @param reply Received data 426 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 427 */ 428 int32_t OnSetDeviceDirectionInner(MessageParcel &data, MessageParcel &reply); 429 430 /** 431 * On Set Mute Inner 432 * 433 * @param data send data 434 * @param reply Received data 435 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 436 */ 437 int32_t OnSetMuteInner(MessageParcel &data, MessageParcel &reply); 438 439 /** 440 * On Get Mute Inner 441 * 442 * @param data send data 443 * @param reply Received data 444 * @return Returns TELEPHONY_SUCCESS on success, others on failure. 445 */ 446 int32_t OnGetMuteInner(MessageParcel &data, MessageParcel &reply); 447 448 int32_t OnSetEmergencyCallList(MessageParcel &data, MessageParcel &reply); 449 450 private: 451 using RequestFuncType = int32_t (CellularCallStub::*)(MessageParcel &data, MessageParcel &reply); 452 std::map<OperationType, RequestFuncType> requestFuncMap_; 453 }; 454 } // namespace Telephony 455 } // namespace OHOS 456 457 #endif // CELLULAR_CALL_STUB_H 458