#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::audio_common::{OH_AudioCommon_Result, OH_AudioScene};
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
pub struct OH_AudioManager {
_unused: [u8; 0],
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_AudioManager_OnAudioSceneChangeCallback = ::core::option::Option<
unsafe extern "C" fn(userData: *mut ::core::ffi::c_void, scene: OH_AudioScene),
>;
extern "C" {
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_GetAudioManager(audioManager: *mut *mut OH_AudioManager) -> OH_AudioCommon_Result;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_GetAudioScene(
manager: *mut OH_AudioManager,
scene: *mut OH_AudioScene,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioManager_RegisterAudioSceneChangeCallback(
manager: *mut OH_AudioManager,
callback: OH_AudioManager_OnAudioSceneChangeCallback,
userData: *mut ::core::ffi::c_void,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioManager_UnregisterAudioSceneChangeCallback(
manager: *mut OH_AudioManager,
callback: OH_AudioManager_OnAudioSceneChangeCallback,
) -> OH_AudioCommon_Result;
}