mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 13:45:10 +00:00
[MOD/WIP] Externalise and add errors to commands
Still need forms...
This commit is contained in:
parent
408888ef67
commit
a880769c48
9 changed files with 311 additions and 89 deletions
|
|
@ -32,6 +32,8 @@ struct XMPPCommandManager {
|
|||
HashMap *commands;
|
||||
|
||||
HashMap *sessions;
|
||||
|
||||
void *cookie;
|
||||
};
|
||||
static void
|
||||
XMPPDestroySession(XMPPSession *session)
|
||||
|
|
@ -99,13 +101,14 @@ XMPPRegisterSession(XMPPCommandManager *m, char *p_jid, char *s_jid, char *node)
|
|||
|
||||
|
||||
XMPPCommandManager *
|
||||
XMPPCreateManager(void)
|
||||
XMPPCreateManager(void *cookie)
|
||||
{
|
||||
XMPPCommandManager *ret = Malloc(sizeof(*ret));
|
||||
|
||||
pthread_mutex_init(&ret->lock, NULL);
|
||||
ret->commands = HashMapCreate();
|
||||
ret->sessions = HashMapCreate();
|
||||
ret->cookie = cookie;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -237,7 +240,7 @@ XMPPManageCommand(XMPPCommandManager *m, XMLElement *stanza, ParseeData *data)
|
|||
XMLAddAttr(command_xml, "node", node);
|
||||
XMLAddAttr(command_xml, "status", "completed");
|
||||
XMLAddAttr(command_xml, "sessionid", session_id);
|
||||
XMPPExecuteCommand(m, cmd, command_xml, NULL);
|
||||
XMPPExecuteCommand(m, cmd, from, command_xml, NULL);
|
||||
XMLAddChild(iq, command_xml);
|
||||
|
||||
pthread_mutex_lock(&jabber->write_lock);
|
||||
|
|
@ -258,3 +261,8 @@ end:
|
|||
pthread_mutex_unlock(&m->lock);
|
||||
return good;
|
||||
}
|
||||
void *
|
||||
XMPPGetManagerCookie(XMPPCommandManager *manager)
|
||||
{
|
||||
return manager ? manager->cookie : NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue