| 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 /** |