From 4df56e951a2310edf825ec79fb007e16d0f2c2a3 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 9 Jan 2010 00:19:07 +0000 Subject: Add amqp_constant_name() and amqp_constant_is_hard_error(). --- librabbitmq/codegen.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'librabbitmq/codegen.py') diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py index 2775bb2..2c8012c 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -243,6 +243,25 @@ def genErl(spec): print '#include "amqp_framing.h"' print '#include "amqp_private.h"' + print """ +char const *amqp_constant_name(int constantNumber) { + switch (constantNumber) {""" + for (c,v,cls) in spec.constants: + print " case %s: return \"%s\";" % (cConstantName(c), cConstantName(c)) + print """ default: return "(unknown)"; + } +}""" + + print """ +amqp_boolean_t amqp_constant_is_hard_error(int constantNumber) { + switch (constantNumber) {""" + for (c,v,cls) in spec.constants: + if cls == 'hard-error': + print " case %s: return 1;" % (cConstantName(c),) + print """ default: return 0; + } +}""" + print """ char const *amqp_method_name(amqp_method_number_t methodNumber) { switch (methodNumber) {""" @@ -380,6 +399,8 @@ extern "C" { print print """/* Function prototypes. */ +extern char const *amqp_constant_name(int constantNumber); +extern amqp_boolean_t amqp_constant_is_hard_error(int constantNumber); extern char const *amqp_method_name(amqp_method_number_t methodNumber); extern amqp_boolean_t amqp_method_has_content(amqp_method_number_t methodNumber); extern int amqp_decode_method(amqp_method_number_t methodNumber, -- cgit v1.2.1