40 #ifndef PKGLIB_ERROR_H
41 #define PKGLIB_ERROR_H
43 #include <apt-pkg/macros.h>
76 bool FatalE(
const char *Function,
const char *Description,...) __like_printf(3) __cold;
85 bool Errno(const
char *Function,const
char *Description,...) __like_printf(3) __cold;
97 bool WarningE(const
char *Function,const
char *Description,...) __like_printf(3) __cold;
106 bool NoticeE(const
char *Function,const
char *Description,...) __like_printf(3) __cold;
115 bool DebugE(const
char *Function,const
char *Description,...) __like_printf(3) __cold;
124 const
char* Description,...) __like_printf(4) __cold;
139 bool Fatal(const
char *Description,...) __like_printf(2) __cold;
147 bool Error(const
char *Description,...) __like_printf(2) __cold;
158 bool Warning(const
char *Description,...) __like_printf(2) __cold;
171 bool Notice(const
char *Description,...) __like_printf(2) __cold;
179 bool Debug(const
char *Description,...) __like_printf(2) __cold;
186 bool Insert(
MsgType const &type, const
char* Description,...) __like_printf(3) __cold;
227 bool const &mergeStack =
true);
271 return Stacks.size();
281 Item(
char const *Text,
MsgType const &Type) :
282 Text(Text), Type(Type) {};
284 friend std::ostream& operator<< (std::ostream &out, Item i) {
287 case ERROR: out <<
"E";
break;
288 case WARNING: out <<
"W";
break;
289 case NOTICE: out <<
"N";
break;
290 case DEBUG: out <<
"D";
break;
292 return out <<
": " << i.Text;
296 std::list<Item> Messages;
300 std::list<Item>
const Messages;
301 bool const PendingFlag;
303 MsgStack(std::list<Item>
const &Messages,
bool const &Pending) :
304 Messages(Messages), PendingFlag(Pending) {};
307 std::list<MsgStack> Stacks;
310 const char* Description, va_list &args,
311 int const errsv,
size_t &msgSize);
313 va_list &args,
size_t &msgSize);
320 #define _error _GetErrorObj()