annotate src/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx @ 105:c83a7e2af39c

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