mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 18:25:10 +00:00
[WIP/ADD] Try to separate discovery, make links nicer
This commit is contained in:
parent
2e566c73fc
commit
5ddc5d3e5c
15 changed files with 409 additions and 118 deletions
39
src/include/MUCServ.h
Normal file
39
src/include/MUCServ.h
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#ifndef PARSEE_MUCSERV_H
|
||||
#define PARSEE_MUCSERV_H
|
||||
|
||||
/*-* An easy interface for handling MUCs.
|
||||
*/
|
||||
|
||||
typedef struct MUCServer MUCServer;
|
||||
|
||||
#include <Parsee.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
/** Creates a MUC server handle given a ParseeData handle.
|
||||
* This handle shall be used for all MUC-related operations.
|
||||
* ----------------------------------------------------------
|
||||
* Returns: a MUC server handle[HEAP] | NULL
|
||||
* Thrasher: FreeMUCServer
|
||||
* See-Also: https://xmpp.org/extensions/xep-0045.html */
|
||||
extern MUCServer * CreateMUCServer(ParseeData *data);
|
||||
|
||||
/** Manages a stanza from a MUC, and returns true if the stanza
|
||||
* was actually processed by the MUC server.
|
||||
* -------------------------------------------------------------
|
||||
* See-Also: CreateMUCServer */
|
||||
extern bool ManageMUCStanza(MUCServer *serv, XMLElement *stanza);
|
||||
|
||||
/** Checks if a MUC(from its localpart, so
|
||||
* <code>'#foobar@bridge.blow.hole' -> 'foobar'</code>) exists.
|
||||
* --------------
|
||||
* Returns: whenever the MUC exists */
|
||||
extern bool MUCServerExists(MUCServer *serv, char *muc);
|
||||
|
||||
/** Destroys all memory and references from a MUC server handle.
|
||||
* --------------
|
||||
* Thrashes: CreateMUCServer
|
||||
* See-Also: https://xmpp.org/extensions/xep-0045.html */
|
||||
extern void FreeMUCServer(MUCServer *serv);
|
||||
|
||||
#endif
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#define PARSEE_MATRIX_H
|
||||
|
||||
#include <Cytoplasm/Json.h>
|
||||
#include <Cytoplasm/Uri.h>
|
||||
|
||||
#include "FileInfo.h"
|
||||
|
||||
|
|
@ -20,6 +21,12 @@ typedef struct UserID {
|
|||
* Thrasher: Free */
|
||||
extern UserID * MatrixParseID(char *user);
|
||||
|
||||
/** Attempts to parse a Matrix ID from a matrix.to URL.
|
||||
* -------------------------------------------------
|
||||
* Returns: a valid user ID[HEAP] | NULL
|
||||
* Thrasher: Free */
|
||||
extern UserID * MatrixParseIDFromMTO(Uri *uri);
|
||||
|
||||
/* Creates an error message JSON, with the specified code and message. */
|
||||
extern HashMap * MatrixCreateError(char *err, char *msg);
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ typedef struct ParseeData ParseeData;
|
|||
#include <Command.h>
|
||||
#include <XMPP.h>
|
||||
|
||||
#include <MUCServ.h>
|
||||
|
||||
#define PARSEE_VERBOSE_NONE 0
|
||||
#define PARSEE_VERBOSE_LOG 1
|
||||
#define PARSEE_VERBOSE_TIMINGS 2
|
||||
|
|
@ -62,6 +64,7 @@ typedef struct ParseeData {
|
|||
|
||||
HttpServer *server;
|
||||
XMPPComponent *jabber;
|
||||
MUCServer *muc;
|
||||
|
||||
Db *db;
|
||||
char *id;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue