comparison libpurple/protocols/jabber/jabber.h @ 17576:e49b259fc7dd

PEP publishing features are now only announced in disco#info when PEP is supported by the server.
author Andreas Monitzer <pidgin@monitzer.com>
date Fri, 15 Jun 2007 07:13:41 +0000
parents 2e0799b916b9
children 759cd72bd2ff
comparison
equal deleted inserted replaced
17575:5fc8a8a25008 17576:e49b259fc7dd
152 152
153 /* does the local server support PEP? */ 153 /* does the local server support PEP? */
154 gboolean pep; 154 gboolean pep;
155 } JabberStream; 155 } JabberStream;
156 156
157 typedef gboolean (JabberFeatureEnabled)(JabberStream *js, const gchar *shortname, const gchar *namespace);
158
159 typedef struct _JabberFeature
160 {
161 gchar *shortname;
162 gchar *namespace;
163 JabberFeatureEnabled *is_enabled;
164 } JabberFeature;
165
166 /* what kind of additional features as returned from disco#info are supported? */
167 extern GList *jabber_features;
168
157 void jabber_process_packet(JabberStream *js, xmlnode *packet); 169 void jabber_process_packet(JabberStream *js, xmlnode *packet);
158 void jabber_send(JabberStream *js, xmlnode *data); 170 void jabber_send(JabberStream *js, xmlnode *data);
159 void jabber_send_raw(JabberStream *js, const char *data, int len); 171 void jabber_send_raw(JabberStream *js, const char *data, int len);
160 172
161 void jabber_stream_set_state(JabberStream *js, JabberStreamState state); 173 void jabber_stream_set_state(JabberStream *js, JabberStreamState state);
165 177
166 char *jabber_get_next_id(JabberStream *js); 178 char *jabber_get_next_id(JabberStream *js);
167 179
168 char *jabber_parse_error(JabberStream *js, xmlnode *packet); 180 char *jabber_parse_error(JabberStream *js, xmlnode *packet);
169 181
170 void jabber_add_feature(const gchar *shortname, const gchar *namespace); 182 void jabber_add_feature(const gchar *shortname, const gchar *namespace, JabberFeatureEnabled cb); /* cb may be NULL */
171 void jabber_remove_feature(const gchar *shortname); 183 void jabber_remove_feature(const gchar *shortname);
172 184
173 /** PRPL functions */ 185 /** PRPL functions */
174 const char *jabber_list_icon(PurpleAccount *a, PurpleBuddy *b); 186 const char *jabber_list_icon(PurpleAccount *a, PurpleBuddy *b);
175 const char* jabber_list_emblem(PurpleBuddy *b); 187 const char* jabber_list_emblem(PurpleBuddy *b);
187 int jabber_prpl_send_raw(PurpleConnection *gc, const char *buf, int len); 199 int jabber_prpl_send_raw(PurpleConnection *gc, const char *buf, int len);
188 GList *jabber_actions(PurplePlugin *plugin, gpointer context); 200 GList *jabber_actions(PurplePlugin *plugin, gpointer context);
189 void jabber_register_commands(void); 201 void jabber_register_commands(void);
190 void jabber_init_plugin(PurplePlugin *plugin); 202 void jabber_init_plugin(PurplePlugin *plugin);
191 203
192 typedef struct _JabberFeature
193 {
194 gchar *shortname;
195 gchar *namespace;
196 } JabberFeature;
197
198 /* what kind of additional features as returned from disco#info are supported? */
199 extern GList *jabber_features;
200
201 #endif /* _PURPLE_JABBER_H_ */ 204 #endif /* _PURPLE_JABBER_H_ */