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