libpurple/protocol.h

branch
soc.2013.gobjectification.plugins
changeset 37167
673c39aca4f7
parent 37162
3336df05de5b
parent 37164
aea7e3b20138
child 38745
f4376b1f4682
child 38827
3573c82d32d8
equal deleted inserted replaced
37166:4d31fc6db752 37167:673c39aca4f7
662 * @get_caps: Checks to see if the given contact supports the given type of 662 * @get_caps: Checks to see if the given contact supports the given type of
663 * media session. 663 * media session.
664 * <sbr/>@account: The account the contact is on. 664 * <sbr/>@account: The account the contact is on.
665 * <sbr/>@who: The remote user to check for media capability with. 665 * <sbr/>@who: The remote user to check for media capability with.
666 * <sbr/>Returns: The media caps the contact supports. 666 * <sbr/>Returns: The media caps the contact supports.
667 * @send_dtmf: Sends DTMF codes out-of-band in a protocol-specific way if the
668 * protocol supports it, or failing that in-band if the media backend
669 * can do so. See purple_media_send_dtmf().
667 * 670 *
668 * The protocol media interface. 671 * The protocol media interface.
669 * 672 *
670 * This interface provides callbacks for media sessions on the protocol. 673 * This interface provides callbacks for media sessions on the protocol.
671 */ 674 */
678 gboolean (*initiate_session)(PurpleAccount *account, const char *who, 681 gboolean (*initiate_session)(PurpleAccount *account, const char *who,
679 PurpleMediaSessionType type); 682 PurpleMediaSessionType type);
680 683
681 PurpleMediaCaps (*get_caps)(PurpleAccount *account, 684 PurpleMediaCaps (*get_caps)(PurpleAccount *account,
682 const char *who); 685 const char *who);
686
687 gboolean (*send_dtmf)(PurpleMedia *media, gchar dtmf,
688 guint8 volume, guint8 duration);
683 }; 689 };
684 690
685 #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE)) 691 #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE))
686 #define PURPLE_PROTOCOL_GET_MEDIA_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, \ 692 #define PURPLE_PROTOCOL_GET_MEDIA_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, \
687 PurpleProtocolMediaIface)) 693 PurpleProtocolMediaIface))
1152 PurpleAccount *account, const char *who, PurpleMediaSessionType type); 1158 PurpleAccount *account, const char *who, PurpleMediaSessionType type);
1153 1159
1154 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *, 1160 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *,
1155 PurpleAccount *account, const char *who); 1161 PurpleAccount *account, const char *who);
1156 1162
1163 gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *,
1164 PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration);
1165
1157 /**************************************************************************/ 1166 /**************************************************************************/
1158 /* Protocol Factory Interface API */ 1167 /* Protocol Factory Interface API */
1159 /**************************************************************************/ 1168 /**************************************************************************/
1160 1169
1161 /** 1170 /**

mercurial