XmlNodes are now always closed
Remove the close() method and closed attribute. Remove all the calls to close(). (Save one bool per XmlNode, yay, and save a few ifs and some useless function calls. At best it should be unnoticeably faster and lighter and save a few keystrokes in the future)
This commit is contained in:
@@ -10,18 +10,15 @@ void DisconnectUserStep1(XmppComponent* xmpp_component, AdhocSession&, XmlNode&
|
||||
x["type"] = "form";
|
||||
XmlNode title("title");
|
||||
title.set_inner("Disconnect a user from the gateway");
|
||||
title.close();
|
||||
x.add_child(std::move(title));
|
||||
XmlNode instructions("instructions");
|
||||
instructions.set_inner("Choose a user JID and a quit message");
|
||||
instructions.close();
|
||||
x.add_child(std::move(instructions));
|
||||
XmlNode jids_field("field");
|
||||
jids_field["var"] = "jids";
|
||||
jids_field["type"] = "list-multi";
|
||||
jids_field["label"] = "The JIDs to disconnect";
|
||||
XmlNode required("required");
|
||||
required.close();
|
||||
jids_field.add_child(std::move(required));
|
||||
for (Bridge* bridge: biboumi_component->get_bridges())
|
||||
{
|
||||
@@ -29,12 +26,9 @@ void DisconnectUserStep1(XmppComponent* xmpp_component, AdhocSession&, XmlNode&
|
||||
option["label"] = bridge->get_jid();
|
||||
XmlNode value("value");
|
||||
value.set_inner(bridge->get_jid());
|
||||
value.close();
|
||||
option.add_child(std::move(value));
|
||||
option.close();
|
||||
jids_field.add_child(std::move(option));
|
||||
}
|
||||
jids_field.close();
|
||||
x.add_child(std::move(jids_field));
|
||||
|
||||
XmlNode message_field("field");
|
||||
@@ -43,11 +37,8 @@ void DisconnectUserStep1(XmppComponent* xmpp_component, AdhocSession&, XmlNode&
|
||||
message_field["label"] = "Quit message";
|
||||
XmlNode message_value("value");
|
||||
message_value.set_inner("Disconnected by admin");
|
||||
message_value.close();
|
||||
message_field.add_child(std::move(message_value));
|
||||
message_field.close();
|
||||
x.add_child(std::move(message_field));
|
||||
x.close();
|
||||
command_node.add_child(std::move(x));
|
||||
}
|
||||
|
||||
@@ -95,7 +86,6 @@ void DisconnectUserStep2(XmppComponent* xmpp_component, AdhocSession& session, X
|
||||
note.set_inner("1 user has been disconnected.");
|
||||
else
|
||||
note.set_inner(std::to_string(num) + " users have been disconnected.");
|
||||
note.close();
|
||||
command_node.add_child(std::move(note));
|
||||
return;
|
||||
}
|
||||
@@ -103,9 +93,7 @@ void DisconnectUserStep2(XmppComponent* xmpp_component, AdhocSession& session, X
|
||||
XmlNode error(ADHOC_NS":error");
|
||||
error["type"] = "modify";
|
||||
XmlNode condition(STANZA_NS":bad-request");
|
||||
condition.close();
|
||||
error.add_child(std::move(condition));
|
||||
error.close();
|
||||
command_node.add_child(std::move(error));
|
||||
session.terminate();
|
||||
}
|
||||
|
||||
@@ -321,7 +321,6 @@ void BiboumiComponent::handle_iq(const Stanza& stanza)
|
||||
else
|
||||
response["type"] = "result";
|
||||
response.add_child(std::move(inner_node));
|
||||
response.close();
|
||||
this->send_stanza(response);
|
||||
stanza_error.disable();
|
||||
}
|
||||
@@ -494,18 +493,14 @@ void BiboumiComponent::send_self_disco_info(const std::string& id, const std::st
|
||||
identity["category"] = "conference";
|
||||
identity["type"] = "irc";
|
||||
identity["name"] = "Biboumi XMPP-IRC gateway";
|
||||
identity.close();
|
||||
query.add_child(std::move(identity));
|
||||
for (const std::string& ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS})
|
||||
{
|
||||
XmlNode feature("feature");
|
||||
feature["var"] = ns;
|
||||
feature.close();
|
||||
query.add_child(std::move(feature));
|
||||
}
|
||||
query.close();
|
||||
iq.add_child(std::move(query));
|
||||
iq.close();
|
||||
this->send_stanza(iq);
|
||||
}
|
||||
|
||||
@@ -519,9 +514,7 @@ void BiboumiComponent::send_iq_version_request(const std::string& from,
|
||||
iq["to"] = jid_to;
|
||||
XmlNode query("query");
|
||||
query["xmlns"] = VERSION_NS;
|
||||
query.close();
|
||||
iq.add_child(std::move(query));
|
||||
iq.close();
|
||||
this->send_stanza(iq);
|
||||
}
|
||||
|
||||
@@ -536,9 +529,7 @@ void BiboumiComponent::send_ping_request(const std::string& from,
|
||||
iq["to"] = jid_to;
|
||||
XmlNode ping("ping");
|
||||
ping["xmlns"] = PING_NS;
|
||||
ping.close();
|
||||
iq.add_child(std::move(ping));
|
||||
iq.close();
|
||||
this->send_stanza(iq);
|
||||
|
||||
auto result_cb = [from, id](Bridge* bridge, const Stanza& stanza)
|
||||
@@ -571,11 +562,8 @@ void BiboumiComponent::send_iq_room_list_result(const std::string& id,
|
||||
{
|
||||
XmlNode item("item");
|
||||
item["jid"] = room.channel + "%" + from + "@" + this->served_hostname;
|
||||
item.close();
|
||||
query.add_child(std::move(item));
|
||||
}
|
||||
query.close();
|
||||
iq.add_child(std::move(query));
|
||||
iq.close();
|
||||
this->send_stanza(iq);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user