1 /* 2 * Copyright 2013, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 7 #include <package/manager/Exceptions.h> 8 9 #include <stdarg.h> 10 11 12 namespace BPackageKit { 13 14 namespace BManager { 15 16 namespace BPrivate { 17 18 19 // #pragma mark - BException 20 21 22 BException::BException() 23 : 24 fMessage() 25 { 26 } 27 28 29 BException::BException(const BString& message) 30 : 31 fMessage(message) 32 { 33 } 34 35 36 // #pragma mark - BFatalErrorException 37 38 39 BFatalErrorException::BFatalErrorException() 40 : 41 BException(), 42 fDetails(), 43 fError(B_OK) 44 { 45 } 46 47 48 BFatalErrorException::BFatalErrorException(const char* format, ...) 49 : 50 BException(), 51 fDetails(), 52 fError(B_OK) 53 { 54 va_list args; 55 va_start(args, format); 56 fMessage.SetToFormatVarArgs(format, args); 57 va_end(args); 58 } 59 60 61 BFatalErrorException::BFatalErrorException(status_t error, const char* format, 62 ...) 63 : 64 BException(), 65 fDetails(), 66 fError(error) 67 { 68 va_list args; 69 va_start(args, format); 70 fMessage.SetToFormatVarArgs(format, args); 71 va_end(args); 72 } 73 74 75 BFatalErrorException& 76 BFatalErrorException::SetDetails(const BString& details) 77 { 78 fDetails = details; 79 return *this; 80 } 81 82 83 // #pragma mark - BAbortedByUserException 84 85 86 BAbortedByUserException::BAbortedByUserException() 87 : 88 BException() 89 { 90 } 91 92 93 // #pragma mark - BNothingToDoException 94 95 96 BNothingToDoException::BNothingToDoException() 97 : 98 BException() 99 { 100 } 101 102 103 } // namespace BPrivate 104 105 } // namespace BManager 106 107 } // namespace BPackageKit 108