summaryrefslogtreecommitdiff
path: root/src/rexmpp_jingle.h
diff options
context:
space:
mode:
authordefanor <defanor@uberspace.net>2023-05-23 12:05:13 +0300
committerdefanor <defanor@uberspace.net>2023-05-23 12:05:13 +0300
commit122b13ec955deb718aca280112584b645c9caea0 (patch)
treefdaa1dce84956a33f669605e67df1a587a01fc1d /src/rexmpp_jingle.h
parentae42bb94fd49a450690014b6039a812a251f64cd (diff)
Replace libxml2's xmlNode with a custom XML structure
The new structure (rexmpp_xml) is simpler, and should allow manipulation from Rust without any dependency on libxml2 from the Rust code (while Rust has its own parsers, such as rxml). Alternative XML parsers (e.g., libexpat) now can be used from the C code. The replacement/abstraction is not quite complete yet: the parsing process itself (xmlParseChunk and friends) should be abstracted out.
Diffstat (limited to 'src/rexmpp_jingle.h')
-rw-r--r--src/rexmpp_jingle.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rexmpp_jingle.h b/src/rexmpp_jingle.h
index d3e11eb..eb0a0d3 100644
--- a/src/rexmpp_jingle.h
+++ b/src/rexmpp_jingle.h
@@ -24,7 +24,7 @@
#include "rexmpp.h"
/** @brief Processes incoming Jingle IQs. */
-int rexmpp_jingle_iq (rexmpp_t *s, xmlNodePtr elem);
+int rexmpp_jingle_iq (rexmpp_t *s, rexmpp_xml_t *elem);
/** @brief Destroys Jingle sessions. */
void rexmpp_jingle_stop (rexmpp_t *s);
@@ -45,7 +45,7 @@ rexmpp_jingle_send_file (rexmpp_t *s,
rexmpp_err_t
rexmpp_jingle_session_terminate (rexmpp_t *s,
const char *sid,
- xmlNodePtr reason_node,
+ rexmpp_xml_t *reason_node,
const char *reason_text);
typedef struct rexmpp_jingle_component rexmpp_jingle_component_t;
@@ -79,8 +79,8 @@ struct rexmpp_jingle_component {
struct rexmpp_jingle_session {
char *jid;
char *sid;
- xmlNodePtr initiate;
- xmlNodePtr accept;
+ rexmpp_xml_t *initiate;
+ rexmpp_xml_t *accept;
rexmpp_jingle_session_t *next;
/* Sessions are commonly passed to callbacks by external libraries,
so it's convenient to have the corresponding rexmpp_t accessible