cannam@140: #ifndef INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX cannam@140: #define INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX cannam@140: cannam@140: // --------------------------------------------------------------------------------------- cannam@140: cannam@140: #include "portaudio.h" cannam@140: cannam@140: #include "portaudiocpp/CallbackStream.hxx" cannam@140: cannam@140: // --------------------------------------------------------------------------------------- cannam@140: cannam@140: // Forward declaration(s) cannam@140: namespace portaudio cannam@140: { cannam@140: class StreamParameters; cannam@140: class CallbackInterface; cannam@140: } cannam@140: cannam@140: // --------------------------------------------------------------------------------------- cannam@140: cannam@140: // Declaration(s): cannam@140: namespace portaudio cannam@140: { cannam@140: cannam@140: cannam@140: ////// cannam@140: /// @brief Callback stream using an instance of an object that's derived from the CallbackInterface cannam@140: /// interface. cannam@140: ////// cannam@140: class InterfaceCallbackStream : public CallbackStream cannam@140: { cannam@140: public: cannam@140: InterfaceCallbackStream(); cannam@140: InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance); cannam@140: ~InterfaceCallbackStream(); cannam@140: cannam@140: void open(const StreamParameters ¶meters, CallbackInterface &instance); cannam@140: cannam@140: private: cannam@140: InterfaceCallbackStream(const InterfaceCallbackStream &); // non-copyable cannam@140: InterfaceCallbackStream &operator=(const InterfaceCallbackStream &); // non-copyable cannam@140: }; cannam@140: cannam@140: cannam@140: } // portaudio cannam@140: cannam@140: // --------------------------------------------------------------------------------------- cannam@140: cannam@140: #endif // INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX