Add support for command config execution

This commit is contained in:
Paul Fariello
2018-06-20 19:30:44 +03:20
parent b11d3a79df
commit 233e076be9
9 changed files with 75 additions and 9 deletions

View File

@@ -2063,6 +2063,31 @@ stanza_create_command_exec_iq(xmpp_ctx_t *ctx, const char *const target,
return iq;
}
xmpp_stanza_t*
stanza_create_command_config_submit_iq(xmpp_ctx_t *ctx, const char *const room,
const char *const node, const char *const sessionid, DataForm *form)
{
char *id = connection_create_stanza_id("commandconf_submit");
xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
free(id);
xmpp_stanza_set_to(iq, room);
xmpp_stanza_t *command = xmpp_stanza_new(ctx);
xmpp_stanza_set_name(command, STANZA_NAME_COMMAND);
xmpp_stanza_set_ns(command, STANZA_NS_COMMAND);
xmpp_stanza_set_attribute(command, "node", node);
xmpp_stanza_set_attribute(command, "sessionid", sessionid);
xmpp_stanza_t *x = form_create_submission(form);
xmpp_stanza_add_child(command, x);
xmpp_stanza_release(x);
xmpp_stanza_add_child(iq, command);
xmpp_stanza_release(command);
return iq;
}
static void
_stanza_add_unique_id(xmpp_stanza_t *stanza, char *prefix)
{