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 GetProfileInner(MessageParcel &data, MessageParcel &reply); 40 ErrCode GetBleRemoteInner(MessageParcel &data, MessageParcel &reply); 41 int32_t BluetoothFactoryResetInner(MessageParcel &data, MessageParcel &reply); 42 ErrCode GetBtStateInner(MessageParcel &data, MessageParcel &reply); 43 int32_t GetLocalAddressInner(MessageParcel &data, MessageParcel &reply); 44 int32_t DisableBleInner(MessageParcel &data, MessageParcel &reply); 45 int32_t EnableBleInner(MessageParcel &data, MessageParcel &reply); 46 ErrCode IsBrEnabledInner(MessageParcel &data, MessageParcel &reply); 47 ErrCode IsBleEnabledInner(MessageParcel &data, MessageParcel &reply); 48 ErrCode GetProfileListInner(MessageParcel &data, MessageParcel &reply); 49 ErrCode GetMaxNumConnectedAudioDevicesInner(MessageParcel &data, MessageParcel &reply); 50 int32_t GetBtConnectionStateInner(MessageParcel &data, MessageParcel &reply); 51 int32_t GetBtProfileConnStateInner(MessageParcel &data, MessageParcel &reply); 52 ErrCode GetLocalDeviceClassInner(MessageParcel &data, MessageParcel &reply); 53 ErrCode SetLocalDeviceClassInner(MessageParcel &data, MessageParcel &reply); 54 int32_t GetLocalNameInner(MessageParcel &data, MessageParcel &reply); 55 int32_t SetLocalNameInner(MessageParcel &data, MessageParcel &reply); 56 int32_t GetBtScanModeInner(MessageParcel &data, MessageParcel &reply); 57 int32_t SetBtScanModeInner(MessageParcel &data, MessageParcel &reply); 58 ErrCode GetBondableModeInner(MessageParcel &data, MessageParcel &reply); 59 ErrCode SetBondableModeInner(MessageParcel &data, MessageParcel &reply); 60 int32_t StartBtDiscoveryInner(MessageParcel &data, MessageParcel &reply); 61 int32_t CancelBtDiscoveryInner(MessageParcel &data, MessageParcel &reply); 62 ErrCode IsBtDiscoveringInner(MessageParcel &data, MessageParcel &reply); 63 ErrCode GetBtDiscoveryEndMillisInner(MessageParcel &data, MessageParcel &reply); 64 int32_t GetPairedDevicesInner(MessageParcel &data, MessageParcel &reply); 65 int32_t RemovePairInner(MessageParcel &data, MessageParcel &reply); 66 ErrCode RemoveAllPairsInner(MessageParcel &data, MessageParcel &reply); 67 ErrCode RegisterRemoteDeviceObserverInner(MessageParcel &data, MessageParcel &reply); 68 ErrCode DeregisterRemoteDeviceObserverInner(MessageParcel &data, MessageParcel &reply); 69 ErrCode GetBleMaxAdvertisingDataLengthInner(MessageParcel &data, MessageParcel &reply); 70 ErrCode GetDeviceTypeInner(MessageParcel &data, MessageParcel &reply); 71 ErrCode GetPhonebookPermissionInner(MessageParcel &data, MessageParcel &reply); 72 ErrCode SetPhonebookPermissionInner(MessageParcel &data, MessageParcel &reply); 73 ErrCode GetMessagePermissionInner(MessageParcel &data, MessageParcel &reply); 74 ErrCode SetMessagePermissionInner(MessageParcel &data, MessageParcel &reply); 75 ErrCode GetPowerModeInner(MessageParcel &data, MessageParcel &reply); 76 int32_t GetDeviceNameInner(MessageParcel &data, MessageParcel &reply); 77 ErrCode GetDeviceAliasInner(MessageParcel &data, MessageParcel &reply); 78 ErrCode SetDeviceAliasInner(MessageParcel &data, MessageParcel &reply); 79 ErrCode GetDeviceBatteryLevelInner(MessageParcel &data, MessageParcel &reply); 80 ErrCode GetPairStateInner(MessageParcel &data, MessageParcel &reply); 81 int32_t StartPairInner(MessageParcel &data, MessageParcel &reply); 82 ErrCode CancelPairingInner(MessageParcel &data, MessageParcel &reply); 83 ErrCode IsBondedFromLocalInner(MessageParcel &data, MessageParcel &reply); 84 ErrCode IsAclConnectedInner(MessageParcel &data, MessageParcel &reply); 85 ErrCode IsAclEncryptedInner(MessageParcel &data, MessageParcel &reply); 86 int32_t GetDeviceClassInner(MessageParcel &data, MessageParcel &reply); 87 ErrCode SetDevicePinInner(MessageParcel &data, MessageParcel &reply); 88 int32_t SetDevicePairingConfirmationInner(MessageParcel &data, MessageParcel &reply); 89 ErrCode SetDevicePasskeyInner(MessageParcel &data, MessageParcel &reply); 90 ErrCode PairRequestReplyInner(MessageParcel &data, MessageParcel &reply); 91 ErrCode ReadRemoteRssiValueInner(MessageParcel &data, MessageParcel &reply); 92 ErrCode GetLocalSupportedUuidsInner(MessageParcel &data, MessageParcel &reply); 93 ErrCode GetDeviceUuidsInner(MessageParcel &data, MessageParcel &reply); 94 ErrCode GetLocalProfileUuidsInner(MessageParcel &data, MessageParcel &reply); 95 int32_t SetFastScanInner(MessageParcel &data, MessageParcel &reply); 96 ErrCode RegisterBleAdapterObserverInner(MessageParcel &data, MessageParcel &reply); 97 ErrCode DeregisterBleAdapterObserverInner(MessageParcel &data, MessageParcel &reply); 98 ErrCode RegisterBlePeripheralCallbackInner(MessageParcel &data, MessageParcel &reply); 99 ErrCode DeregisterBlePeripheralCallbackInner(MessageParcel &data, MessageParcel &reply); 100 ErrCode GetRandomAddressInner(MessageParcel &data, MessageParcel &reply); 101 ErrCode SyncRandomAddressInner(MessageParcel &data, MessageParcel &reply); 102 ErrCode StartCrediblePairInner(MessageParcel &data, MessageParcel &reply); 103 ErrCode CountEnableTimesInner(MessageParcel &data, MessageParcel &reply); 104 int32_t ConnectAllowedProfilesInner(MessageParcel &data, MessageParcel &reply); 105 int32_t DisconnectAllowedProfilesInner(MessageParcel &data, MessageParcel &reply); 106 107 static const std::map<uint32_t, std::function<ErrCode(BluetoothHostStub *, MessageParcel &, MessageParcel &)>> 108 memberFuncMap_; 109 110 DISALLOW_COPY_AND_MOVE(BluetoothHostStub); 111 }; 112 } // namespace Bluetooth 113 } // namespace OHOS 114 #endif // OHOS_BLUETOOTH_STANDARD_HOST_STUB_H