]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/error.h
* cmdline/apt-get.cc
[apt.git] / apt-pkg / contrib / error.h
index 06367592b96501b357cf17417d9ec93cdcac38ca..90747ff7ef0dbc885b2bacaf7c4e35a3a7c300ae 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: error.h,v 1.2 1998/07/07 04:17:11 jgg Exp $
+// $Id: error.h,v 1.8 2001/05/07 05:06:52 jgg Exp $
 /* ######################################################################
    
    Global Erorr Class - Global error mechanism
    
    ##################################################################### */
                                                                        /*}}}*/
-// Header section: pkglib
 #ifndef PKGLIB_ERROR_H
 #define PKGLIB_ERROR_H
 
-#ifdef __GNUG__
-#pragma interface "pkglib/error.h"
-#endif 
+#include <apt-pkg/macros.h>
 
 #include <string>
 
@@ -51,7 +48,7 @@ class GlobalError
 {
    struct Item
    {
-      string Text;
+      std::string Text;
       bool Error;
       Item *Next;
    };
@@ -63,17 +60,18 @@ class GlobalError
    public:
 
    // Call to generate an error from a library call.
-   bool Errno(const char *Function,const char *Description,...);
+   bool Errno(const char *Function,const char *Description,...) __like_printf_2 __cold;
+   bool WarningE(const char *Function,const char *Description,...) __like_printf_2 __cold;
 
    /* A warning should be considered less severe than an error, and may be
       ignored by the client. */
-   bool Error(const char *Description,...);
-   bool Warning(const char *Description,...);
+   bool Error(const char *Description,...) __like_printf_1 __cold;
+   bool Warning(const char *Description,...) __like_printf_1 __cold;
 
    // Simple accessors
    inline bool PendingError() {return PendingFlag;};
    inline bool empty() {return List == 0;};
-   bool PopMessage(string &Text);
+   bool PopMessage(std::string &Text);
    void Discard();
 
    // Usefull routine to dump to cerr
@@ -82,8 +80,8 @@ class GlobalError
    GlobalError();
 };
 
-/* The 'extra-ansi' syntax is used to help with collisions. This is the 
-   single global instance of this class. */
-extern GlobalError *_error;
+// The 'extra-ansi' syntax is used to help with collisions. 
+GlobalError *_GetErrorObj();
+#define _error _GetErrorObj()
 
 #endif