diff src/portaudio/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx @ 4:e13257ea84a4

Add bzip2, zlib, liblo, portaudio sources
author Chris Cannam
date Wed, 20 Mar 2013 13:59:52 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/portaudio/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx	Wed Mar 20 13:59:52 2013 +0000
@@ -0,0 +1,49 @@
+#ifndef INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
+#define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
+
+// ---------------------------------------------------------------------------------------
+
+#include "portaudio.h"
+
+#include "portaudiocpp/CallbackStream.hxx"
+
+// ---------------------------------------------------------------------------------------
+
+// Forward declaration(s)
+namespace portaudio
+{
+	class StreamParameters;
+}
+
+// ---------------------------------------------------------------------------------------
+
+// Declaration(s):
+namespace portaudio
+{
+	// -----------------------------------------------------------------------------------
+
+	//////
+	/// @brief Callback stream using a free function with C linkage. It's important that the function 
+	/// the passed function pointer points to is declared ``extern "C"''.
+	//////
+	class CFunCallbackStream : public CallbackStream
+	{
+	public:
+		CFunCallbackStream();
+		CFunCallbackStream(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData);
+		~CFunCallbackStream();
+		
+		void open(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData);
+
+	private:
+		CFunCallbackStream(const CFunCallbackStream &); // non-copyable
+		CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable
+	};
+
+	// -----------------------------------------------------------------------------------
+} // portaudio
+
+// ---------------------------------------------------------------------------------------
+
+#endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
+