* Copyright 2013-2014, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*/
#include <package/manager/Exceptions.h>
#include <stdarg.h>
namespace BPackageKit {
namespace BManager {
namespace BPrivate {
BException::BException()
:
fMessage()
{
}
BException::BException(const BString& message)
:
fMessage(message)
{
}
BFatalErrorException::BFatalErrorException()
:
BException(),
fDetails(),
fError(B_OK),
fCommitTransactionResult(),
fCommitTransactionFailed(false)
{
}
BFatalErrorException::BFatalErrorException(const char* format, ...)
:
BException(),
fDetails(),
fError(B_OK),
fCommitTransactionResult(),
fCommitTransactionFailed(false)
{
va_list args;
va_start(args, format);
fMessage.SetToFormatVarArgs(format, args);
va_end(args);
}
BFatalErrorException::BFatalErrorException(status_t error, const char* format,
...)
:
BException(),
fDetails(),
fError(error),
fCommitTransactionResult(),
fCommitTransactionFailed(false)
{
va_list args;
va_start(args, format);
fMessage.SetToFormatVarArgs(format, args);
va_end(args);
}
BFatalErrorException::BFatalErrorException(
const BCommitTransactionResult& result)
:
BException(),
fDetails(),
fError(B_OK),
fCommitTransactionResult(result),
fCommitTransactionFailed(true)
{
fMessage.SetToFormat("failed to commit transaction: %s",
result.FullErrorMessage().String());
}
BFatalErrorException&
BFatalErrorException::SetDetails(const BString& details)
{
fDetails = details;
return *this;
}
BAbortedByUserException::BAbortedByUserException()
:
BException()
{
}
BNothingToDoException::BNothingToDoException()
:
BException()
{
}
}
}
}