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 29 private: 30 void GetMaxVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 31 void GetMinVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 32 void SetSystemVolumeLevelLegacyInternal(MessageParcel &data, MessageParcel &reply); 33 void SetSystemVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 34 void GetSystemActiveVolumeTypeInternal(MessageParcel& data, MessageParcel& reply); 35 void GetSystemVolumeLevelInternal(MessageParcel &data, MessageParcel &reply); 36 void SetStreamMuteLegacyInternal(MessageParcel &data, MessageParcel &reply); 37 void SetStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 38 void GetStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 39 void IsStreamActiveInternal(MessageParcel &data, MessageParcel &reply); 40 void SetDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 41 void IsDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 42 void GetActiveOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 43 void GetActiveInputDeviceInternal(MessageParcel &data, MessageParcel &reply); 44 void SetRingerModeLegacyInternal(MessageParcel &data, MessageParcel &reply); 45 void SetRingerModeInternal(MessageParcel &data, MessageParcel &reply); 46 void GetRingerModeInternal(MessageParcel &data, MessageParcel &reply); 47 void SetAudioSceneInternal(MessageParcel &data, MessageParcel &reply); 48 void GetAudioSceneInternal(MessageParcel &data, MessageParcel &reply); 49 void SetMicrophoneMuteInternal(MessageParcel &data, MessageParcel &reply); 50 void SetMicrophoneMuteAudioConfigInternal(MessageParcel &data, MessageParcel &reply); 51 void IsMicrophoneMuteLegacyInternal(MessageParcel &data, MessageParcel &reply); 52 void IsMicrophoneMuteInternal(MessageParcel &data, MessageParcel &reply); 53 void SetInterruptCallbackInternal(MessageParcel &data, MessageParcel &reply); 54 void UnsetInterruptCallbackInternal(MessageParcel &data, MessageParcel &reply); 55 void ActivateInterruptInternal(MessageParcel &data, MessageParcel &reply); 56 void DeactivateInterruptInternal(MessageParcel &data, MessageParcel &reply); 57 void SetAudioManagerInterruptCbInternal(MessageParcel &data, MessageParcel &reply); 58 void UnsetAudioManagerInterruptCbInternal(MessageParcel &data, MessageParcel &reply); 59 void RequestAudioFocusInternal(MessageParcel &data, MessageParcel &reply); 60 void AbandonAudioFocusInternal(MessageParcel &data, MessageParcel &reply); 61 void GetStreamInFocusInternal(MessageParcel &data, MessageParcel &reply); 62 void GetSessionInfoInFocusInternal(MessageParcel &data, MessageParcel &reply); 63 void GetDevicesInternal(MessageParcel &data, MessageParcel &reply); 64 void NotifyCapturerAddedInternal(MessageParcel &data, MessageParcel &reply); 65 void CheckRecordingCreateInternal(MessageParcel &data, MessageParcel &reply); 66 void SelectOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 67 void GetSelectedDeviceInfoInternal(MessageParcel &data, MessageParcel &reply); 68 void SelectInputDeviceInternal(MessageParcel &data, MessageParcel &reply); 69 void ReconfigureAudioChannelInternal(MessageParcel &data, MessageParcel &reply); 70 void GetAudioLatencyFromXmlInternal(MessageParcel &data, MessageParcel &reply); 71 void GetSinkLatencyFromXmlInternal(MessageParcel &data, MessageParcel &reply); 72 void GetPreferredOutputStreamTypeInternal(MessageParcel &data, MessageParcel &reply); 73 void GetPreferredInputStreamTypeInternal(MessageParcel &data, MessageParcel &reply); 74 void RegisterTrackerInternal(MessageParcel &data, MessageParcel &reply); 75 void UpdateTrackerInternal(MessageParcel &data, MessageParcel &reply); 76 void GetRendererChangeInfosInternal(MessageParcel &data, MessageParcel &reply); 77 void GetCapturerChangeInfosInternal(MessageParcel &data, MessageParcel &reply); 78 void SetLowPowerVolumeInternal(MessageParcel &data, MessageParcel &reply); 79 void GetLowPowerVolumeInternal(MessageParcel &data, MessageParcel &reply); 80 void UpdateStreamStateInternal(MessageParcel& data, MessageParcel& reply); 81 void GetSingleStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 82 void GetVolumeGroupInfoInternal(MessageParcel& data, MessageParcel& reply); 83 void GetNetworkIdByGroupIdInternal(MessageParcel& data, MessageParcel& reply); 84 #ifdef FEATURE_DTMF_TONE 85 void GetToneInfoInternal(MessageParcel &data, MessageParcel &reply); 86 void GetSupportedTonesInternal(MessageParcel &data, MessageParcel &reply); 87 #endif 88 void IsAudioRendererLowLatencySupportedInternal(MessageParcel &data, MessageParcel &reply); 89 void CheckRecordingStateChangeInternal(MessageParcel &data, MessageParcel &reply); 90 void GetPreferredOutputDeviceDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 91 void GetPreferredInputDeviceDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 92 void SetClientCallbacksEnableInternal(MessageParcel &data, MessageParcel &reply); 93 void GetAudioFocusInfoListInternal(MessageParcel &data, MessageParcel &reply); 94 void SetSystemSoundUriInternal(MessageParcel &data, MessageParcel &reply); 95 void GetSystemSoundUriInternal(MessageParcel &data, MessageParcel &reply); 96 void GetMinStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 97 void GetMaxStreamVolumeInternal(MessageParcel &data, MessageParcel &reply); 98 void CheckMaxRendererInstancesInternal(MessageParcel &data, MessageParcel &reply); 99 void IsVolumeUnadjustableInternal(MessageParcel &data, MessageParcel &reply); 100 void AdjustVolumeByStepInternal(MessageParcel &data, MessageParcel &reply); 101 void AdjustSystemVolumeByStepInternal(MessageParcel &data, MessageParcel &reply); 102 void GetSystemVolumeInDbInternal(MessageParcel &data, MessageParcel &reply); 103 void QueryEffectSceneModeInternal(MessageParcel &data, MessageParcel &reply); 104 void SetPlaybackCapturerFilterInfosInternal(MessageParcel &data, MessageParcel &reply); 105 void SetCaptureSilentStateInternal(MessageParcel &data, MessageParcel &reply); 106 void GetHardwareOutputSamplingRateInternal(MessageParcel &data, MessageParcel &reply); 107 void GetAudioCapturerMicrophoneDescriptorsInternal(MessageParcel &data, MessageParcel &reply); 108 void GetAvailableMicrophonesInternal(MessageParcel &data, MessageParcel &reply); 109 void SetDeviceAbsVolumeSupportedInternal(MessageParcel &data, MessageParcel &reply); 110 void IsAbsVolumeSceneInternal(MessageParcel &data, MessageParcel &reply); 111 void IsVgsVolumeSupportedInternal(MessageParcel &data, MessageParcel &reply); 112 void SetA2dpDeviceVolumeInternal(MessageParcel &data, MessageParcel &reply); 113 void ReadStreamChangeInfo(MessageParcel &data, const AudioMode &mode, AudioStreamChangeInfo &streamChangeInfo); 114 void WriteAudioFocusInfo(MessageParcel &data, 115 const std::pair<AudioInterrupt, AudioFocuState> &focusInfo); 116 void GetAvailableDevicesInternal(MessageParcel &data, MessageParcel &reply); 117 void SetAvailableDeviceChangeCallbackInternal(MessageParcel &data, MessageParcel &reply); 118 void UnsetAvailableDeviceChangeCallbackInternal(MessageParcel &data, MessageParcel &reply); 119 void IsSpatializationEnabledInternal(MessageParcel &data, MessageParcel &reply); 120 void IsSpatializationEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 121 void SetSpatializationEnabledInternal(MessageParcel &data, MessageParcel &reply); 122 void SetSpatializationEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 123 void IsHeadTrackingEnabledInternal(MessageParcel &data, MessageParcel &reply); 124 void IsHeadTrackingEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 125 void SetHeadTrackingEnabledInternal(MessageParcel &data, MessageParcel &reply); 126 void SetHeadTrackingEnabledForDeviceInternal(MessageParcel &data, MessageParcel &reply); 127 void GetSpatializationStateInternal(MessageParcel &data, MessageParcel &reply); 128 void IsSpatializationSupportedInternal(MessageParcel &data, MessageParcel &reply); 129 void IsSpatializationSupportedForDeviceInternal(MessageParcel &data, MessageParcel &reply); 130 void IsHeadTrackingSupportedInternal(MessageParcel &data, MessageParcel &reply); 131 void IsHeadTrackingSupportedForDeviceInternal(MessageParcel &data, MessageParcel &reply); 132 void UpdateSpatialDeviceStateInternal(MessageParcel &data, MessageParcel &reply); 133 void RegisterSpatializationStateEventListenerInternal(MessageParcel &data, MessageParcel &reply); 134 void ConfigDistributedRoutingRoleInternal(MessageParcel &data, MessageParcel &reply); 135 void SetDistributedRoutingRoleCallbackInternal(MessageParcel &data, MessageParcel &reply); 136 void UnsetDistributedRoutingRoleCallbackInternal(MessageParcel &data, MessageParcel &reply); 137 void UnregisterSpatializationStateEventListenerInternal(MessageParcel &data, MessageParcel &reply); 138 void RegisterPolicyCallbackClientInternal(MessageParcel &data, MessageParcel &reply); 139 void CreateAudioInterruptZoneInternal(MessageParcel &data, MessageParcel &reply); 140 void AddAudioInterruptZonePidsInternal(MessageParcel &data, MessageParcel &reply); 141 void RemoveAudioInterruptZonePidsInternal(MessageParcel &data, MessageParcel &reply); 142 void ReleaseAudioInterruptZoneInternal(MessageParcel &data, MessageParcel &reply); 143 void SetCallDeviceActiveInternal(MessageParcel &data, MessageParcel &reply); 144 void GetConverterConfigInternal(MessageParcel &data, MessageParcel &reply); 145 void GetActiveBluetoothDeviceInternal(MessageParcel &data, MessageParcel &reply); 146 void FetchOutputDeviceForTrackInternal(MessageParcel &data, MessageParcel &reply); 147 void FetchInputDeviceForTrackInternal(MessageParcel &data, MessageParcel &reply); 148 void IsHighResolutionExistInternal(MessageParcel &data, MessageParcel &reply); 149 void SetHighResolutionExistInternal(MessageParcel &data, MessageParcel &reply); 150 void GetSpatializationSceneTypeInternal(MessageParcel &data, MessageParcel &reply); 151 void SetSpatializationSceneTypeInternal(MessageParcel &data, MessageParcel &reply); 152 void GetMaxAmplitudeInternal(MessageParcel &data, MessageParcel &reply); 153 void DisableSafeMediaVolumeInternal(MessageParcel &data, MessageParcel &reply); 154 void IsHeadTrackingDataRequestedInternal(MessageParcel &data, MessageParcel &reply); 155 void SetAudioDeviceRefinerCallbackInternal(MessageParcel &data, MessageParcel &reply); 156 void UnsetAudioDeviceRefinerCallbackInternal(MessageParcel &data, MessageParcel &reply); 157 void TriggerFetchDeviceInternal(MessageParcel &data, MessageParcel &reply); 158 void SetPreferredDeviceInternal(MessageParcel &data, MessageParcel &reply); 159 void SaveRemoteInfoInternal(MessageParcel &data, MessageParcel &reply); 160 void GetDevicesInnerInternal(MessageParcel &data, MessageParcel &reply); 161 void MoveToNewTypeInternal(MessageParcel &data, MessageParcel &reply); 162 void SetConcurrencyCallbackInternal(MessageParcel &data, MessageParcel &reply); 163 void UnsetConcurrencyCallbackInternal(MessageParcel &data, MessageParcel &reply); 164 void ActivateAudioConcurrencyInternal(MessageParcel &data, MessageParcel &reply); 165 void SetRingerStreamMuteInternal(MessageParcel &data, MessageParcel &reply); 166 void SetMicrophoneMutePersistentInternal(MessageParcel &data, MessageParcel &reply); 167 void GetMicrophoneMutePersistentInternal(MessageParcel &data, MessageParcel &reply); 168 void InjectInterruptionInternal(MessageParcel &data, MessageParcel &reply); 169 void ActivateAudioSessionInternal(MessageParcel &data, MessageParcel &reply); 170 void DeactivateAudioSessionInternal(MessageParcel &data, MessageParcel &reply); 171 void IsAudioSessionActivatedInternal(MessageParcel &data, MessageParcel &reply); 172 void SetDefaultOutputDeviceInternal(MessageParcel &data, MessageParcel &reply); 173 void SetQueryClientTypeCallbackInternal(MessageParcel &data, MessageParcel &reply); 174 void LoadSplitModuleInternal(MessageParcel &data, MessageParcel &reply); 175 void SetVoiceRingtoneMuteInternal(MessageParcel &data, MessageParcel &reply); 176 177 void OnMiddleNinRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 178 void OnMiddleEigRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 179 void OnMiddleSevRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 180 void OnMiddleSixRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 181 void OnMiddleFifRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 182 void OnMiddleFouRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 183 void OnMiddleTirRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 184 void OnMiddleSecRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 185 void OnMiddleFirRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 186 void OnMiddlesRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option); 187 }; 188 } // namespace AudioStandard 189 } // namespace OHOS 190 #endif // AUDIO_POLICY_MANAGER_STUB_H 191