]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/error.h
- add a ReadLine method
[apt.git] / apt-pkg / contrib / error.h
index d395004279ab9bb5f2455a5dd37896166c35959c..21c51c1be9d7388b208cb3ea7404f2a3108f65df 100644 (file)
@@ -114,6 +114,15 @@ public:                                                                    /*{{{*/
         */
        bool DebugE(const char *Function,const char *Description,...) __like_printf(3) __cold;
 
+       /** \brief adds an errno message with the given type
+        *
+        * \param type of the error message
+        * \param Function which failed
+        * \param Description of the error
+        */
+       bool InsertErrno(MsgType const &type, const char* Function,
+                        const char* Description,...) __like_printf(4) __cold;
+
        /** \brief add an fatal error message to the list
         *
         *  Most of the stuff we consider as "error" is also "fatal" for
@@ -169,6 +178,13 @@ public:                                                                    /*{{{*/
         */
        bool Debug(const char *Description,...) __like_printf(2) __cold;
 
+       /** \brief adds an error message with the given type
+        *
+        * \param type of the error message
+        * \param Description of the error
+        */
+       bool Insert(MsgType const &type, const char* Description,...) __like_printf(3) __cold;
+
        /** \brief is an error in the list?
         *
         *  \return \b true if an error is included in the list, \b false otherwise
@@ -217,10 +233,22 @@ public:                                                                   /*{{{*/
         *
         *  \param threshold minimum level printed
         */
-       void inline DumpErrors(MsgType const &threshold = WARNING) {
+       void inline DumpErrors(MsgType const &threshold) {
                DumpErrors(std::cerr, threshold);
        }
 
+        // mvo: we do this instead of using a default parameter in the
+        //      previous declaration to avoid a (subtle) API break for
+        //      e.g. sigc++ and mem_fun0
+       /** \brief dumps the messages of type WARNING or higher to std::cerr
+        *
+        *  Note that all messages are discarded, displayed or not.
+        *
+        */
+       void inline DumpErrors() {
+                DumpErrors(WARNING);
+       }
+
        /** \brief put the current Messages into the stack
         *
         *  All "old" messages will be pushed into a stack to
@@ -279,9 +307,10 @@ private:                                                           /*{{{*/
        std::list<MsgStack> Stacks;
 
        bool InsertErrno(MsgType type, const char* Function,
-                        const char* Description, va_list &args);
+                        const char* Description, va_list &args,
+                        int const errsv, size_t &msgSize);
        bool Insert(MsgType type, const char* Description,
-                        va_list &args);
+                        va_list &args, size_t &msgSize);
                                                                        /*}}}*/
 };
                                                                        /*}}}*/