mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 16:55:10 +00:00
[ADD/WIP] Start unifying DMs and MUCs
I really need to dispatch XMPP stanza management.
This commit is contained in:
parent
6b0f08c49e
commit
5f2c3a9cb8
10 changed files with 570 additions and 87 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue