libpurple/protocol.h

branch
soc.2013.gobjectification.plugins
changeset 37164
aea7e3b20138
parent 37148
50f361d39a1e
child 37167
673c39aca4f7
equal deleted inserted replaced
37163:bdaa6ae19356 37164:aea7e3b20138
657 * @get_caps: Checks to see if the given contact supports the given type of 657 * @get_caps: Checks to see if the given contact supports the given type of
658 * media session. 658 * media session.
659 * <sbr/>@account: The account the contact is on. 659 * <sbr/>@account: The account the contact is on.
660 * <sbr/>@who: The remote user to check for media capability with. 660 * <sbr/>@who: The remote user to check for media capability with.
661 * <sbr/>Returns: The media caps the contact supports. 661 * <sbr/>Returns: The media caps the contact supports.
662 * @send_dtmf: Sends DTMF codes out-of-band in a protocol-specific way if the
663 * protocol supports it, or failing that in-band if the media backend
664 * can do so. See purple_media_send_dtmf().
662 * 665 *
663 * The protocol media interface. 666 * The protocol media interface.
664 * 667 *
665 * This interface provides callbacks for media sessions on the protocol. 668 * This interface provides callbacks for media sessions on the protocol.
666 */ 669 */
673 gboolean (*initiate_session)(PurpleAccount *account, const char *who, 676 gboolean (*initiate_session)(PurpleAccount *account, const char *who,
674 PurpleMediaSessionType type); 677 PurpleMediaSessionType type);
675 678
676 PurpleMediaCaps (*get_caps)(PurpleAccount *account, 679 PurpleMediaCaps (*get_caps)(PurpleAccount *account,
677 const char *who); 680 const char *who);
681
682 gboolean (*send_dtmf)(PurpleMedia *media, gchar dtmf,
683 guint8 volume, guint8 duration);
678 }; 684 };
679 685
680 #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE)) 686 #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE))
681 #define PURPLE_PROTOCOL_GET_MEDIA_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, \ 687 #define PURPLE_PROTOCOL_GET_MEDIA_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, \
682 PurpleProtocolMediaIface)) 688 PurpleProtocolMediaIface))
1147 PurpleAccount *account, const char *who, PurpleMediaSessionType type); 1153 PurpleAccount *account, const char *who, PurpleMediaSessionType type);
1148 1154
1149 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *, 1155 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *,
1150 PurpleAccount *account, const char *who); 1156 PurpleAccount *account, const char *who);
1151 1157
1158 gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *,
1159 PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration);
1160
1152 /**************************************************************************/ 1161 /**************************************************************************/
1153 /* Protocol Factory Interface API */ 1162 /* Protocol Factory Interface API */
1154 /**************************************************************************/ 1163 /**************************************************************************/
1155 1164
1156 /** 1165 /**

mercurial