Spaces:
Runtime error
Runtime error
// --------------------------------------------------------------------------------------- | |
// --------------------------------------------------------------------------------------- | |
// Forward declaration(s): | |
namespace portaudio | |
{ | |
class Device; | |
} | |
// --------------------------------------------------------------------------------------- | |
// Declaration(s): | |
namespace portaudio | |
{ | |
////// | |
/// @brief HostApi represents a host API (usually type of driver) in the System. | |
/// | |
/// A single System can support multiple HostApi's each one typically having | |
/// a set of Devices using that HostApi (usually driver type). All Devices in | |
/// the HostApi can be enumerated and the default input/output Device for this | |
/// HostApi can be retrieved. | |
////// | |
class HostApi | |
{ | |
public: | |
typedef System::DeviceIterator DeviceIterator; | |
// query info: id, name, numDevices | |
PaHostApiTypeId typeId() const; | |
PaHostApiIndex index() const; | |
const char *name() const; | |
int deviceCount() const; | |
// iterate devices | |
DeviceIterator devicesBegin(); | |
DeviceIterator devicesEnd(); | |
// default devices | |
Device &defaultInputDevice() const; | |
Device &defaultOutputDevice() const; | |
// comparison operators | |
bool operator==(const HostApi &rhs) const; | |
bool operator!=(const HostApi &rhs) const; | |
private: | |
const PaHostApiInfo *info_; | |
Device **devices_; | |
private: | |
friend class System; | |
explicit HostApi(PaHostApiIndex index); | |
~HostApi(); | |
HostApi(const HostApi &); // non-copyable | |
HostApi &operator=(const HostApi &); // non-copyable | |
}; | |
} | |
// --------------------------------------------------------------------------------------- | |