[ADD/WIP] VCard4, slightly more PEPwerk

This commit is contained in:
LDA 2024-07-22 18:02:24 +02:00
commit ee004ca9c0
10 changed files with 313 additions and 32 deletions

View file

@ -32,6 +32,9 @@
IdentitySimple("client", "pc", NAME " v" VERSION " bridge") \
IdentitySimple("component", "generic", "Parsee's component")
typedef struct PEPManager PEPManager;
typedef void (*PEPEvent)(PEPManager *m, XMLElement *stanza, XMLElement *item);
typedef struct XMPPIdentity {
char *category, *type, *lang, *name;
} XMPPIdentity;
@ -46,6 +49,7 @@ typedef struct XMPPThreadInfo {
ParseeData *args;
XMPPComponent *jabber;
XMPPCommandManager *m;
PEPManager *pep_manager;
struct XMPPThread *dispatchers;
size_t available_dispatchers;
@ -80,3 +84,13 @@ bool ServerHasXEP421(ParseeData *data, char *from);
char * ParseeGetBridgedUserI(ParseeData *data, XMLElement *stanza, char *force);
#define ParseeGetBridgedUser(data, stanza) ParseeGetBridgedUserI(data, stanza, NULL)
PEPManager * CreatePEPManager(ParseeData *data, void *cookie);
void * PEPManagerCookie(PEPManager *manager);
void PEPManagerAddEvent(PEPManager *manager, char *node, PEPEvent event);
bool PEPManagerHandle(PEPManager *manager, XMLElement *stanza);
void DestroyPEPManager(PEPManager *manager);
/* PEP callbacks for the handler */
void PEPAvatarEvent(PEPManager *m, XMLElement *stanza, XMLElement *item);
void PEPVCardEvent(PEPManager *m, XMLElement *stanza, XMLElement *item);