From f75957ab6baef8907c8421f44f785956fbf48038 Mon Sep 17 00:00:00 2001 From: "Bala.FA" Date: Fri, 10 May 2013 12:30:17 +0530 Subject: log: error code generation support error code and message are generated at compile time by reading a json file which contains information of elements for each error code. This framework provides error handling and ability to do more cleaner log messages to users. error-codes.json file contains error description is below format { "ERR_NAME": {"code": ERR_NUM, "message": {"LOCALE": "ERR_MESSAGE"}} } At compile time autogen.sh calls gen-headers.py which produces C header file libglusterfs/src/gf-error-codes.h. This header has a function const char *_gf_get_message (int code); which returns respective ERR_MESSAGE for given ERR_NUM. Change-Id: Ieefbf4c470e19a0175c28942e56cec98a3c94ff0 BUG: 928648 Signed-off-by: Bala.FA Reviewed-on: http://review.gluster.org/4977 Reviewed-by: Niels de Vos Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- gf-error-codes.h.template | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gf-error-codes.h.template (limited to 'gf-error-codes.h.template') diff --git a/gf-error-codes.h.template b/gf-error-codes.h.template new file mode 100644 index 000000000..ab6020d64 --- /dev/null +++ b/gf-error-codes.h.template @@ -0,0 +1,33 @@ +/***************************************************************/ +/** **/ +/** DO NOT EDIT THIS FILE **/ +/** THIS IS AUTO-GENERATED FROM LOG BOOK **/ +/** YOUR CHANGES WILL BE LOST IN NEXT BUILD **/ +/** **/ +/***************************************************************/ + +#ifndef _GF_ERROR_CODES_H +#define _GF_ERROR_CODES_H + +#include + +#define _(STRING) gettext(STRING) + + +/** START: ERROR CODE DEFINITIONS **/ +$DEFINES +/** END: ERROR CODE DEFINITIONS **/ + + +/** START: FUNCTION RETURNS MESSAGE OF GIVEN ERROR CODE **/ +const char * +_gf_get_message (int code) { + switch (code) { +$CASES + default: return NULL; + } +} +/** END: FUNCTION RETURNS MESSAGE OF GIVEN ERROR CODE **/ + + +#endif -- cgit