--- a/libpurple/protocols/jabber/caps.h Wed Oct 05 02:13:21 2022 -0500 +++ b/libpurple/protocols/jabber/caps.h Wed Oct 05 02:15:13 2022 -0500 @@ -30,8 +30,6 @@ /* Implementation of XEP-0115 - Entity Capabilities */ -typedef struct _JabberCapsNodeExts JabberCapsNodeExts; - typedef struct { const char *node; const char *ver; @@ -42,52 +40,24 @@ GList *identities; /* JabberIdentity */ GList *features; /* char * */ GList *forms; /* PurpleXmlNode * */ - JabberCapsNodeExts *exts; const JabberCapsTuple tuple; }; -/* - * This stores a set of exts "known" for a specific node (which indicates - * a specific client -- for reference, Pidgin, Finch, Meebo, et al share one - * node.) In XEP-0115 v1.3, exts are used for features that may or may not be - * present at a given time (PEP things, buzz might be disabled, etc). - * - * This structure is shared among all JabberCapsClientInfo instances matching - * a specific node (if the capstable key->hash == NULL, which indicates that - * the ClientInfo is using v1.3 caps as opposed to v1.5 caps). - * - * It's only exposed so that jabber_resource_has_capability can use it. - * Everyone else, STAY AWAY! - */ -struct _JabberCapsNodeExts { - guint ref; - GHashTable *exts; /* char *ext_name -> GList *features */ -}; - -typedef void (*jabber_caps_get_info_cb)(JabberCapsClientInfo *info, GList *exts, gpointer user_data); +typedef void (*jabber_caps_get_info_cb)(JabberCapsClientInfo *info, gpointer user_data); void jabber_caps_init(void); void jabber_caps_uninit(void); /** - * Check whether all of the exts in a char* array are known to the given info. - */ -gboolean jabber_caps_exts_known(const JabberCapsClientInfo *info, char **exts); - -/** * Main entity capabilities function to get the capabilities of a contact. * * The callback will be called synchronously if we already have the - * capabilities for the specified (node,ver,hash) (and, if exts are specified, - * if we know what each means) - * - * @param exts A g_strsplit'd (NULL-terminated) array of strings. This - * function is responsible for freeing it. + * capabilities for the specified (node,ver,hash). */ void jabber_caps_get_info(JabberStream *js, const char *who, const char *node, const char *ver, const char *hash, - char **exts, jabber_caps_get_info_cb cb, + jabber_caps_get_info_cb cb, gpointer user_data); /**