1 #ifndef INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX 2 #define INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX 3 4 // --------------------------------------------------------------------------------------- 5 6 #include "portaudio.h" 7 8 #include "portaudiocpp/CallbackStream.hxx" 9 10 // --------------------------------------------------------------------------------------- 11 12 // Forward declaration(s) 13 namespace portaudio 14 { 15 class StreamParameters; 16 class CallbackInterface; 17 } 18 19 // --------------------------------------------------------------------------------------- 20 21 // Declaration(s): 22 namespace portaudio 23 { 24 25 26 ////// 27 /// @brief Callback stream using an instance of an object that's derived from the CallbackInterface 28 /// interface. 29 ////// 30 class InterfaceCallbackStream : public CallbackStream 31 { 32 public: 33 InterfaceCallbackStream(); 34 InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance); 35 ~InterfaceCallbackStream(); 36 37 void open(const StreamParameters ¶meters, CallbackInterface &instance); 38 39 private: 40 InterfaceCallbackStream(const InterfaceCallbackStream &); // non-copyable 41 InterfaceCallbackStream &operator=(const InterfaceCallbackStream &); // non-copyable 42 }; 43 44 45 } // portaudio 46 47 // --------------------------------------------------------------------------------------- 48 49 #endif // INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX 50