Mercurial > hg > sv-dependency-builds
annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/CFunCallbackStream.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_CFUNCALLBACKSTREAM_HXX |
cannam@124 | 2 #define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX |
cannam@124 | 3 |
cannam@124 | 4 // --------------------------------------------------------------------------------------- |
cannam@124 | 5 |
cannam@124 | 6 #include "portaudio.h" |
cannam@124 | 7 |
cannam@124 | 8 #include "portaudiocpp/CallbackStream.hxx" |
cannam@124 | 9 |
cannam@124 | 10 // --------------------------------------------------------------------------------------- |
cannam@124 | 11 |
cannam@124 | 12 // Forward declaration(s) |
cannam@124 | 13 namespace portaudio |
cannam@124 | 14 { |
cannam@124 | 15 class StreamParameters; |
cannam@124 | 16 } |
cannam@124 | 17 |
cannam@124 | 18 // --------------------------------------------------------------------------------------- |
cannam@124 | 19 |
cannam@124 | 20 // Declaration(s): |
cannam@124 | 21 namespace portaudio |
cannam@124 | 22 { |
cannam@124 | 23 // ----------------------------------------------------------------------------------- |
cannam@124 | 24 |
cannam@124 | 25 ////// |
cannam@124 | 26 /// @brief Callback stream using a free function with C linkage. It's important that the function |
cannam@124 | 27 /// the passed function pointer points to is declared ``extern "C"''. |
cannam@124 | 28 ////// |
cannam@124 | 29 class CFunCallbackStream : public CallbackStream |
cannam@124 | 30 { |
cannam@124 | 31 public: |
cannam@124 | 32 CFunCallbackStream(); |
cannam@124 | 33 CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData); |
cannam@124 | 34 ~CFunCallbackStream(); |
cannam@124 | 35 |
cannam@124 | 36 void open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData); |
cannam@124 | 37 |
cannam@124 | 38 private: |
cannam@124 | 39 CFunCallbackStream(const CFunCallbackStream &); // non-copyable |
cannam@124 | 40 CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable |
cannam@124 | 41 }; |
cannam@124 | 42 |
cannam@124 | 43 // ----------------------------------------------------------------------------------- |
cannam@124 | 44 } // portaudio |
cannam@124 | 45 |
cannam@124 | 46 // --------------------------------------------------------------------------------------- |
cannam@124 | 47 |
cannam@124 | 48 #endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX |
cannam@124 | 49 |