| 815 * |
815 * |
| 816 * Returns: The #GType for the protocol client interface. |
816 * Returns: The #GType for the protocol client interface. |
| 817 */ |
817 */ |
| 818 GType purple_protocol_client_iface_get_type(void); |
818 GType purple_protocol_client_iface_get_type(void); |
| 819 |
819 |
| |
820 /** |
| |
821 * purple_protocol_client_iface_get_actions: |
| |
822 * @protocol: The #PurpleProtocol instance. |
| |
823 * @connection: The #PurpleConnection instance. |
| |
824 * |
| |
825 * Gets a list of actions for @connection. |
| |
826 * |
| |
827 * Returns: (transfer full) (element-type PurpleProtocolAction): The list of actions for @connection. |
| |
828 */ |
| 820 GList *purple_protocol_client_iface_get_actions(PurpleProtocol *protocol, |
829 GList *purple_protocol_client_iface_get_actions(PurpleProtocol *protocol, |
| 821 PurpleConnection *connection); |
830 PurpleConnection *connection); |
| 822 |
831 |
| |
832 /** |
| |
833 * purple_protocol_client_iface_list_emblem: |
| |
834 * @protocol: The #PurpleProtocol instance. |
| |
835 * @buddy: The #PurpleBuddy instance. |
| |
836 * |
| |
837 * Gets the icon name the emblem that should be used for @buddy. |
| |
838 * |
| |
839 * Returns: (transfer none): The icon name of the emblem or NULL. |
| |
840 */ |
| 823 const char *purple_protocol_client_iface_list_emblem(PurpleProtocol *protocol, |
841 const char *purple_protocol_client_iface_list_emblem(PurpleProtocol *protocol, |
| 824 PurpleBuddy *buddy); |
842 PurpleBuddy *buddy); |
| 825 |
843 |
| |
844 /** |
| |
845 * purple_protocol_client_iface_status_text: |
| |
846 * @protocol: The #PurpleProtocol instance. |
| |
847 * @buddy: The #ProtocolBuddy instance. |
| |
848 * |
| |
849 * Gets the status text for @buddy. |
| |
850 * |
| |
851 * Returns: (transfer full): The status text for @buddy or NULL. |
| |
852 */ |
| 826 char *purple_protocol_client_iface_status_text(PurpleProtocol *protocol, |
853 char *purple_protocol_client_iface_status_text(PurpleProtocol *protocol, |
| 827 PurpleBuddy *buddy); |
854 PurpleBuddy *buddy); |
| 828 |
855 |
| |
856 /** |
| |
857 * purple_protocol_client_iface_tooltip_text: |
| |
858 * @protocol: The #PurpleProtocol instance. |
| |
859 * @buddy: The #PurpleBuddy instance. |
| |
860 * @user_info: |
| |
861 * @full: |
| |
862 * |
| |
863 */ |
| 829 void purple_protocol_client_iface_tooltip_text(PurpleProtocol *protocol, |
864 void purple_protocol_client_iface_tooltip_text(PurpleProtocol *protocol, |
| 830 PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full); |
865 PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full); |
| 831 |
866 |
| 832 GList *purple_protocol_client_iface_blist_node_menu(PurpleProtocol *protocol, |
867 GList *purple_protocol_client_iface_blist_node_menu(PurpleProtocol *protocol, |
| 833 PurpleBlistNode *node); |
868 PurpleBlistNode *node); |
| 1016 * |
1051 * |
| 1017 * Returns: The #GType for the protocol privacy interface. |
1052 * Returns: The #GType for the protocol privacy interface. |
| 1018 */ |
1053 */ |
| 1019 GType purple_protocol_privacy_iface_get_type(void); |
1054 GType purple_protocol_privacy_iface_get_type(void); |
| 1020 |
1055 |
| |
1056 /** |
| |
1057 * purple_protocol_privacy_iface_add_permit: |
| |
1058 * @protocol: The #PurpleProtocol instance. |
| |
1059 * @connection: The #PurpleConnection instance. |
| |
1060 * @name: The username to permit. |
| |
1061 * |
| |
1062 * Adds a permit to the privacy settings for @connection to allow @name to |
| |
1063 * contact the user. |
| |
1064 */ |
| 1021 void purple_protocol_privacy_iface_add_permit(PurpleProtocol *protocol, |
1065 void purple_protocol_privacy_iface_add_permit(PurpleProtocol *protocol, |
| 1022 PurpleConnection *connection, const char *name); |
1066 PurpleConnection *connection, const char *name); |
| 1023 |
1067 |
| |
1068 /** |
| |
1069 * purple_protocol_privacy_iface_add_deny: |
| |
1070 * @protocol: The #PurpleProtocol instance. |
| |
1071 * @connection: The #PurpleConnection instance. |
| |
1072 * @name: The username to deny. |
| |
1073 * |
| |
1074 * Adds a deny to the privacy settings for @connection to deny @name from |
| |
1075 * contacting the user. |
| |
1076 */ |
| 1024 void purple_protocol_privacy_iface_add_deny(PurpleProtocol *protocol, |
1077 void purple_protocol_privacy_iface_add_deny(PurpleProtocol *protocol, |
| 1025 PurpleConnection *connection, const char *name); |
1078 PurpleConnection *connection, const char *name); |
| 1026 |
1079 |
| |
1080 /** |
| |
1081 * purple_protocol_privacy_iface_rem_permit: |
| |
1082 * @protocol: The #PurpleProtocol instance. |
| |
1083 * @connection: The #PurpleConnection instance. |
| |
1084 * @name: The username to remove from the permit privacy settings. |
| |
1085 * |
| |
1086 * Removes an existing permit for @name. |
| |
1087 */ |
| 1027 void purple_protocol_privacy_iface_rem_permit(PurpleProtocol *protocol, |
1088 void purple_protocol_privacy_iface_rem_permit(PurpleProtocol *protocol, |
| 1028 PurpleConnection *connection, const char *name); |
1089 PurpleConnection *connection, const char *name); |
| 1029 |
1090 |
| |
1091 /** |
| |
1092 * purple_protocol_privacy_iface_rem_deny: |
| |
1093 * @protocol: The #PurpleProtocol instance. |
| |
1094 * @connection: The #PurpleConnection instance. |
| |
1095 * @name: The username to remove from the deny privacy settings. |
| |
1096 * |
| |
1097 * Removes an existing deny for @name. |
| |
1098 */ |
| 1030 void purple_protocol_privacy_iface_rem_deny(PurpleProtocol *protocol, |
1099 void purple_protocol_privacy_iface_rem_deny(PurpleProtocol *protocol, |
| 1031 PurpleConnection *connection, const char *name); |
1100 PurpleConnection *connection, const char *name); |
| 1032 |
1101 |
| |
1102 /** |
| |
1103 * purple_protocol_privacy_iface_set_permit_deny: |
| |
1104 * @protocol: The #PurpleProtocol instance. |
| |
1105 * @connection: The #PurpleConnection instance. |
| |
1106 * |
| |
1107 * Forces a sync of the privacy settings with server. |
| |
1108 */ |
| 1033 void purple_protocol_privacy_iface_set_permit_deny(PurpleProtocol *protocol, |
1109 void purple_protocol_privacy_iface_set_permit_deny(PurpleProtocol *protocol, |
| 1034 PurpleConnection *connection); |
1110 PurpleConnection *connection); |
| 1035 |
1111 |
| 1036 /**************************************************************************/ |
1112 /**************************************************************************/ |
| 1037 /* Protocol Roomlist Interface API */ |
1113 /* Protocol Roomlist Interface API */ |
| 1042 * |
1118 * |
| 1043 * Returns: The #GType for the protocol roomlist interface. |
1119 * Returns: The #GType for the protocol roomlist interface. |
| 1044 */ |
1120 */ |
| 1045 GType purple_protocol_roomlist_iface_get_type(void); |
1121 GType purple_protocol_roomlist_iface_get_type(void); |
| 1046 |
1122 |
| |
1123 /** |
| |
1124 * purple_protocol_roomlist_iface_get_list: |
| |
1125 * @protocol: The #PurpleProtocol instance. |
| |
1126 * @gc: The #PurpleAccount to get the roomlist for. |
| |
1127 * |
| |
1128 * Get's the list of rooms for @gc. |
| |
1129 * |
| |
1130 * Returns: (transfer full): The roomlist for @gc. |
| |
1131 */ |
| 1047 PurpleRoomlist *purple_protocol_roomlist_iface_get_list(PurpleProtocol *protocol, |
1132 PurpleRoomlist *purple_protocol_roomlist_iface_get_list(PurpleProtocol *protocol, |
| 1048 PurpleConnection *gc); |
1133 PurpleConnection *gc); |
| 1049 |
1134 |
| |
1135 /** |
| |
1136 * purple_protocol_roomlist_iface_cancel: |
| |
1137 * @protocol: The #PurpleProtocol instance. |
| |
1138 * @list: The #PurpleRoomlist instance. |
| |
1139 * |
| |
1140 * Requesting a roomlist can take a long time. This function cancels a request |
| |
1141 * that's already in progress. |
| |
1142 */ |
| 1050 void purple_protocol_roomlist_iface_cancel(PurpleProtocol *protocol, |
1143 void purple_protocol_roomlist_iface_cancel(PurpleProtocol *protocol, |
| 1051 PurpleRoomlist *list); |
1144 PurpleRoomlist *list); |
| 1052 |
1145 |
| |
1146 /** |
| |
1147 * purple_protocol_roomlist_iface_expand_category: |
| |
1148 * @protocol: The #PurpleProtocol instance. |
| |
1149 * @list: The #PurpleRoomlist instance. |
| |
1150 * @category: The category to expand. |
| |
1151 * |
| |
1152 * Expands the given @category for @list. |
| |
1153 */ |
| 1053 void purple_protocol_roomlist_iface_expand_category(PurpleProtocol *protocol, |
1154 void purple_protocol_roomlist_iface_expand_category(PurpleProtocol *protocol, |
| 1054 PurpleRoomlist *list, PurpleRoomlistRoom *category); |
1155 PurpleRoomlist *list, PurpleRoomlistRoom *category); |
| 1055 |
1156 |
| |
1157 /** |
| |
1158 * purple_protocol_roomlist_iface_room_serialize: |
| |
1159 * @protocol: The #PurpleProtocol instance. |
| |
1160 * @room: The #PurpleRoomlistRoom instance. |
| |
1161 * |
| |
1162 * Serializes @room into a string that will be displayed in a user interface. |
| |
1163 * |
| |
1164 * Returns: (transfer full): The serialized form of @room. |
| |
1165 */ |
| 1056 char *purple_protocol_roomlist_iface_room_serialize(PurpleProtocol *protocol, |
1166 char *purple_protocol_roomlist_iface_room_serialize(PurpleProtocol *protocol, |
| 1057 PurpleRoomlistRoom *room); |
1167 PurpleRoomlistRoom *room); |
| 1058 |
1168 |
| 1059 /**************************************************************************/ |
1169 /**************************************************************************/ |
| 1060 /* Protocol Media Interface API */ |
1170 /* Protocol Media Interface API */ |
| 1065 * |
1175 * |
| 1066 * Returns: The #GType for the protocol media interface. |
1176 * Returns: The #GType for the protocol media interface. |
| 1067 */ |
1177 */ |
| 1068 GType purple_protocol_media_iface_get_type(void); |
1178 GType purple_protocol_media_iface_get_type(void); |
| 1069 |
1179 |
| |
1180 /** |
| |
1181 * purple_protocol_media_iface_initiate_session: |
| |
1182 * @protocol: The #PurpleProtocol instance. |
| |
1183 * @account: The #PurpleAccount instance. |
| |
1184 * @who: The user to initiate a media session with. |
| |
1185 * @type: The type of media session to create. |
| |
1186 * |
| |
1187 * Initiates a media connection of @type to @who. |
| |
1188 * |
| |
1189 * Returns: TRUE if successful, FALSE otherwise. |
| |
1190 */ |
| 1070 gboolean purple_protocol_media_iface_initiate_session(PurpleProtocol *protocol, |
1191 gboolean purple_protocol_media_iface_initiate_session(PurpleProtocol *protocol, |
| 1071 PurpleAccount *account, const char *who, PurpleMediaSessionType type); |
1192 PurpleAccount *account, const char *who, PurpleMediaSessionType type); |
| 1072 |
1193 |
| |
1194 /** |
| |
1195 * purple_protocol_media_iface_get_caps: |
| |
1196 * @protocol: The #PurpleProtocol instance. |
| |
1197 * @account: The #PurpleAccount instance. |
| |
1198 * @who: The user to get the media capabilites for. |
| |
1199 * |
| |
1200 * Returns the #PurpleMediaCaps for @who which determine what types of media |
| |
1201 * are available. |
| |
1202 * |
| |
1203 * Returns the media capabilities of @who. |
| |
1204 */ |
| 1073 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *protocol, |
1205 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *protocol, |
| 1074 PurpleAccount *account, const char *who); |
1206 PurpleAccount *account, const char *who); |
| 1075 |
1207 |
| |
1208 /** |
| |
1209 * purple_protocol_media_iface_send_dtmf: |
| |
1210 * @protocol: The #PurpleProtocol instance. |
| |
1211 * @media: The #PurpleMedia instance. |
| |
1212 * @dtmf: A DTMF to send. |
| |
1213 * @volume: The volume to send @dtmf at. |
| |
1214 * @duration: The duration to send @dtmf (in ms?) |
| |
1215 * |
| |
1216 * Sends a DTMF (dual-tone multi-frequency) signal via the established @media |
| |
1217 * for the given @duration at the given @volume. |
| |
1218 * |
| |
1219 * It is up to the specific implementation if DTMF is send in or out of band. |
| |
1220 * |
| |
1221 * Returns: TRUE if successful, FALSE otherwise. |
| |
1222 */ |
| 1076 gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *protocol, |
1223 gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *protocol, |
| 1077 PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration); |
1224 PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration); |
| 1078 |
1225 |
| 1079 /**************************************************************************/ |
1226 /**************************************************************************/ |
| 1080 /* Protocol Factory Interface API */ |
1227 /* Protocol Factory Interface API */ |