comparison libpurple/prpl.h @ 25632:f5bcb58bdf56

propagate from branch 'im.pidgin.pidgin' (head 16d99d9757384d801e4f13d991cb769a71f9c190) to branch 'im.pidgin.pidgin.vv' (head 6fc5d53de8bd73364b370627020563c614fe6e0a)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 06 Feb 2008 19:44:41 +0000
parents f55f84a1e3f7 def0d893e737
children 92e71f6e10d4
comparison
equal deleted inserted replaced
22270:762174f38807 25632:f5bcb58bdf56
62 62
63 #include "blist.h" 63 #include "blist.h"
64 #include "conversation.h" 64 #include "conversation.h"
65 #include "ft.h" 65 #include "ft.h"
66 #include "imgstore.h" 66 #include "imgstore.h"
67 #include "media.h"
67 #include "notify.h" 68 #include "notify.h"
68 #include "proxy.h" 69 #include "proxy.h"
69 #include "plugin.h" 70 #include "plugin.h"
70 #include "roomlist.h" 71 #include "roomlist.h"
71 #include "status.h" 72 #include "status.h"
391 */ 392 */
392 /* This is here rather than next to register_user for API compatibility 393 /* This is here rather than next to register_user for API compatibility
393 * reasons. 394 * reasons.
394 */ 395 */
395 void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data); 396 void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data);
396 397
397 /* Attention API for sending & receiving zaps/nudges/buzzes etc. */ 398 /* Attention API for sending & receiving zaps/nudges/buzzes etc. */
398 gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type); 399 gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type);
399 GList *(*get_attention_types)(PurpleAccount *acct); 400 GList *(*get_attention_types)(PurpleAccount *acct);
400 401
401 void (*_purple_reserved4)(void); 402 /* Make sure you do not try to dereference anything past struct_size! */
403 int struct_size;
404
405 #ifdef USE_FARSIGHT
406 PurpleMedia *(*initiate_media)(PurpleConnection *conn, const char *who, PurpleMediaStreamType type);
407 #else
408 void (*initiate_media)(void);
409 #endif
402 }; 410 };
411
412 #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
413 ((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size) && \
414 prpl->member != NULL)
403 415
404 #define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \ 416 #define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \
405 ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL) 417 ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL)
406 418
407 #define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \ 419 #define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \
665 #ifdef __cplusplus 677 #ifdef __cplusplus
666 } 678 }
667 #endif 679 #endif
668 680
669 #endif /* _PRPL_H_ */ 681 #endif /* _PRPL_H_ */
682