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 OHOS_BLUETOOTH_STANDARD_HOST_STUB_H 17 #define OHOS_BLUETOOTH_STANDARD_HOST_STUB_H 18 19 #include <map> 20 21 #include "i_bluetooth_host.h" 22 #include "iremote_stub.h" 23 24 namespace OHOS { 25 namespace Bluetooth { 26 class BluetoothHostStub : public IRemoteStub<IBluetoothHost> { 27 public: 28 BluetoothHostStub(); 29 virtual ~BluetoothHostStub(); 30 31 virtual int OnRemoteRequest( 32 uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; 33 34 private: 35 ErrCode RegisterObserverInner(MessageParcel &data, MessageParcel &reply); 36 ErrCode DeregisterObserverInner(MessageParcel &data, MessageParcel &reply); 37 ErrCode EnableBtInner(MessageParcel &data, MessageParcel &reply); 38 int32_t DisableBtInner(MessageParcel &data, MessageParcel &reply); 39 ErrCode SatelliteControlInner(MessageParcel &data, MessageParcel &reply); 40 ErrCode GetProfileInner(MessageParcel &data, MessageParcel &reply); 41 ErrCode GetBleRemoteInner(MessageParcel &data, MessageParcel &reply); 42 int32_t BluetoothFactoryResetInner(MessageParcel &data, MessageParcel &reply); 43 ErrCode GetBtStateInner(MessageParcel &data, MessageParcel &reply); 44 int32_t GetLocalAddressInner(MessageParcel &data, MessageParcel &reply); 45 int32_t DisableBleInner(MessageParcel &data, MessageParcel &reply); 46 int32_t EnableBleInner(MessageParcel &data, MessageParcel &reply); 47 ErrCode GetProfileListInner(MessageParcel &data, MessageParcel &reply); 48 ErrCode GetMaxNumConnectedAudioDevicesInner(MessageParcel &data, MessageParcel &reply); 49 int32_t GetBtConnectionStateInner(MessageParcel &data, MessageParcel &reply); 50 int32_t GetBtProfileConnStateInner(MessageParcel &data, MessageParcel &reply); 51 ErrCode GetLocalDeviceClassInner(MessageParcel &data, MessageParcel &reply); 52 ErrCode SetLocalDeviceClassInner(MessageParcel &data, MessageParcel &reply); 53 int32_t GetLocalNameInner(MessageParcel &data, MessageParcel &reply); 54 int32_t SetLocalNameInner(MessageParcel &data, MessageParcel &reply); 55 int32_t GetBtScanModeInner(MessageParcel &data, MessageParcel &reply); 56 int32_t SetBtScanModeInner(MessageParcel &data, MessageParcel &reply); 57 ErrCode GetBondableModeInner(MessageParcel &data, MessageParcel &reply); 58 ErrCode SetBondableModeInner(MessageParcel &data, MessageParcel &reply); 59 int32_t StartBtDiscoveryInner(MessageParcel &data, MessageParcel &reply); 60 int32_t CancelBtDiscoveryInner(MessageParcel &data, MessageParcel &reply); 61 ErrCode IsBtDiscoveringInner(MessageParcel &data, MessageParcel &reply); 62 ErrCode GetBtDiscoveryEndMillisInner(MessageParcel &data, MessageParcel &reply); 63 int32_t GetPairedDevicesInner(MessageParcel &data, MessageParcel &reply); 64 int32_t RemovePairInner(MessageParcel &data, MessageParcel &reply); 65 ErrCode RemoveAllPairsInner(MessageParcel &data, MessageParcel &reply); 66 ErrCode RegisterRemoteDeviceObserverInner(MessageParcel &data, MessageParcel &reply); 67 ErrCode DeregisterRemoteDeviceObserverInner(MessageParcel &data, MessageParcel &reply); 68 ErrCode GetBleMaxAdvertisingDataLengthInner(MessageParcel &data, MessageParcel &reply); 69 ErrCode GetDeviceTypeInner(MessageParcel &data, MessageParcel &reply); 70 ErrCode GetPhonebookPermissionInner(MessageParcel &data, MessageParcel &reply); 71 ErrCode SetPhonebookPermissionInner(MessageParcel &data, MessageParcel &reply); 72 ErrCode GetMessagePermissionInner(MessageParcel &data, MessageParcel &reply); 73 ErrCode SetMessagePermissionInner(MessageParcel &data, MessageParcel &reply); 74 ErrCode GetPowerModeInner(MessageParcel &data, MessageParcel &reply); 75 int32_t GetDeviceNameInner(MessageParcel &data, MessageParcel &reply); 76 ErrCode GetDeviceAliasInner(MessageParcel &data, MessageParcel &reply); 77 ErrCode SetDeviceAliasInner(MessageParcel &data, MessageParcel &reply); 78 int32_t GetRemoteDeviceBatteryInfoInner(MessageParcel &data, MessageParcel &reply); 79 ErrCode GetPairStateInner(MessageParcel &data, MessageParcel &reply); 80 int32_t StartPairInner(MessageParcel &data, MessageParcel &reply); 81 ErrCode CancelPairingInner(MessageParcel &data, MessageParcel &reply); 82 ErrCode IsBondedFromLocalInner(MessageParcel &data, MessageParcel &reply); 83 ErrCode IsAclConnectedInner(MessageParcel &data, MessageParcel &reply); 84 ErrCode IsAclEncryptedInner(MessageParcel &data, MessageParcel &reply); 85 int32_t GetDeviceClassInner(MessageParcel &data, MessageParcel &reply); 86 ErrCode SetDevicePinInner(MessageParcel &data, MessageParcel &reply); 87 int32_t SetDevicePairingConfirmationInner(MessageParcel &data, MessageParcel &reply); 88 ErrCode SetDevicePasskeyInner(MessageParcel &data, MessageParcel &reply); 89 ErrCode PairRequestReplyInner(MessageParcel &data, MessageParcel &reply); 90 ErrCode ReadRemoteRssiValueInner(MessageParcel &data, MessageParcel &reply); 91 ErrCode GetLocalSupportedUuidsInner(MessageParcel &data, MessageParcel &reply); 92 ErrCode GetDeviceUuidsInner(MessageParcel &data, MessageParcel &reply); 93 ErrCode GetLocalProfileUuidsInner(MessageParcel &data, MessageParcel &reply); 94 int32_t SetFastScanInner(MessageParcel &data, MessageParcel &reply); 95 ErrCode RegisterBleAdapterObserverInner(MessageParcel &data, MessageParcel &reply); 96 ErrCode DeregisterBleAdapterObserverInner(MessageParcel &data, MessageParcel &reply); 97 ErrCode RegisterBlePeripheralCallbackInner(MessageParcel &data, MessageParcel &reply); 98 ErrCode DeregisterBlePeripheralCallbackInner(MessageParcel &data, MessageParcel &reply); 99 ErrCode GetRandomAddressInner(MessageParcel &data, MessageParcel &reply); 100 ErrCode SyncRandomAddressInner(MessageParcel &data, MessageParcel &reply); 101 ErrCode StartCrediblePairInner(MessageParcel &data, MessageParcel &reply); 102 int32_t ConnectAllowedProfilesInner(MessageParcel &data, MessageParcel &reply); 103 int32_t DisconnectAllowedProfilesInner(MessageParcel &data, MessageParcel &reply); 104 int32_t SetDeviceCustomTypeInner(MessageParcel &data, MessageParcel &reply); 105 int32_t UpdateVirtualDeviceInner(MessageParcel &data, MessageParcel &reply); 106 int32_t IsSupportVirtualAutoConnectInner(MessageParcel &data, MessageParcel &reply); 107 int32_t SetVirtualAutoConnectTypeInner(MessageParcel &data, MessageParcel &reply); 108 int32_t SetFastScanLevelInner(MessageParcel &data, MessageParcel &reply); 109 int32_t RegisterBtResourceManagerObserverInner(MessageParcel &data, MessageParcel &reply); 110 int32_t DeregisterBtResourceManagerObserverInner(MessageParcel &data, MessageParcel &reply); 111 int32_t EnableBluetoothToRestrictModeInner(MessageParcel &data, MessageParcel &reply); 112 113 static const std::map<uint32_t, std::function<ErrCode(BluetoothHostStub *, MessageParcel &, MessageParcel &)>> 114 memberFuncMap_; 115 116 DISALLOW_COPY_AND_MOVE(BluetoothHostStub); 117 }; 118 } // namespace Bluetooth 119 } // namespace OHOS 120 #endif // OHOS_BLUETOOTH_STANDARD_HOST_STUB_H