mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-23 12:48:40 -05:00
39f88b793d
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@249 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
124 lines
3.0 KiB
C++
124 lines
3.0 KiB
C++
#include "portaudiocpp/Exception.hxx"
|
|
|
|
namespace portaudio
|
|
{
|
|
// -----------------------------------------------------------------------------------
|
|
// PaException:
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
//////
|
|
/// Wraps a PortAudio error into a PortAudioCpp PaException.
|
|
//////
|
|
PaException::PaException(PaError error) : error_(error)
|
|
{
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
//////
|
|
/// Alias for paErrorText(), to have std::exception compliance.
|
|
//////
|
|
const char *PaException::what() const throw()
|
|
{
|
|
return paErrorText();
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
//////
|
|
/// Returns the PortAudio error code (PaError).
|
|
//////
|
|
PaError PaException::paError() const
|
|
{
|
|
return error_;
|
|
}
|
|
|
|
//////
|
|
/// Returns the error as a (zero-terminated) text string.
|
|
//////
|
|
const char *PaException::paErrorText() const
|
|
{
|
|
return Pa_GetErrorText(error_);
|
|
}
|
|
|
|
//////
|
|
/// Returns true is the error is a HostApi error.
|
|
//////
|
|
bool PaException::isHostApiError() const
|
|
{
|
|
return (error_ == paUnanticipatedHostError);
|
|
}
|
|
|
|
//////
|
|
/// Returns the last HostApi error (which is the current one if
|
|
/// isHostApiError() returns true) as an error code.
|
|
//////
|
|
long PaException::lastHostApiError() const
|
|
{
|
|
return Pa_GetLastHostErrorInfo()->errorCode;
|
|
}
|
|
|
|
//////
|
|
/// Returns the last HostApi error (which is the current one if
|
|
/// isHostApiError() returns true) as a (zero-terminated) text
|
|
/// string, if it's available.
|
|
//////
|
|
const char *PaException::lastHostApiErrorText() const
|
|
{
|
|
return Pa_GetLastHostErrorInfo()->errorText;
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
bool PaException::operator==(const PaException &rhs) const
|
|
{
|
|
return (error_ == rhs.error_);
|
|
}
|
|
|
|
bool PaException::operator!=(const PaException &rhs) const
|
|
{
|
|
return !(*this == rhs);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
// PaCppException:
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
PaCppException::PaCppException(ExceptionSpecifier specifier) : specifier_(specifier)
|
|
{
|
|
}
|
|
|
|
const char *PaCppException::what() const throw()
|
|
{
|
|
switch (specifier_)
|
|
{
|
|
case UNABLE_TO_ADAPT_DEVICE:
|
|
{
|
|
return "Unable to adapt the given device to the specified host api specific device extension";
|
|
}
|
|
}
|
|
|
|
return "Unknown exception";
|
|
}
|
|
|
|
PaCppException::ExceptionSpecifier PaCppException::specifier() const
|
|
{
|
|
return specifier_;
|
|
}
|
|
|
|
bool PaCppException::operator==(const PaCppException &rhs) const
|
|
{
|
|
return (specifier_ == rhs.specifier_);
|
|
}
|
|
|
|
bool PaCppException::operator!=(const PaCppException &rhs) const
|
|
{
|
|
return !(*this == rhs);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
} // namespace portaudio
|
|
|
|
|