// SPDX-License-Identifier: GPL-2.0-or-later WITH Classpath-exception-2.0
// Audiofox, the audio capturer!
// Copyright (c) 2026 foxberries
use Uuid;
use crateAudioCallbackFn;
use crateResult;
use crate;
/// Common internal name for Audiofox. Audiofox is represented as `audiofox` in all internal usages,
/// and as `Audiofox` in sources of documentation.
pub const AUDIOFOX: &str = "audiofox";
/// Implementation contract for Audiofox. To add a new platform to Audiofox, implement this trait.
///
/// A valid implementation of Audiofox does the following:
/// 1. Includes functionality for `start()`, `list()`, and `link()`.
/// 2. Gracefully cleans up its `LinkHandle` and `AudioManager` on drop. Because `stop()` and `unlink()`
/// are merely drop aliases, these are covered by the library wrapper.
/// 3. Adheres to all other project conventions.
///
/// See `manager.rs` in any implementation in the `platform` crate for further guidance.