summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx')
-rw-r--r--portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx45
1 files changed, 45 insertions, 0 deletions
diff --git a/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx b/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
new file mode 100644
index 0000000..37fa766
--- /dev/null
+++ b/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
@@ -0,0 +1,45 @@
+#ifndef INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
+#define INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
+
+// ---------------------------------------------------------------------------------------
+
+#include "portaudiocpp/Stream.hxx"
+
+// ---------------------------------------------------------------------------------------
+
+namespace portaudio
+{
+
+
+
+ //////
+ /// @brief Stream class for blocking read/write-style input and output.
+ //////
+ class BlockingStream : public Stream
+ {
+ public:
+ BlockingStream();
+ BlockingStream(const StreamParameters &parameters);
+ ~BlockingStream();
+
+ void open(const StreamParameters &parameters);
+
+ void read(void *buffer, unsigned long numFrames);
+ void write(const void *buffer, unsigned long numFrames);
+
+ signed long availableReadSize() const;
+ signed long availableWriteSize() const;
+
+ private:
+ BlockingStream(const BlockingStream &); // non-copyable
+ BlockingStream &operator=(const BlockingStream &); // non-copyable
+ };
+
+
+
+} // portaudio
+
+// ---------------------------------------------------------------------------------------
+
+#endif // INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
+