summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonygarnockjones@gmail.com>2010-01-09 00:19:07 +0000
committerTony Garnock-Jones <tonygarnockjones@gmail.com>2010-01-09 00:19:07 +0000
commit4df56e951a2310edf825ec79fb007e16d0f2c2a3 (patch)
treea6eafb2fb5d061d343ccdac5a0af968c5e95c13b
parentfc9a9bbccf1a5ea483ecffd35dd988dffa94362d (diff)
downloadrabbitmq-c-github-ask-4df56e951a2310edf825ec79fb007e16d0f2c2a3.tar.gz
Add amqp_constant_name() and amqp_constant_is_hard_error().
-rw-r--r--librabbitmq/codegen.py21
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,