diff --git a/examples/amqp_exchange_declare.c b/examples/amqp_exchange_declare.c index 9a20a628e..16ebe141f 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 85a29aa76..d53fa2ec7 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 64c30bb4d..76fc0ccba 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 1179012c1..e392dcc37 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 661171637..510a07199 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -225,7 +225,6 @@ def c_ize(s): "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 }