• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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