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