xref: /haiku/src/kits/package/manager/Exceptions.cpp (revision 04a0e9c7b68cbe3a43d38e2bca8e860fd80936fb)
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