cannam@124: #ifndef INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX cannam@124: #define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX cannam@124: cannam@124: // --------------------------------------------------------------------------------------- cannam@124: cannam@124: #include "portaudio.h" cannam@124: cannam@124: #include "portaudiocpp/CallbackStream.hxx" cannam@124: cannam@124: // --------------------------------------------------------------------------------------- cannam@124: cannam@124: // Forward declaration(s) cannam@124: namespace portaudio cannam@124: { cannam@124: class StreamParameters; cannam@124: } cannam@124: cannam@124: // --------------------------------------------------------------------------------------- cannam@124: cannam@124: // Declaration(s): cannam@124: namespace portaudio cannam@124: { cannam@124: // ----------------------------------------------------------------------------------- cannam@124: cannam@124: ////// cannam@124: /// @brief Callback stream using a free function with C linkage. It's important that the function cannam@124: /// the passed function pointer points to is declared ``extern "C"''. cannam@124: ////// cannam@124: class CFunCallbackStream : public CallbackStream cannam@124: { cannam@124: public: cannam@124: CFunCallbackStream(); cannam@124: CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData); cannam@124: ~CFunCallbackStream(); cannam@124: cannam@124: void open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData); cannam@124: cannam@124: private: cannam@124: CFunCallbackStream(const CFunCallbackStream &); // non-copyable cannam@124: CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable cannam@124: }; cannam@124: cannam@124: // ----------------------------------------------------------------------------------- cannam@124: } // portaudio cannam@124: cannam@124: // --------------------------------------------------------------------------------------- cannam@124: cannam@124: #endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX cannam@124: