| 302 | } |
| 303 | |
| 304 | mi_response_t *mi_get_size(const mi_params_t *params, |
| 305 | struct mi_handler *async_hdl) |
| 306 | { |
| 307 | mi_response_t *resp; |
| 308 | mi_item_t *resp_obj, *mq_obj; |
| 309 | str mqueue_name; |
| 310 | int mqueue_sz = 0; |
| 311 | |
| 312 | if (get_mi_string_param(params, "name", &mqueue_name.s, &mqueue_name.len) < 0) |
| 313 | return init_mi_param_error(); |
| 314 | |
| 315 | mqueue_sz = _mq_get_csize(&mqueue_name); |
| 316 | if(mqueue_sz < 0) |
| 317 | return init_mi_error(404, MI_SSTR("No such queue")); |
| 318 | |
| 319 | resp = init_mi_result_object(&resp_obj); |
| 320 | if (!resp) |
| 321 | return NULL; |
| 322 | |
| 323 | mq_obj = add_mi_object(resp_obj, MI_SSTR("Queue")); |
| 324 | if (!mq_obj) |
| 325 | goto error; |
| 326 | |
| 327 | if (add_mi_string_fmt(mq_obj, MI_SSTR("name"), mqueue_name.s, mqueue_name.len) < 0) |
| 328 | goto error; |
| 329 | if (add_mi_number(mq_obj, MI_SSTR("size"), mqueue_sz) < 0) |
| 330 | goto error; |
| 331 | |
| 332 | return resp; |
| 333 | |
| 334 | error: |
| 335 | LM_ERR("Unable to create reply\n"); |
| 336 | free_mi_response(resp); |
| 337 | return NULL; |
| 338 | } |
| 339 | |
| 340 | mi_response_t *mi_get_sizes(const mi_params_t *params, |
| 341 | struct mi_handler *async_hdl) |
nothing calls this directly
no test coverage detected