HSAdmin Backend Domains, E-Mail, Datenbanken
Purodha
2013-02-20 4a7e12928010374d76e677c8ec3ea4f5e63e9487
commit | author | age
c64ab5 1 /***************************************************************************
CD 2  *   Copyright (C) 2005 by Christof Donat   *
3  *   cdonat@gmx.de   *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) any later version.                                   *
9  *                                                                         *
10  *   This program is distributed in the hope that it will be useful,       *
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13  *   GNU General Public License for more details.                          *
14  *                                                                         *
15  *   You should have received a copy of the GNU General Public License     *
16  *   along with this program; if not, write to the                         *
17  *   Free Software Foundation, Inc.,                                       *
18  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19  ***************************************************************************/
20
21 #ifndef HSADMIN_LOGGER
22 #define HSADMIN_LOGGER
23
24 #include <string>
25
26 #include <stdarg.h>
27
28 //! a simple logger
29 namespace Logger {
30     extern const int FATAL;
31     extern const int ERROR;
32     extern const int WARNING;
33     extern const int DEBUG;
34     extern const int XML;
35
36     extern int levels[6];
37     extern int level;
38
39     typedef enum {
40         CouldNotOpenFile           = 1001,
41         NoBodyInResponse           = 1002,
42         CantResolveHostname        = 1003,
43         CantOpenSocket             = 1004,
44         CantConnetcToHost          = 1005,
45         ServerErrorCode            = 1006,
46         UnknownCallbackInXMLParser = 1007,
47         ConnectionFailed           = 1008,
48         ErrorWithTicketCommand     = 1009,
49         ErrorReadingTicket         = 1010
50     } message;
51
52     //! change the loglevel - used by VerbosityOption
53     void setLevel(int newlevel);
54     //! increment the loglevel - used by VerbosityOption
55     void incrementLevel();
56     //! decrement theloglevel - used by QuietOption
57     void decrementLevel();
58
59     //! do actualy output loginfo
60     void log(int type, const std::string text);
61
62     //! get a message format string for a defined Message Type; use boost::format to insert Values
63     std::string getMessageFormatString(const message msg);
64     //! get an appropriate Message for an errno.
65     std::string getErrnoMessage(int e);
66 };
67
68 #endif /* HSADMIN_LOGGER */