1 /* 2 * Copyright (c) 2021-2024 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 AUDIO_POLICY_MANAGER_STUB_H 17 #define AUDIO_POLICY_MANAGER_STUB_H 18 19 #include "audio_policy_base.h" 20 21 namespace OHOS { 22 namespace AudioStandard { 23 class AudioPolicyManagerStub : public IRemoteStub<IAudioPolicy> { 24 public: 25 virtual int32_t OnRemoteRequest(uint32_t code, MessageParcel &data, 26 MessageParcel &reply, MessageOption &option) override; 27 virtual bool IsArmUsbDevice(const AudioDeviceDescriptor &desc) = 0; 28 virtual void MapExternalToInternalDeviceType(AudioDeviceDescriptor &desc) = 0; 29 30 private: 31 void GetMaxVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 32 void GetMinVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 33 void SetSystemVolumeLevelLegacyInternal(MessageParcel &data, MessageParcel &reply); 34 void SetSystemVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 35 void SetSystemVolumeLevelWithDeviceInternal(MessageParcel &data, MessageParcel &reply); 36 void SetAppVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 37 void SetAppVolumeMutedInternal(MessageParcel &data, MessageParcel &reply); 38 void SetSelfAppVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 39 void GetSystemActiveVolumeTypeInternal(MessageParcel& data, MessageParcel& reply); 40 void GetSystemVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 41 void GetAppVolumeIsMuteInternal(MessageParcel &data, MessageParcel &reply); 42 void GetAppVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 43 void GetSelfAppVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 44 void SetStreamMuteLegacyInternal(MessageParcel &data, MessageParcel &reply); 45 void SetStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 46 void GetStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 47 void IsStreamActiveInternal(MessageParcel &data, MessageParcel &reply); 48 void SetDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 49 void IsDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 50 void GetActiveOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 51 void GetActiveInputDeviceInternal(MessageParcel &data, MessageParcel &reply); 52 void GetOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 53 void GetInputDeviceInternal(MessageParcel &data, MessageParcel &reply); 54 void SetRingerModeLegacyInternal(MessageParcel &data, MessageParcel &reply); 55 void SetRingerModeInternal(MessageParcel &data, MessageParcel &reply); 56 void GetRingerModeInternal(MessageParcel &data, MessageParcel &reply); 57 void SetAudioSceneInternal(MessageParcel &data, MessageParcel &reply); 58 void GetAudioSceneInternal(MessageParcel &data, MessageParcel &reply); 59 void SetMicrophoneMuteInternal(MessageParcel &data, MessageParcel &reply); 60 void SetMicrophoneMuteAudioConfigInternal(MessageParcel &data, MessageParcel &reply); 61 void IsMicrophoneMuteLegacyInternal(MessageParcel &data, MessageParcel &reply); 62 void IsMicrophoneMuteInternal(MessageParcel &data, MessageParcel &reply); 63 void SetInterruptCallbackInternal(MessageParcel &data, MessageParcel &reply); 64 void UnsetInterruptCallbackInternal(MessageParcel &data, MessageParcel &reply); 65 void ActivateInterruptInternal(MessageParcel &data, MessageParcel &reply); 66 void DeactivateInterruptInternal(MessageParcel &data, MessageParcel &reply); 67 void SetAudioManagerInterruptCbInternal(MessageParcel &data, MessageParcel &reply); 68 void UnsetAudioManagerInterruptCbInternal(MessageParcel &data, MessageParcel &reply); 69 void RequestAudioFocusInternal(MessageParcel &data, MessageParcel &reply); 70 void AbandonAudioFocusInternal(MessageParcel &data, MessageParcel &reply); 71 void GetStreamInFocusInternal(MessageParcel &data, MessageParcel &reply); 72 void GetStreamInFocusByUidInternal(MessageParcel &data, MessageParcel &reply); 73 void GetSessionInfoInFocusInternal(MessageParcel &data, MessageParcel &reply); 74 void GetDevicesInternal(MessageParcel &data, MessageParcel &reply); 75 void SelectOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 76 void GetSelectedDeviceInfoInternal(MessageParcel &data, MessageParcel &reply); 77 void SelectInputDeviceInternal(MessageParcel &data, MessageParcel &reply); 78 void ExcludeOutputDevicesInternal(MessageParcel &data, MessageParcel &reply); 79 void UnexcludeOutputDevicesInternal(MessageParcel &data, MessageParcel &reply); 80 void GetExcludedDevicesInternal(MessageParcel &data, MessageParcel &reply); 81 void ReconfigureAudioChannelInternal(MessageParcel &data, MessageParcel &reply); 82 void GetPreferredOutputStreamTypeInternal(MessageParcel &data, MessageParcel &reply); 83 void GetPreferredInputStreamTypeInternal(MessageParcel &data, MessageParcel &reply); 84 void RegisterTrackerInternal(MessageParcel &data, MessageParcel &reply); 85 void UpdateTrackerInternal(MessageParcel &data, MessageParcel &reply); 86 void GetRendererChangeInfosInternal(MessageParcel &data, MessageParcel &reply); 87 void GetCapturerChangeInfosInternal(MessageParcel &data, MessageParcel &reply); 88 void SetLowPowerVolumeInternal(MessageParcel &data, MessageParcel &reply); 89 void GetLowPowerVolumeInternal(MessageParcel &data, MessageParcel &reply); 90 void UpdateStreamStateInternal(MessageParcel& data, MessageParcel& reply); 91 void GetSingleStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 92 void GetVolumeGroupInfoInternal(MessageParcel& data, MessageParcel& reply); 93 void GetNetworkIdByGroupIdInternal(MessageParcel& data, MessageParcel& reply); 94 #ifdef FEATURE_DTMF_TONE 95 void GetToneInfoInternal(MessageParcel &data, MessageParcel &reply); 96 void GetSupportedTonesInternal(MessageParcel &data, MessageParcel &reply); 97 #endif 98 void GetPreferredOutputDeviceDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 99 void GetPreferredInputDeviceDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 100 void SetClientCallbacksEnableInternal(MessageParcel &data, MessageParcel &reply); 101 void SetCallbackRendererInfoInternal(MessageParcel &data, MessageParcel &reply); 102 void SetCallbackCapturerInfoInternal(MessageParcel &data, MessageParcel &reply); 103 void GetAudioFocusInfoListInternal(MessageParcel &data, MessageParcel &reply); 104 void SetSystemSoundUriInternal(MessageParcel &data, MessageParcel &reply); 105 void GetSystemSoundUriInternal(MessageParcel &data, MessageParcel &reply); 106 void GetMinStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 107 void GetMaxStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 108 void GetMaxRendererInstancesInternal(MessageParcel &data, MessageParcel &reply); 109 void IsVolumeUnadjustableInternal(MessageParcel &data, MessageParcel &reply); 110 void AdjustVolumeByStepInternal(MessageParcel &data, MessageParcel &reply); 111 void AdjustSystemVolumeByStepInternal(MessageParcel &data, MessageParcel &reply); 112 void GetSystemVolumeInDbInternal(MessageParcel &data, MessageParcel &reply); 113 void QueryEffectSceneModeInternal(MessageParcel &data, MessageParcel &reply); 114 void GetHardwareOutputSamplingRateInternal(MessageParcel &data, MessageParcel &reply); 115 void GetAudioCapturerMicrophoneDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 116 void GetAvailableMicrophonesInternal(MessageParcel &data, MessageParcel &reply); 117 void SetDeviceAbsVolumeSupportedInternal(MessageParcel &data, MessageParcel &reply); 118 void IsAbsVolumeSceneInternal(MessageParcel &data, MessageParcel &reply); 119 void SetA2dpDeviceVolumeInternal(MessageParcel &data, MessageParcel &reply); 120 void ReadStreamChangeInfo(MessageParcel &data, const AudioMode &mode, AudioStreamChangeInfo &streamChangeInfo); 121 void WriteAudioFocusInfo(MessageParcel &data, 122 const std::pair<AudioInterrupt, AudioFocuState> &focusInfo); 123 void GetAvailableDevicesInternal(MessageParcel &data, MessageParcel &reply); 124 void SetAvailableDeviceChangeCallbackInternal(MessageParcel &data, MessageParcel &reply); 125 void UnsetAvailableDeviceChangeCallbackInternal(MessageParcel &data, MessageParcel &reply); 126 void IsSpatializationEnabledInternal(MessageParcel &data, MessageParcel &reply); 127 void IsSpatializationEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 128 void IsSpatializationEnabledForCurrentDeviceInternal(MessageParcel &data, MessageParcel &reply); 129 void SetSpatializationEnabledInternal(MessageParcel &data, MessageParcel &reply); 130 void SetSpatializationEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 131 void IsHeadTrackingEnabledInternal(MessageParcel &data, MessageParcel &reply); 132 void IsHeadTrackingEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 133 void SetHeadTrackingEnabledInternal(MessageParcel &data, MessageParcel &reply); 134 void SetHeadTrackingEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 135 void GetSpatializationStateInternal(MessageParcel &data, MessageParcel &reply); 136 void IsSpatializationSupportedInternal(MessageParcel &data, MessageParcel &reply); 137 void IsSpatializationSupportedForDeviceInternal(MessageParcel &data, MessageParcel &reply); 138 void IsHeadTrackingSupportedInternal(MessageParcel &data, MessageParcel &reply); 139 void IsHeadTrackingSupportedForDeviceInternal(MessageParcel &data, MessageParcel &reply); 140 void UpdateSpatialDeviceStateInternal(MessageParcel &data, MessageParcel &reply); 141 void RegisterSpatializationStateEventListenerInternal(MessageParcel &data, MessageParcel &reply); 142 void ConfigDistributedRoutingRoleInternal(MessageParcel &data, MessageParcel &reply); 143 void SetDistributedRoutingRoleCallbackInternal(MessageParcel &data, MessageParcel &reply); 144 void UnsetDistributedRoutingRoleCallbackInternal(MessageParcel &data, MessageParcel &reply); 145 void UnregisterSpatializationStateEventListenerInternal(MessageParcel &data, MessageParcel &reply); 146 void RegisterPolicyCallbackClientInternal(MessageParcel &data, MessageParcel &reply); 147 void CreateAudioInterruptZoneInternal(MessageParcel &data, MessageParcel &reply); 148 void AddAudioInterruptZonePidsInternal(MessageParcel &data, MessageParcel &reply); 149 void RemoveAudioInterruptZonePidsInternal(MessageParcel &data, MessageParcel &reply); 150 void ReleaseAudioInterruptZoneInternal(MessageParcel &data, MessageParcel &reply); 151 void SetCallDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 152 void GetConverterConfigInternal(MessageParcel &data, MessageParcel &reply); 153 void GetActiveBluetoothDeviceInternal(MessageParcel &data, MessageParcel &reply); 154 void FetchOutputDeviceForTrackInternal(MessageParcel &data, MessageParcel &reply); 155 void FetchInputDeviceForTrackInternal(MessageParcel &data, MessageParcel &reply); 156 void IsHighResolutionExistInternal(MessageParcel &data, MessageParcel &reply); 157 void SetHighResolutionExistInternal(MessageParcel &data, MessageParcel &reply); 158 void GetSpatializationSceneTypeInternal(MessageParcel &data, MessageParcel &reply); 159 void SetSpatializationSceneTypeInternal(MessageParcel &data, MessageParcel &reply); 160 void GetMaxAmplitudeInternal(MessageParcel &data, MessageParcel &reply); 161 void DisableSafeMediaVolumeInternal(MessageParcel &data, MessageParcel &reply); 162 void IsHeadTrackingDataRequestedInternal(MessageParcel &data, MessageParcel &reply); 163 void SetAudioDeviceRefinerCallbackInternal(MessageParcel &data, MessageParcel &reply); 164 void UnsetAudioDeviceRefinerCallbackInternal(MessageParcel &data, MessageParcel &reply); 165 void TriggerFetchDeviceInternal(MessageParcel &data, MessageParcel &reply); 166 void SetPreferredDeviceInternal(MessageParcel &data, MessageParcel &reply); 167 void SaveRemoteInfoInternal(MessageParcel &data, MessageParcel &reply); 168 void SetAudioDeviceAnahsCallbackInternal(MessageParcel &data, MessageParcel &reply); 169 void UnsetAudioDeviceAnahsCallbackInternal(MessageParcel &data, MessageParcel &reply); 170 void MoveToNewTypeInternal(MessageParcel &data, MessageParcel &reply); 171 void GetDevicesInnerInternal(MessageParcel &data, MessageParcel &reply); 172 void SetConcurrencyCallbackInternal(MessageParcel &data, MessageParcel &reply); 173 void UnsetConcurrencyCallbackInternal(MessageParcel &data, MessageParcel &reply); 174 void ActivateAudioConcurrencyInternal(MessageParcel &data, MessageParcel &reply); 175 void SetRingerStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 176 void SetMicrophoneMutePersistentInternal(MessageParcel &data, MessageParcel &reply); 177 void GetMicrophoneMutePersistentInternal(MessageParcel &data, MessageParcel &reply); 178 void GetSupportedAudioEffectPropertyV3Internal(MessageParcel &data, MessageParcel &reply); 179 void SetAudioEffectPropertyV3Internal(MessageParcel &data, MessageParcel &reply); 180 void GetAudioEffectPropertyV3Internal(MessageParcel &data, MessageParcel &reply); 181 void GetSupportedAudioEnhancePropertyInternal(MessageParcel &data, MessageParcel &reply); 182 void GetSupportedAudioEffectPropertyInternal(MessageParcel &data, MessageParcel &reply); 183 void SetAudioEffectPropertyInternal(MessageParcel &data, MessageParcel &reply); 184 void GetAudioEffectPropertyInternal(MessageParcel &data, MessageParcel &reply); 185 void SetAudioEnhancePropertyInternal(MessageParcel &data, MessageParcel &reply); 186 void GetAudioEnhancePropertyInternal(MessageParcel &data, MessageParcel &reply); 187 void InjectInterruptionInternal(MessageParcel &data, MessageParcel &reply); 188 void ActivateAudioSessionInternal(MessageParcel &data, MessageParcel &reply); 189 void DeactivateAudioSessionInternal(MessageParcel &data, MessageParcel &reply); 190 void IsAudioSessionActivatedInternal(MessageParcel &data, MessageParcel &reply); 191 void LoadSplitModuleInternal(MessageParcel &data, MessageParcel &reply); 192 void IsAllowedPlaybackInternal(MessageParcel &data, MessageParcel &reply); 193 void SetVoiceRingtoneMuteInternal(MessageParcel &data, MessageParcel &reply); 194 void SetQueryClientTypeCallbackInternal(MessageParcel &data, MessageParcel &reply); 195 void SetAudioClientInfoMgrCallbackInternal(MessageParcel &data, MessageParcel &reply); 196 void SetVirtualCallInternal(MessageParcel &data, MessageParcel &reply); 197 void SetDeviceConnectionStatusInternal(MessageParcel &data, MessageParcel &reply); 198 void SetQueryAllowedPlaybackCallbackInternal(MessageParcel &data, MessageParcel &reply); 199 200 void OnMiddleTenRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 201 void OnMiddleNinRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 202 void OnMiddleEigRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 203 void OnMiddleSevRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 204 void OnMiddleSixRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 205 void OnMiddleFifRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 206 void OnMiddleFouRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 207 void OnMiddleTirRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 208 void OnMiddleSecRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 209 void OnMiddleFirRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 210 void OnMiddlesRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 211 void OnMidRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 212 }; 213 } // namespace AudioStandard 214 } // namespace OHOS 215 #endif // AUDIO_POLICY_MANAGER_STUB_H 216