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 CALL_MANAGER_SERVICE_PROXY_H 17 #define CALL_MANAGER_SERVICE_PROXY_H 18 19 #include <cfloat> 20 #include <cstdio> 21 #include <string> 22 #include <vector> 23 24 #include "iremote_broker.h" 25 #include "iremote_proxy.h" 26 #include "pac_map.h" 27 28 #include "call_ability_callback_ipc_interface_code.h" 29 #include "call_manager_inner_type.h" 30 #include "call_manager_service_ipc_interface_code.h" 31 #include "i_call_manager_service.h" 32 #include "telephony_log_wrapper.h" 33 34 namespace OHOS { 35 namespace Telephony { 36 class CallManagerServiceProxy : public IRemoteProxy<ICallManagerService> { 37 public: 38 /** 39 * CallManagerServiceProxy 40 * 41 * @param impl 42 */ 43 explicit CallManagerServiceProxy(const sptr<IRemoteObject> &impl); 44 virtual ~CallManagerServiceProxy() = default; 45 46 /** 47 * RegisterCallBack 48 * 49 * @brief Register callback 50 * @param callback[in], callback function pointer 51 * @return Returns 0 on success, others on failure. 52 */ 53 int32_t RegisterCallBack(const sptr<ICallAbilityCallback> &callback) override; 54 55 /** 56 * UnRegisterCallBack 57 * 58 * @brief unregister callback 59 * @return Returns 0 on success, others on failure. 60 */ 61 int32_t UnRegisterCallBack() override; 62 63 /** 64 * ObserverOnCallDetailsChange 65 * 66 * @brief execute when observe OnCallDetailsChange 67 * @return Returns 0 on success, others on failure. 68 */ 69 int32_t ObserverOnCallDetailsChange() override; 70 71 /** 72 * DialCall 73 * 74 * @brief Dial a phone call 75 * @param number[in], dial param. 76 * @param extras[in], extras date. 77 * @return Returns callId when the value is greater than zero, others on failure. 78 */ 79 int32_t DialCall(std::u16string number, AppExecFwk::PacMap &extras) override; 80 81 /** 82 * MakeCall 83 * 84 * @brief Make a phone call 85 * @param number[in], call param. 86 * @return Returns 0 on success, others on failure. 87 */ 88 int32_t MakeCall(std::string number) override; 89 90 /** 91 * AnswerCall 92 * 93 * @brief Answer a phone call 94 * @param callId[in], call id 95 * @param videoState[in], 0: audio, 1: video 96 * @return Returns 0 on success, others on failure. 97 */ 98 int32_t AnswerCall(int32_t callId, int32_t videoState) override; 99 100 /** 101 * RejectCall 102 * 103 * @brief Reject a phone call 104 * @param callId[in], call id 105 * @param rejectWithMessage[in], Whether to enter the reason for rejection,true:yes false:no 106 * @param textMessage[in], The reason you reject the call 107 * @return Returns 0 on success, others on failure. 108 */ 109 int32_t RejectCall(int32_t callId, bool rejectWithMessage, std::u16string textMessage) override; 110 111 /** 112 * HangUpCall 113 * 114 * @brief Hang up the phone 115 * @param callId[in], call id 116 * @return Returns 0 on success, others on failure. 117 */ 118 int32_t HangUpCall(int32_t callId) override; 119 120 /** 121 * GetCallState 122 * 123 * @brief Obtain the call status of the device 124 * @return Returns call state. 125 */ 126 int32_t GetCallState() override; 127 128 /** 129 * HoldCall 130 * 131 * @brief Park a phone call 132 * @param callId[in], call id 133 * @return Returns 0 on success, others on failure. 134 */ 135 int32_t HoldCall(int32_t callId) override; 136 137 /** 138 * UnHoldCall 139 * 140 * @brief Activate a phone call 141 * @param callId[in], call id 142 * @return Returns 0 on success, others on failure. 143 */ 144 int32_t UnHoldCall(int32_t callId) override; 145 146 /** 147 * SwitchCall 148 * 149 * @brief Switch the phone 150 * @param callId[in], call id 151 * @return Returns 0 on success, others on failure. 152 */ 153 int32_t SwitchCall(int32_t callId) override; 154 155 /** 156 * HasCall 157 * 158 * @brief Is there Call 159 * @param isInCludeVoipCall[in], include voip call or not 160 * @return Returns true on has call, others on there is no call. 161 */ 162 bool HasCall(const bool isInCludeVoipCall = true) override; 163 164 /** 165 * IsNewCallAllowed 166 * 167 * @brief Can I initiate a call 168 * @param enabled[out], whether allow new calls 169 * @return Returns interface processing results. 170 */ 171 int32_t IsNewCallAllowed(bool &enabled) override; 172 173 /** 174 * SetMuted 175 * 176 * @brief Mute the Microphone 177 * @param isMute[in], mute state 178 * @return Returns 0 on success, others on failure. 179 */ 180 int32_t SetMuted(bool isMute) override; 181 182 /** 183 * MuteRinger 184 * 185 * @brief Call mute 186 * @return Returns 0 on success, others on failure. 187 */ 188 int32_t MuteRinger() override; 189 190 /** 191 * SetAudioDevice 192 * 193 * @brief Setting the Audio Channel 194 * @param audioDevice[in], contain audioDeviceType and address 195 * @return Returns 0 on success, others on failure. 196 */ 197 int32_t SetAudioDevice(const AudioDevice &audioDevice) override; 198 199 /** 200 * IsRinging 201 * 202 * @brief Whether the ringing 203 * @param enabled[out], true on ringing, false on there is no ringing 204 * @return Returns interface processing results. 205 */ 206 int32_t IsRinging(bool &enabled) override; 207 208 /** 209 * IsInEmergencyCall 210 * 211 * @brief Is there an emergency call 212 * @param enabled[out], true on emergency call, false on no emergency call 213 * @return Returns interface processing results. 214 */ 215 int32_t IsInEmergencyCall(bool &enabled) override; 216 217 /** 218 * StartDtmf 219 * 220 * @brief Enable and send DTMF 221 * @param callId[in], call id 222 * @param str[in], Characters sent 223 * @return Returns 0 on success, others on failure. 224 */ 225 int32_t StartDtmf(int32_t callId, char str) override; 226 227 /** 228 * StopDtmf 229 * 230 * @brief Stop the DTMF 231 * @param callId[in], call id 232 * @return Returns 0 on success, others on failure. 233 */ 234 int32_t StopDtmf(int32_t callId) override; 235 236 int32_t PostDialProceed(int32_t callId, bool proceed) override; 237 238 /** 239 * GetCallWaiting 240 * 241 * @brief Gets whether the call waiting service of the current account is enabled 242 * @param slotId[in], The slot id 243 * @return Returns 0 on success, others on failure. 244 */ 245 int32_t GetCallWaiting(int32_t slotId) override; 246 247 /** 248 * SetCallWaiting 249 * 250 * @brief Set the call waiting function for the current account 251 * @param slotId[in], The slot id 252 * @param activate[in], Activation of switch 253 * @return Returns 0 on success, others on failure. 254 */ 255 int32_t SetCallWaiting(int32_t slotId, bool activate) override; 256 257 /** 258 * GetCallRestriction 259 * 260 * @brief Gets the call restriction information of the specified account 261 * @param slotId[in], The slot id 262 * @param type[in], Call Restriction type 263 * @return Returns 0 on success, others on failure. 264 */ 265 int32_t GetCallRestriction(int32_t slotId, CallRestrictionType type) override; 266 267 /** 268 * SetCallRestriction 269 * 270 * @brief Set the call restriction function for the current account 271 * @param slotId[in], The slot id 272 * @param info[in], Call restriction information 273 * @return Returns 0 on success, others on failure. 274 */ 275 int32_t SetCallRestriction(int32_t slotId, CallRestrictionInfo &info) override; 276 277 /** 278 * SetCallRestrictionPassword 279 * 280 * @brief Set the call restriction password function for the current account 281 * @param slotId[in], The slot id 282 * @param fac[in], Call restriction type 283 * @param oldPassword[in], Old password of call restriction type 284 * @param newPassword[in], New password of call restriction type 285 * @return Returns 0 on success, others on failure. 286 */ 287 int32_t SetCallRestrictionPassword( 288 int32_t slotId, CallRestrictionType fac, const char *oldPassword, const char *newPassword) override; 289 290 /** 291 * GetCallTransferInfo 292 * 293 * @brief Gets the call transfer information of the current account 294 * @param slotId[in], The slot id 295 * @param type[in], Call Transfer Type 296 * @return Returns 0 on success, others on failure. 297 */ 298 int32_t GetCallTransferInfo(int32_t slotId, CallTransferType type) override; 299 300 /** 301 * SetCallTransferInfo 302 * 303 * @brief Set the call transfer function for the current account 304 * @param slotId[in], The slot id 305 * @param info[in], Call Transfer Information 306 * @return Returns 0 on success, others on failure. 307 */ 308 int32_t SetCallTransferInfo(int32_t slotId, CallTransferInfo &info) override; 309 310 /** 311 * CanSetCallTransferTime 312 * 313 * @brief confirm whether IMS can set call transfer time. 314 * @param slotId[in], The slot id 315 * @param result[out], The result of can set or not 316 * @return Returns true on can set, others on can not set. 317 */ 318 int32_t CanSetCallTransferTime(int32_t slotId, bool &result) override; 319 320 /** 321 * CombineConference 322 * 323 * @brief Merge calls to form a conference 324 * @param callId[in], call id 325 * @return Returns 0 on success, others on failure. 326 */ 327 int32_t CombineConference(int32_t mainCallId) override; 328 329 /** 330 * SeparateConference 331 * 332 * @brief Separates a specified call from a conference call 333 * @param callId[in], call id 334 * @return Returns 0 on success, others on failure. 335 */ 336 int32_t SeparateConference(int32_t callId) override; 337 338 /** 339 * KickOutFromConference 340 * 341 * @brief Hangup a specified call from a conference call 342 * @param callId[in], call id 343 * @return Returns 0 on success, others on failure. 344 */ 345 int32_t KickOutFromConference(int32_t callId) override; 346 347 /** 348 * JoinConference 349 * 350 * @brief Bring someone into a meeting 351 * @param callId[in], The call id 352 * @param numberList[in], List of calls to join the conference 353 * @return Returns 0 on success, others on failure. 354 */ 355 int32_t JoinConference(int32_t callId, std::vector<std::u16string> &numberList) override; 356 357 /** 358 * SetCallPreferenceMode 359 * 360 * @brief Setting the Call Type 361 * @param slotId[in], The slot id 362 * @param mode[in], Preference Mode 363 * @return Returns 0 on success, others on failure. 364 */ 365 int32_t SetCallPreferenceMode(int32_t slotId, int32_t mode) override; 366 367 /** 368 * ControlCamera 369 * 370 * @brief Open or close camera 371 * @param callId[in], The call id 372 * @param cameraId[in], The camera id 373 * @return Returns 0 on success, others on failure. 374 */ 375 int32_t ControlCamera(int32_t callId, std::u16string &cameraId) override; 376 377 /** 378 * SetPreviewWindow 379 * 380 * @brief Set the location and size of the preview window for videos captured by the local camera. 381 * @param callId[in], The call id 382 * @param surfaceId[in], Window information 383 * @param surface[in], Window information 384 * @return Returns 0 on success, others on failure. 385 */ 386 int32_t SetPreviewWindow(int32_t callId, std::string &surfaceId, sptr<Surface> surface) override; 387 388 /** 389 * SetDisplayWindow 390 * 391 * @brief Sets the location and size of the remote video window. 392 * @param callId[in], The call id 393 * @param surfaceId[in], Window information 394 * @param surface[in], Window information 395 * @return Returns 0 on success, others on failure. 396 */ 397 int32_t SetDisplayWindow(int32_t callId, std::string &surfaceId, sptr<Surface> surface) override; 398 399 /** 400 * SetCameraZoom 401 * 402 * @brief Sets the local camera zoom scale 403 * @param zoomRatio[in], Camera scale 404 * @return Returns 0 on success, others on failure. 405 */ 406 int32_t SetCameraZoom(float zoomRatio) override; 407 408 /** 409 * SetPausePicture 410 * 411 * @brief APP sets the screen of the remote video freeze immediately. 412 * If the APP does not call this interface when making a video call, 413 * the last frame before the remote video freeze is displayed by default 414 * @param callId[in], The call id 415 * @param path[in], Local Picture address 416 * @return Returns 0 on success, others on failure. 417 */ 418 int32_t SetPausePicture(int32_t callId, std::u16string &path) override; 419 420 /** 421 * SetDeviceDirection 422 * 423 * @brief Set the rotation Angle of the local device. The default value is 0 424 * @param callId[in], The call id 425 * @param rotation[in], Rotation Angle 426 * @return Returns 0 on success, others on failure. 427 */ 428 int32_t SetDeviceDirection(int32_t callId, int32_t rotation) override; 429 430 /** 431 * IsEmergencyPhoneNumber 432 * 433 * @brief Is it an emergency call 434 * @param number[in], Phone number to be formatted 435 * @param slotId[in], The slot id 436 * @param enabled[out] result of is it an emergency call 437 * @return Returns 0 on success, others on failure. 438 */ 439 int32_t IsEmergencyPhoneNumber(std::u16string &number, int32_t slotId, bool &enabled) override; 440 441 /** 442 * FormatPhoneNumber 443 * 444 * @brief Formatting a phone number 445 * @param number[in], Phone number to be formatted 446 * @param countryCode[in], Country code of the phone number 447 * @param formatNumber[out] Formatting a phone number 448 * @return Returns 0 on success, others on failure. 449 */ 450 int32_t FormatPhoneNumber( 451 std::u16string &number, std::u16string &countryCode, std::u16string &formatNumber) override; 452 453 /** 454 * FormatPhoneNumberToE164 455 * 456 * @brief Formatting a phone number 457 * @param number[in]. Phone number to be formatted 458 * @param countryCode[in], Country code of the phone number 459 * @param formatNumber[out] Formatting a phone number 460 * @return Returns 0 on success, others on failure. 461 */ 462 int32_t FormatPhoneNumberToE164( 463 std::u16string &number, std::u16string &countryCode, std::u16string &formatNumber) override; 464 465 /** 466 * GetMainCallId 467 * 468 * @brief Obtain the ID of the primary call in a conference 469 * @param callId[in], Id of a call in a conference 470 * @return Returns main call id, -1 on not call id. 471 */ 472 int32_t GetMainCallId(int32_t callId, int32_t &mainCallId) override; 473 474 /** 475 * GetSubCallIdList 476 * 477 * @brief Obtain the list of neutron call ids 478 * @param callId[in], Id of a call in a conference 479 * @param callIdList[out], the list of neutron call ids 480 * @return Returns 0 on success, others on failure. 481 */ 482 int32_t GetSubCallIdList(int32_t callId, std::vector<std::u16string> &callIdList) override; 483 484 /** 485 * GetCallIdListForConference 486 * 487 * @brief Obtain the callId list of all calls in a conference 488 * @param callId[in], Id of a call in a conference 489 * @param callIdList[out], the callId list of all calls in a conference 490 * @return Returns 0 on success, others on failure. 491 */ 492 int32_t GetCallIdListForConference(int32_t callId, std::vector<std::u16string> &callIdList) override; 493 494 /** 495 * GetImsConfig 496 * 497 * @brief Obtain the IMS service configuration 498 * @param slotId[in], The slot id 499 * @param item[in] 500 * @return Returns 0 on success, others on failure. 501 */ 502 int32_t GetImsConfig(int32_t slotId, ImsConfigItem item) override; 503 504 /** 505 * SetImsConfig 506 * 507 * @brief Example Set the IMS service configuration 508 * @param slotId[in], The slot id 509 * @param item[in] 510 * @return Returns 0 on success, others on failure. 511 */ 512 int32_t SetImsConfig(int32_t slotId, ImsConfigItem item, std::u16string &value) override; 513 514 /** 515 * GetImsFeatureValue 516 * 517 * @brief Gets the value of the IMS function item of the specified network type 518 * @param slotId[in], The slot id 519 * @param info[in], FeatureType 520 * @return Returns 0 on success, others on failure. 521 */ 522 int32_t GetImsFeatureValue(int32_t slotId, FeatureType type) override; 523 524 /** 525 * SetImsFeatureValue 526 * 527 * @brief Set the value of the IMS function item of the specified network type 528 * @param slotId[in], The slot id 529 * @param info[in], FeatureType 530 * @param value[in] 531 * @return Returns 0 on success, others on failure. 532 */ 533 int32_t SetImsFeatureValue(int32_t slotId, FeatureType type, int32_t value) override; 534 535 /** 536 * UpdateImsCallMode 537 * 538 * @brief Setting the Call Mode 539 * @param callId[in], The call id 540 * @param mode[in], Calling patterns 541 * @return Returns 0 on success, others on failure. 542 */ 543 int32_t UpdateImsCallMode(int32_t callId, ImsCallMode mode) override; 544 545 /** 546 * EnableImsSwitch 547 * 548 * @brief Start VoLte 549 * @param slotId[in], The slot id 550 * @return Returns 0 on success, others on failure. 551 */ 552 int32_t EnableImsSwitch(int32_t slotId) override; 553 554 /** 555 * DisableImsSwitch 556 * 557 * @brief Stop VoLte 558 * @param slotId[in], The slot id 559 * @return Returns 0 on success, others on failure. 560 */ 561 int32_t DisableImsSwitch(int32_t slotId) override; 562 563 /** 564 * IsImsSwitchEnabled 565 * 566 * @brief Whether to enable VoLte 567 * @param slotId[in], The slot id 568 * @param enabled[out], The result of enable or not 569 * @return Returns 0 on success, others on failure. 570 */ 571 int32_t IsImsSwitchEnabled(int32_t slotId, bool &enabled) override; 572 573 /** 574 * SetVoNRState 575 * 576 * @brief Set VoNR State 577 * @param slotId[in], The slot id 578 * @param state[in], The state of VoNR 579 * @return Returns 0 on success, others on failure. 580 */ 581 int32_t SetVoNRState(int32_t slotId, int32_t state) override; 582 583 /** 584 * GetVoNRState 585 * 586 * @brief Get VoNR State 587 * @param slotId[in], The slot id 588 * @param state[out], The result of VoNR state ON or OFF 589 * @return Returns 0 on success, others on failure. 590 */ 591 int32_t GetVoNRState(int32_t slotId, int32_t &state) override; 592 593 /** 594 * StartRtt 595 * 596 * @brief Enable and send RTT information 597 * @param callId[in], The call id 598 * @param msg[in], RTT information 599 * @return Returns 0 on success, others on failure. 600 */ 601 int32_t StartRtt(int32_t callId, std::u16string &msg) override; 602 603 /** 604 * StopRtt 605 * 606 * @brief Close the RTT 607 * @param callId[in], The call id 608 * @return Returns 0 on success, others on failure. 609 */ 610 int32_t StopRtt(int32_t callId) override; 611 612 /** 613 * ReportOttCallDetailsInfo 614 * 615 * @brief report ott call details info 616 * @param ottVec[in], ott call status detail info list 617 * @return Returns 0 on success, others on failure. 618 */ 619 int32_t ReportOttCallDetailsInfo(std::vector<OttCallDetailsInfo> &ottVec) override; 620 621 /** 622 * ReportOttCallEventInfo 623 * 624 * @brief report ott call event info 625 * @param eventInfo[in], ott call event detail info 626 * @return Returns 0 on success, others on failure. 627 */ 628 int32_t ReportOttCallEventInfo(OttCallEventInfo &eventInfo) override; 629 630 /** 631 * CloseUnFinishedUssd 632 * 633 * @brief Close Unfinished ussd function for the current account 634 * @param slotId[in], The slot id 635 * @return Returns 0 on success, others on failure. 636 */ 637 int32_t CloseUnFinishedUssd(int32_t slotId) override; 638 639 /** 640 * Handle special code from dialer. 641 * 642 * @param specialCode[in], special code 643 * @return Returns 0 on success, others on failure. 644 */ 645 int32_t InputDialerSpecialCode(const std::string &specialCode) override; 646 647 /** 648 * Remove missed incoming call notification. 649 * 650 * @return Returns 0 on success, others on failure. 651 */ 652 int32_t RemoveMissedIncomingCallNotification() override; 653 654 /** 655 * SetVoIPCallState 656 * 657 * @brief Set VoIP Call State 658 * @param state[in], The state of VoIP Call 659 * @return Returns 0 on success, others on failure. 660 */ 661 int32_t SetVoIPCallState(int32_t state) override; 662 663 /** 664 * GetVoNRState 665 * 666 * @brief Get VoIP Call State 667 * @param state[out], The VoIP Call state 668 * @return Returns 0 on success, others on failure. 669 */ 670 int32_t GetVoIPCallState(int32_t &state) override; 671 672 /** 673 * @brief Set VoIP Call info 674 * 675 * @param callId[in] Indicates the VoIP Call id 676 * @param state[in] Indicates the VoIP Call state 677 * @param phoneNumber[in] Indicates the VoIP Call phone number 678 * @return Returns 0 on success, others on failure. 679 */ 680 int32_t SetVoIPCallInfo(int32_t callId, int32_t state, std::string phoneNumber) override; 681 682 /** 683 * @brief Get VoIP Call Switch Status 684 * 685 * @param callId[out] Indicates the VoIP Call id 686 * @param state[out] Indicates the VoIP Call state 687 * @param phoneNumber[out] Indicates the VoIP Call phone number 688 * @return Returns 0 on success, others on failure. 689 */ 690 int32_t GetVoIPCallInfo(int32_t &callId, int32_t &state, std::string &phoneNumber) override; 691 692 /** 693 * GetProxyObjectPtr 694 * 695 * @brief get callManager proxy object ptr 696 * @param proxyType[in], proxy type 697 * @return Returns nullptr on failure, others on success. 698 */ 699 sptr<IRemoteObject> GetProxyObjectPtr(CallManagerProxyType proxyType) override; 700 701 /** 702 * ReportAudioDeviceInfo 703 * 704 * @brief report audio device info 705 * @return Returns 0 on success, others on failure. 706 */ 707 int32_t ReportAudioDeviceInfo() override; 708 709 /** 710 * CancelCallUpgrade 711 * 712 * @brief cancel upgrade to video call 713 * @param callId[in], The call id 714 * 715 * @return Returns 0 on success, others on failure. 716 */ 717 int32_t CancelCallUpgrade(int32_t callId) override; 718 719 /** 720 * RequestCameraCapabilities 721 * 722 * @brief request camera capabilities 723 * @param callId[in], The call id 724 * 725 * @return Returns 0 on success, others on failure. 726 */ 727 int32_t RequestCameraCapabilities(int32_t callId) override; 728 729 /** 730 * RegisterVoipCallManagerCallback 731 * 732 * @brief notify voip register callstatus call back 733 * @return Returns 0 on success, others on failure. 734 */ 735 int32_t RegisterVoipCallManagerCallback() override; 736 737 /** 738 * @brief notify voip unregister callstatus callback 739 * 740 * @return Returns 0 on success, others on failure. 741 */ 742 int32_t UnRegisterVoipCallManagerCallback() override; 743 744 /** 745 * SendCallUiEvent 746 * 747 * @brief send call ui event 748 * @return Returns 0 on success, others on failure. 749 */ 750 int32_t SendCallUiEvent(int32_t callId, std::string &eventName) override; 751 752 /** 753 * RegisterBluetoothCallManagerCallback 754 * 755 * @brief notify bluetooth register callstatus call back 756 * @return Returns ICallStatusCallback. 757 */ 758 sptr<ICallStatusCallback> RegisterBluetoothCallManagerCallbackPtr(std::string &macAddress) override; 759 760 /** 761 * SendUssdResponse 762 * 763 * @brief send ussd response to modem 764 * @return Returns 0 on success, others on failure. 765 */ 766 int32_t SendUssdResponse(int32_t slotId, const std::string &content) override; 767 768 /** 769 * SetCallPolicyInfo 770 * 771 * @brief set telephony call trust/block list policy 772 * @param isDialingTrustlist[in], dialing policy flag, false is block, true is trust. 773 * @param dialingList[in], dialing trust/block number list. 774 * @param isIncomingTrustlist[in], incoming policy flag, false is block, true is trust. 775 * @param incomingList[in], incoming trust/block number list. 776 * @return Returns 0 on success, others on failure. 777 */ 778 int32_t SetCallPolicyInfo(bool isDialingTrustlist, const std::vector<std::string> &dialingList, 779 bool isIncomingTrustlist, const std::vector<std::string> &incomingList) override; 780 781 private: 782 int32_t SendRequest(CallManagerInterfaceCode code); 783 int32_t SendRequest(CallManagerInterfaceCode code, MessageParcel &dataParcel, MessageParcel &replyParcel); 784 785 private: 786 static inline BrokerDelegator<CallManagerServiceProxy> delegator_; 787 }; 788 } // namespace Telephony 789 } // namespace OHOS 790 791 #endif // CALL_MANAGER_SERVICE_PROXY_H 792