Mercurial > pidgin
comparison libpurple/prpl.h @ 26346:7b63af454f26
propagate from branch 'im.pidgin.pidgin' (head 5592cb6a8b667422747bafd555fea0aed19931b6)
to branch 'im.pidgin.pidgin.vv' (head ff94dfb7c44b84f5d9b4590cc429d93198703b83)
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sun, 22 Mar 2009 23:33:42 +0000 |
parents | ff4212a5268f |
children | e23a74d7c97c |
comparison
equal
deleted
inserted
replaced
26196:399776a9ad98 | 26346:7b63af454f26 |
---|---|
63 | 63 |
64 #include "blist.h" | 64 #include "blist.h" |
65 #include "conversation.h" | 65 #include "conversation.h" |
66 #include "ft.h" | 66 #include "ft.h" |
67 #include "imgstore.h" | 67 #include "imgstore.h" |
68 #include "media.h" | |
68 #include "notify.h" | 69 #include "notify.h" |
69 #include "proxy.h" | 70 #include "proxy.h" |
70 #include "plugin.h" | 71 #include "plugin.h" |
71 #include "roomlist.h" | 72 #include "roomlist.h" |
72 #include "status.h" | 73 #include "status.h" |
73 #include "whiteboard.h" | 74 #include "whiteboard.h" |
74 | |
75 | 75 |
76 /** @copydoc PurpleBuddyIconSpec */ | 76 /** @copydoc PurpleBuddyIconSpec */ |
77 struct _PurpleBuddyIconSpec { | 77 struct _PurpleBuddyIconSpec { |
78 /** This is a comma-delimited list of image formats or @c NULL if icons | 78 /** This is a comma-delimited list of image formats or @c NULL if icons |
79 * are not supported. Neither the core nor the prpl will actually | 79 * are not supported. Neither the core nor the prpl will actually |
449 * @param account The account to specify. This can be NULL. | 449 * @param account The account to specify. This can be NULL. |
450 * @return The protocol's string hash table. The hash table should be | 450 * @return The protocol's string hash table. The hash table should be |
451 * destroyed by the caller when it's no longer needed. | 451 * destroyed by the caller when it's no longer needed. |
452 */ | 452 */ |
453 GHashTable *(*get_account_text_table)(PurpleAccount *account); | 453 GHashTable *(*get_account_text_table)(PurpleAccount *account); |
454 | |
455 /** | |
456 * Initiate a media session with the given contact. | |
457 * | |
458 * @param conn The connection to initiate the media session on. | |
459 * @param who The remote user to initiate the session with. | |
460 * @param type The type of media session to initiate. | |
461 * @return The newly created media object. | |
462 */ | |
463 PurpleMedia *(*initiate_media)(PurpleConnection *gc, const char *who, | |
464 PurpleMediaSessionType type); | |
465 | |
466 /** | |
467 * Checks to see if the given contact supports the given type of media session. | |
468 * | |
469 * @param conn The connection the contact is on. | |
470 * @param who The remote user to check for media capability with. | |
471 * @return The media caps the contact supports. | |
472 */ | |
473 PurpleMediaCaps (*get_media_caps)(PurpleConnection *gc, | |
474 const char *who); | |
454 }; | 475 }; |
455 | 476 |
456 #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \ | 477 #define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \ |
457 (((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFSET(PurplePluginProtocolInfo, struct_size)) \ | 478 (((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFSET(PurplePluginProtocolInfo, struct_size)) \ |
458 || (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size)) && \ | 479 || (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size)) && \ |
745 * | 766 * |
746 * @since 2.5.0 | 767 * @since 2.5.0 |
747 */ | 768 */ |
748 void purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code); | 769 void purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code); |
749 | 770 |
771 /** | |
772 * Determines if the contact supports the given media session type. | |
773 * | |
774 * @param account The account the user is on. | |
775 * @param who The name of the contact to check capabilities for. | |
776 * | |
777 * @return The media caps the contact supports. | |
778 */ | |
779 PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount *account, | |
780 const char *who); | |
781 | |
782 /** | |
783 * Initiates a media session with the given contact. | |
784 * | |
785 * @param account The account the user is on. | |
786 * @param who The name of the contact to start a session with. | |
787 * @param type The type of media session to start. | |
788 * | |
789 * @return The newly created session object. | |
790 */ | |
791 PurpleMedia *purple_prpl_initiate_media(PurpleAccount *account, | |
792 const char *who, | |
793 PurpleMediaSessionType type); | |
794 | |
750 /*@}*/ | 795 /*@}*/ |
751 | 796 |
752 /**************************************************************************/ | 797 /**************************************************************************/ |
753 /** @name Protocol Plugin Subsystem API */ | 798 /** @name Protocol Plugin Subsystem API */ |
754 /**************************************************************************/ | 799 /**************************************************************************/ |