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;
142 const
char* Description, va_list &args,
143 int const errsv,
size_t &msgSize);
158 bool Fatal(const
char *Description,...) __like_printf(2) __cold;
166 bool Error(const
char *Description,...) __like_printf(2) __cold;
177 bool Warning(const
char *Description,...) __like_printf(2) __cold;
190 bool Notice(const
char *Description,...) __like_printf(2) __cold;
198 bool Debug(const
char *Description,...) __like_printf(2) __cold;
205 bool Insert(
MsgType const &type, const
char* Description,...) __like_printf(3) __cold;
221 va_list &args,
size_t &msgSize) __cold;
262 bool const &mergeStack =
true);
306 return Stacks.size();
316 Item(
char const *Text,
MsgType const &Type) :
317 Text(Text), Type(Type) {};
319 friend std::ostream& operator<< (std::ostream &out, Item i) {
322 case ERROR: out <<
"E";
break;
323 case WARNING: out <<
"W";
break;
324 case NOTICE: out <<
"N";
break;
325 case DEBUG: out <<
"D";
break;
327 return out <<
": " << i.Text;
331 std::list<Item> Messages;
335 std::list<Item>
const Messages;
336 bool const PendingFlag;
338 MsgStack(std::list<Item>
const &Messages,
bool const &Pending) :
339 Messages(Messages), PendingFlag(Pending) {};
342 std::list<MsgStack> Stacks;
349 #define _error _GetErrorObj()