Mercurial > hg > sv-dependency-builds
view src/portaudio_20140130/bindings/cpp/include/portaudiocpp/HostApi.hxx @ 169:223a55898ab9 tip default
Add null config files
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 02 Mar 2020 14:03:47 +0000 |
parents | e3d5853d5918 |
children |
line wrap: on
line source
#ifndef INCLUDED_PORTAUDIO_HOSTAPI_HXX #define INCLUDED_PORTAUDIO_HOSTAPI_HXX // --------------------------------------------------------------------------------------- #include "portaudio.h" #include "portaudiocpp/System.hxx" // --------------------------------------------------------------------------------------- // 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 retreived. ////// 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 }; } // --------------------------------------------------------------------------------------- #endif // INCLUDED_PORTAUDIO_HOSTAPI_HXX