diff options
author | Alan Antonuk <alan.antonuk@gmail.com> | 2014-10-19 13:10:13 -0700 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2014-10-19 13:10:13 -0700 |
commit | 9626dd5cd5f78894f1416a1afd2d624ddd4904ae (patch) | |
tree | 55540078f96ea519c239f5710c2a0b05af5f8218 | |
parent | 2340b039f029f3b8101a164d3bcd547be1106906 (diff) | |
download | rabbitmq-c-declare_xchg_parms.tar.gz |
Enable auto_delete & internal for exchange.declaredeclare_xchg_parms
Enable auto_delete and internal parameters of amqp_exchange_declare() in
codegen. These were once not generated because RabbitMQ did not support these
parameters. The broker now supports these and so should we.
This fixes #218
-rw-r--r-- | examples/amqp_exchange_declare.c | 2 | ||||
-rw-r--r-- | examples/amqps_exchange_declare.c | 2 | ||||
-rw-r--r-- | librabbitmq/amqp_framing.c | 8 | ||||
-rw-r--r-- | librabbitmq/amqp_framing.h | 4 | ||||
-rw-r--r-- | librabbitmq/codegen.py | 1 |
5 files changed, 10 insertions, 7 deletions
diff --git a/examples/amqp_exchange_declare.c b/examples/amqp_exchange_declare.c index 9a20a62..16ebe14 100644 --- a/examples/amqp_exchange_declare.c +++ b/examples/amqp_exchange_declare.c @@ -82,7 +82,7 @@ int main(int argc, char const *const *argv) die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype), - 0, 0, amqp_empty_table); + 0, 0, 0, 0, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange"); die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); diff --git a/examples/amqps_exchange_declare.c b/examples/amqps_exchange_declare.c index 85a29aa..d53fa2e 100644 --- a/examples/amqps_exchange_declare.c +++ b/examples/amqps_exchange_declare.c @@ -99,7 +99,7 @@ int main(int argc, char const *const *argv) die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype), - 0, 0, amqp_empty_table); + 0, 0, 0, 0, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange"); die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); diff --git a/librabbitmq/amqp_framing.c b/librabbitmq/amqp_framing.c index 64c30bb..76fc0cc 100644 --- a/librabbitmq/amqp_framing.c +++ b/librabbitmq/amqp_framing.c @@ -1926,12 +1926,14 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe * @param [in] type type * @param [in] passive passive * @param [in] durable durable + * @param [in] auto_delete auto_delete + * @param [in] internal internal * @param [in] arguments arguments * @returns amqp_exchange_declare_ok_t */ AMQP_PUBLIC_FUNCTION amqp_exchange_declare_ok_t * -AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_table_t arguments) +AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments) { amqp_exchange_declare_t req; req.ticket = 0; @@ -1939,8 +1941,8 @@ AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t ch req.type = type; req.passive = passive; req.durable = durable; - req.auto_delete = 0; - req.internal = 0; + req.auto_delete = auto_delete; + req.internal = internal; req.nowait = 0; req.arguments = arguments; diff --git a/librabbitmq/amqp_framing.h b/librabbitmq/amqp_framing.h index 1179012..e392dcc 100644 --- a/librabbitmq/amqp_framing.h +++ b/librabbitmq/amqp_framing.h @@ -788,12 +788,14 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe * @param [in] type type * @param [in] passive passive * @param [in] durable durable + * @param [in] auto_delete auto_delete + * @param [in] internal internal * @param [in] arguments arguments * @returns amqp_exchange_declare_ok_t */ AMQP_PUBLIC_FUNCTION amqp_exchange_declare_ok_t * -AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_table_t arguments); +AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments); /** * amqp_exchange_delete * diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py index 6611716..510a071 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -225,7 +225,6 @@ apiMethodInfo = { "amqp_channel_open": ["out_of_band"], "amqp_channel_close": False, # needs special handling "amqp_access_request": False, # huh? - "amqp_exchange_declare": ["auto_delete", "internal"], "amqp_basic_get": False, # get-ok has content } |