#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
use crate::audio_common::{OH_AudioCommon_Result, OH_AudioRingerMode};
use crate::audiostream_base::OH_AudioStream_Usage;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
pub struct OH_AudioVolumeManager {
_unused: [u8; 0],
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_AudioVolumeManager_OnStreamVolumeChangeCallback = ::core::option::Option<
unsafe extern "C" fn(
userData: *mut ::core::ffi::c_void,
usage: OH_AudioStream_Usage,
volumeLevel: i32,
updateUi: bool,
),
>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_AudioVolumeManager_OnRingerModeChangeCallback = ::core::option::Option<
unsafe extern "C" fn(userData: *mut ::core::ffi::c_void, ringerMode: OH_AudioRingerMode),
>;
extern "C" {
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioManager_GetAudioVolumeManager(
volumeManager: *mut *mut OH_AudioVolumeManager,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_GetMaxVolumeByUsage(
volumeManager: *mut OH_AudioVolumeManager,
usage: OH_AudioStream_Usage,
maxVolumeLevel: *mut i32,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_GetMinVolumeByUsage(
volumeManager: *mut OH_AudioVolumeManager,
usage: OH_AudioStream_Usage,
minVolumeLevel: *mut i32,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_GetVolumeByUsage(
volumeManager: *mut OH_AudioVolumeManager,
usage: OH_AudioStream_Usage,
volumeLevel: *mut i32,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_IsMuteByUsage(
volumeManager: *mut OH_AudioVolumeManager,
usage: OH_AudioStream_Usage,
muted: *mut bool,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_RegisterStreamVolumeChangeCallback(
volumeManager: *mut OH_AudioVolumeManager,
usage: OH_AudioStream_Usage,
callback: OH_AudioVolumeManager_OnStreamVolumeChangeCallback,
userData: *mut ::core::ffi::c_void,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_UnregisterStreamVolumeChangeCallback(
volumeManager: *mut OH_AudioVolumeManager,
callback: OH_AudioVolumeManager_OnStreamVolumeChangeCallback,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_GetRingerMode(
volumeManager: *mut OH_AudioVolumeManager,
ringerMode: *mut OH_AudioRingerMode,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_RegisterRingerModeChangeCallback(
volumeManager: *mut OH_AudioVolumeManager,
callback: OH_AudioVolumeManager_OnRingerModeChangeCallback,
userData: *mut ::core::ffi::c_void,
) -> OH_AudioCommon_Result;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_AudioVolumeManager_UnregisterRingerModeChangeCallback(
volumeManager: *mut OH_AudioVolumeManager,
callback: OH_AudioVolumeManager_OnRingerModeChangeCallback,
) -> OH_AudioCommon_Result;
}