blob: bd823013ec99db0973f4cb8396de1ed3e1ee3715 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001/* MorgenGrauen MUDlib
2 /sys/errord.h
3 Headerfile fuer den Error-Daemonen
4 Autor: Zesstra
5 $Id: errord.h 9439 2016-01-20 09:48:28Z Zesstra $
6 ggf. Changelog:
7*/
8
9#ifndef __ERRORD_H__
10#define __ERRORD_H__
11
12// Typen
13#define T_RTERROR 1 //Runtime Error / Laufzeitfehler
14#define T_RTWARN 2 //Runtime Warning / Laufzeitwarnung
15#define T_CTERROR 4 //Compiletime Error / Fehler beim Uebersetzen
16#define T_CTWARN 8 //Compiletime Warning / Warnung beim Uebersetzen
17#define T_REPORTED_ERR 16 // von Spielern gemeldete Bugs
18#define T_REPORTED_TYPO 32 // von Spielern gemeldete Typos
19#define T_REPORTED_IDEA 64 // von Spielern gemeldete Ideen
20#define T_REPORTED_MD 128 // von Spielern gemeldete fehlende Details
21#define ALL_ERR_TYPES ({T_RTERROR, T_RTWARN, T_CTERROR, T_CTWARN, \
22 T_REPORTED_ERR, T_REPORTED_TYPO, T_REPORTED_IDEA, \
23 T_REPORTED_MD })
24
25// Status
26#define STAT_DELETED 0x1
27#define STAT_LOCKED 0x2
28#define STAT_RESOLVED 0x4
29
30// Achtung: viele Keys koennen nicht vorhanden oder Werte 0 sein!
31#define F_ID "id" //int: (row) ID in der DB
32#define F_TYPE "type" //int: Typ-Werte, s.o.
33#define F_HASHKEY "hashkey" //string: Hashkey des Fehlers
34#define F_UID "uid" //string: "UID des Fehlers"
35#define F_STATE "state" //int: Status-Werte, s.o.
36#define F_MODSTAMP "mtime" //int
37#define F_CREATESTAMP "ctime" //int
38#define F_READSTAMP "atime" //int
39#define F_PROG "prog" //string == Bluename, falls kein replace_program()
40#define F_OBJ "obj" //string
41#define F_LOADNAME "loadname" //string == Bluename, falls kein rename_object()
42#define F_LINE "loc" //int
43#define F_MSG "message" //string
44#define F_HB_OBJ "hbobj" //string
45#define F_CAUGHT "caught" //int
46#define F_TITP "titp" //string
47#define F_STACK "stack" //Array von mixed (mixed)
48#define F_CLI "command" //string (Spielereingabe)
49#define F_VERB "verb" //string (Kommandoverb)
50#define F_COUNT "count" //int
51#define F_TIENV "tienv" //string, object_name() vom Env von TI/TP
52#define F_LOCK "locked" //mixed (Array von 2 Elementen)
53#define F_RESOLVER "resolver" //string (wer hat gefixt?)
54#define F_NOTES "notes" //Bemerkungen, Array von 3-elementigen Arrays
55
56// Prop, welche in /players/ das Loggen von Fehlern im errord unterbindet.
57#define P_DONT_LOG_ERRORS "p_lib_errord_dont_log"
58
59#ifdef __NEED_IMPLEMENTATION__
60
61#ifdef DEBUG
62#undef DEBUG
63#endif
64//#define DEBUG(x)
65#define DEBUG(x) if (funcall(symbol_function('find_player),"zesstra"))\
66 tell_object(funcall(symbol_function('find_player),"zesstra"),\
67 "EDBG: "+x+"\n")
68
69//Wer pflegt das Ding hier gerade?
70#define MAINTAINER ({"zesstra"})
71
72//Stanard-Expire
73#define STDEXPIRE 2678400 //31 Tage
74
75//Blacklist fuer Files, die nicht erfasst werden sollen (nur
76//Uebersetzungsprobleme momentan)
77#define BLACKLIST ({".tool.lpc",".xtool.h"})
78
79//Zugriffsarten
80#define M_READ 1
81#define M_WRITE 2 // actually: append-only
82#define M_FIX 4
83#define M_REASSIGN 8
84#define M_DELETE 16
85
86// Changelog
87#define CHANGELOG "/log/CHANGELOG"
88
89// Log
90//#define MAILLOG "sent.log"
91
92// Standardmailtext: TODO
93//#define STANDARDTEXT HOME("mailtext.txt")
94
95#define STANDARDMAILTEXT "Huhu lieber Mitmagier,\n\n" \
96 "der unten angegebene Fehler in einem Objekt, fuer welches Du " \
97 "(als programmierender Magier oder RM) zustaendig bist, wurde soeben " \
98 "von %s als gefixt markiert. Bitte beachte ggf. die unten angebenen " \
99 "Bemerkungen zum Fix.\n\n--- Fehler-Daten ---\n"
100
101#define STANDARDMAILTEXT_ERRORHINT "Huhu %s,\n\n" \
102 "ein von Dir abgesetzter Fehler (s.u.) wurde von %s bearbeitet und als " \
103 "erledigt markiert. Bei Fragen wende Dich Dich bitte an den " \
104 "bearbeitenden Magier.\n" \
105 "Vielen Dank fuer Deine Mithilfe!\n\n" \
106 "--- Fehler-Daten ---\n"
107
108
109#endif // __NEED_IMPLEMENTATION__
110
111#endif // __ERRORD_H__
112