[ADD/WIP] Start unifying DMs and MUCs

I really need to dispatch XMPP stanza management.
This commit is contained in:
LDA 2024-07-03 14:40:26 +02:00
commit 5f2c3a9cb8
10 changed files with 570 additions and 87 deletions

View file

@ -9,10 +9,18 @@
void
XMPPSendPlain(XMPPComponent *comp, char *fr, char *to, char *msg, char *type, char *rst, char *rse, char *event_id, char *oob, char *edit)
{
char *ident = StrRandom(32);
XMPPSendPlainID(comp, fr, to, msg, type, rst, rse, event_id, oob, edit, ident);
Free(ident);
}
void
XMPPSendPlainID(XMPPComponent *comp, char *fr, char *to, char *msg, char *type, char *rst, char *rse, char *event_id, char *oob, char *edit, char *ident)
{
XMLElement *message, *body, *data, *parsee;
char *from;
if (!comp || !fr || !to || !msg)
if (!comp || !fr || !to || !msg || !ident)
{
return;
}
@ -23,6 +31,7 @@ XMPPSendPlain(XMPPComponent *comp, char *fr, char *to, char *msg, char *type, ch
XMLAddAttr(message, "from", (from = StrConcat(3, fr, "@", comp->host)));
XMLAddAttr(message, "to", to);
XMLAddAttr(message, "type", type);
XMLAddAttr(message, "id", ident);
body = XMLCreateTag("body");
data = XMLCreateText(oob ? oob : msg);
@ -115,6 +124,8 @@ XMPPSendPlain(XMPPComponent *comp, char *fr, char *to, char *msg, char *type, ch
XMLAddChild(body, data);
XMLEncode(comp->stream, message);
XMLEncode(StreamStdout(), message);
Log(LOG_INFO, "");
StreamFlush(comp->stream);
XMLFreeElement(message);
Free(from);