annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/BlockingStream.hxx @ 124:e3d5853d5918

Current stable PortAudio source
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 18 Oct 2016 13:11:05 +0100
parents
children
rev   line source
cannam@124 1 #ifndef INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
cannam@124 2 #define INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
cannam@124 3
cannam@124 4 // ---------------------------------------------------------------------------------------
cannam@124 5
cannam@124 6 #include "portaudiocpp/Stream.hxx"
cannam@124 7
cannam@124 8 // ---------------------------------------------------------------------------------------
cannam@124 9
cannam@124 10 namespace portaudio
cannam@124 11 {
cannam@124 12
cannam@124 13
cannam@124 14
cannam@124 15 //////
cannam@124 16 /// @brief Stream class for blocking read/write-style input and output.
cannam@124 17 //////
cannam@124 18 class BlockingStream : public Stream
cannam@124 19 {
cannam@124 20 public:
cannam@124 21 BlockingStream();
cannam@124 22 BlockingStream(const StreamParameters &parameters);
cannam@124 23 ~BlockingStream();
cannam@124 24
cannam@124 25 void open(const StreamParameters &parameters);
cannam@124 26
cannam@124 27 void read(void *buffer, unsigned long numFrames);
cannam@124 28 void write(const void *buffer, unsigned long numFrames);
cannam@124 29
cannam@124 30 signed long availableReadSize() const;
cannam@124 31 signed long availableWriteSize() const;
cannam@124 32
cannam@124 33 private:
cannam@124 34 BlockingStream(const BlockingStream &); // non-copyable
cannam@124 35 BlockingStream &operator=(const BlockingStream &); // non-copyable
cannam@124 36 };
cannam@124 37
cannam@124 38
cannam@124 39
cannam@124 40 } // portaudio
cannam@124 41
cannam@124 42 // ---------------------------------------------------------------------------------------
cannam@124 43
cannam@124 44 #endif // INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
cannam@124 45