summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx')
-rw-r--r--portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx108
1 files changed, 0 insertions, 108 deletions
diff --git a/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx b/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx
deleted file mode 100644
index 02d36b2..0000000
--- a/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef INCLUDED_PORTAUDIO_EXCEPTION_HXX
-#define INCLUDED_PORTAUDIO_EXCEPTION_HXX
-
-// ---------------------------------------------------------------------------------------
-
-#include <exception>
-
-#include "portaudio.h"
-
-// ---------------------------------------------------------------------------------------
-
-namespace portaudio
-{
-
- //////
- /// @brief Base class for all exceptions PortAudioCpp can throw.
- ///
- /// Class is derived from std::exception.
- //////
- class Exception : public std::exception
- {
- public:
- virtual ~Exception() throw() {}
-
- virtual const char *what() const throw() = 0;
- };
-
- // -----------------------------------------------------------------------------------
-
- //////
- /// @brief Wrapper for PortAudio error codes to C++ exceptions.
- ///
- /// It wraps up PortAudio's error handling mechanism using
- /// C++ exceptions and is derived from std::exception for
- /// easy exception handling and to ease integration with
- /// other code.
- ///
- /// To know what exceptions each function may throw, look up
- /// the errors that can occur in the PortAudio documentation
- /// for the equivalent functions.
- ///
- /// Some functions are likely to throw an exception (such as
- /// Stream::open(), etc) and these should always be called in
- /// try{} catch{} blocks and the thrown exceptions should be
- /// handled properly (ie. the application shouldn't just abort,
- /// but merely display a warning dialog to the user or something).
- /// However nearly all functions in PortAudioCpp are capable
- /// of throwing exceptions. When a function like Stream::isStopped()
- /// throws an exception, it's such an exceptional state that it's
- /// not likely that it can be recovered. PaExceptions such as these
- /// can ``safely'' be left to be handled by some outer catch-all-like
- /// mechanism for unrecoverable errors.
- //////
- class PaException : public Exception
- {
- public:
- explicit PaException(PaError error);
-
- const char *what() const throw();
-
- PaError paError() const;
- const char *paErrorText() const;
-
- bool isHostApiError() const; // extended
- long lastHostApiError() const;
- const char *lastHostApiErrorText() const;
-
- bool operator==(const PaException &rhs) const;
- bool operator!=(const PaException &rhs) const;
-
- private:
- PaError error_;
- };
-
- // -----------------------------------------------------------------------------------
-
- //////
- /// @brief Exceptions specific to PortAudioCpp (ie. exceptions which do not have an
- /// equivalent PortAudio error code).
- //////
- class PaCppException : public Exception
- {
- public:
- enum ExceptionSpecifier
- {
- UNABLE_TO_ADAPT_DEVICE
- };
-
- PaCppException(ExceptionSpecifier specifier);
-
- const char *what() const throw();
-
- ExceptionSpecifier specifier() const;
-
- bool operator==(const PaCppException &rhs) const;
- bool operator!=(const PaCppException &rhs) const;
-
- private:
- ExceptionSpecifier specifier_;
- };
-
-
-} // namespace portaudio
-
-// ---------------------------------------------------------------------------------------
-
-#endif // INCLUDED_PORTAUDIO_EXCEPTION_HXX
-