annotate src/portaudio_20161030/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 59a8758c56b1
children
rev   line source
cannam@140 1 #ifndef INCLUDED_PORTAUDIO_HOSTAPI_HXX
cannam@140 2 #define INCLUDED_PORTAUDIO_HOSTAPI_HXX
cannam@140 3
cannam@140 4 // ---------------------------------------------------------------------------------------
cannam@140 5
cannam@140 6 #include "portaudio.h"
cannam@140 7
cannam@140 8 #include "portaudiocpp/System.hxx"
cannam@140 9
cannam@140 10 // ---------------------------------------------------------------------------------------
cannam@140 11
cannam@140 12 // Forward declaration(s):
cannam@140 13 namespace portaudio
cannam@140 14 {
cannam@140 15 class Device;
cannam@140 16 }
cannam@140 17
cannam@140 18 // ---------------------------------------------------------------------------------------
cannam@140 19
cannam@140 20 // Declaration(s):
cannam@140 21 namespace portaudio
cannam@140 22 {
cannam@140 23
cannam@140 24
cannam@140 25 //////
cannam@140 26 /// @brief HostApi represents a host API (usually type of driver) in the System.
cannam@140 27 ///
cannam@140 28 /// A single System can support multiple HostApi's each one typically having
cannam@140 29 /// a set of Devices using that HostApi (usually driver type). All Devices in
cannam@140 30 /// the HostApi can be enumerated and the default input/output Device for this
cannam@140 31 /// HostApi can be retreived.
cannam@140 32 //////
cannam@140 33 class HostApi
cannam@140 34 {
cannam@140 35 public:
cannam@140 36 typedef System::DeviceIterator DeviceIterator;
cannam@140 37
cannam@140 38 // query info: id, name, numDevices
cannam@140 39 PaHostApiTypeId typeId() const;
cannam@140 40 PaHostApiIndex index() const;
cannam@140 41 const char *name() const;
cannam@140 42 int deviceCount() const;
cannam@140 43
cannam@140 44 // iterate devices
cannam@140 45 DeviceIterator devicesBegin();
cannam@140 46 DeviceIterator devicesEnd();
cannam@140 47
cannam@140 48 // default devices
cannam@140 49 Device &defaultInputDevice() const;
cannam@140 50 Device &defaultOutputDevice() const;
cannam@140 51
cannam@140 52 // comparison operators
cannam@140 53 bool operator==(const HostApi &rhs) const;
cannam@140 54 bool operator!=(const HostApi &rhs) const;
cannam@140 55
cannam@140 56 private:
cannam@140 57 const PaHostApiInfo *info_;
cannam@140 58 Device **devices_;
cannam@140 59
cannam@140 60 private:
cannam@140 61 friend class System;
cannam@140 62
cannam@140 63 explicit HostApi(PaHostApiIndex index);
cannam@140 64 ~HostApi();
cannam@140 65
cannam@140 66 HostApi(const HostApi &); // non-copyable
cannam@140 67 HostApi &operator=(const HostApi &); // non-copyable
cannam@140 68 };
cannam@140 69
cannam@140 70
cannam@140 71 }
cannam@140 72
cannam@140 73 // ---------------------------------------------------------------------------------------
cannam@140 74
cannam@140 75 #endif // INCLUDED_PORTAUDIO_HOSTAPI_HXX
cannam@140 76