diff options
author | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-01-09 00:19:07 +0000 |
---|---|---|
committer | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-01-09 00:19:07 +0000 |
commit | 4df56e951a2310edf825ec79fb007e16d0f2c2a3 (patch) | |
tree | a6eafb2fb5d061d343ccdac5a0af968c5e95c13b | |
parent | fc9a9bbccf1a5ea483ecffd35dd988dffa94362d (diff) | |
download | rabbitmq-c-github-ask-4df56e951a2310edf825ec79fb007e16d0f2c2a3.tar.gz |
Add amqp_constant_name() and amqp_constant_is_hard_error().
-rw-r--r-- | librabbitmq/codegen.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py index 2775bb2..2c8012c 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -244,6 +244,25 @@ def genErl(spec): 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) {""" for m in methods: genLookupMethodName(m) @@ -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, |