| 4149 } |
4149 } |
| 4150 |
4150 |
| 4151 static void |
4151 static void |
| 4152 jabber_protocol_class_init(PurpleProtocolClass *klass) |
4152 jabber_protocol_class_init(PurpleProtocolClass *klass) |
| 4153 { |
4153 { |
| |
4154 klass->login = jabber_login; |
| |
4155 klass->close = jabber_close; |
| |
4156 klass->status_types = jabber_status_types; |
| |
4157 klass->list_icon = jabber_list_icon; |
| 4154 } |
4158 } |
| 4155 |
4159 |
| 4156 static void |
4160 static void |
| 4157 jabber_protocol_client_iface_init(PurpleProtocolClientIface *client_iface) |
4161 jabber_protocol_client_iface_init(PurpleProtocolClientIface *client_iface) |
| 4158 { |
4162 { |
| 4159 client_iface->get_actions = jabber_get_actions; |
4163 client_iface->get_actions = jabber_get_actions; |
| 4160 client_iface->list_icon = jabber_list_icon; |
4164 client_iface->list_emblem = jabber_list_emblem; |
| 4161 client_iface->list_emblem = jabber_list_emblem; |
4165 client_iface->status_text = jabber_status_text; |
| 4162 client_iface->status_text = jabber_status_text; |
4166 client_iface->tooltip_text = jabber_tooltip_text; |
| 4163 client_iface->tooltip_text = jabber_tooltip_text; |
4167 client_iface->blist_node_menu = jabber_blist_node_menu; |
| 4164 client_iface->status_types = jabber_status_types; |
4168 client_iface->convo_closed = jabber_convo_closed; |
| 4165 client_iface->blist_node_menu = jabber_blist_node_menu; |
4169 client_iface->normalize = jabber_normalize; |
| 4166 client_iface->chat_info = jabber_chat_info; |
4170 client_iface->find_blist_chat = jabber_find_blist_chat; |
| 4167 client_iface->chat_info_defaults = jabber_chat_info_defaults; |
4171 client_iface->offline_message = jabber_offline_message; |
| 4168 client_iface->login = jabber_login; |
4172 client_iface->get_moods = jabber_get_moods; |
| 4169 client_iface->close = jabber_close; |
4173 } |
| 4170 client_iface->send_im = jabber_message_send_im; |
4174 |
| 4171 client_iface->set_info = jabber_set_info; |
4175 static void |
| 4172 client_iface->send_typing = jabber_send_typing; |
4176 jabber_protocol_server_iface_init(PurpleProtocolServerIface *server_iface) |
| 4173 client_iface->get_info = jabber_buddy_get_info; |
4177 { |
| 4174 client_iface->set_status = jabber_set_status; |
4178 server_iface->register_user = jabber_register_account; |
| 4175 client_iface->set_idle = jabber_idle_set; |
4179 server_iface->unregister_user = jabber_unregister_account; |
| 4176 client_iface->add_buddy = jabber_roster_add_buddy; |
4180 server_iface->set_info = jabber_set_info; |
| 4177 client_iface->remove_buddy = jabber_roster_remove_buddy; |
4181 server_iface->get_info = jabber_buddy_get_info; |
| 4178 client_iface->add_deny = jabber_add_deny; |
4182 server_iface->set_status = jabber_set_status; |
| 4179 client_iface->rem_deny = jabber_rem_deny; |
4183 server_iface->set_idle = jabber_idle_set; |
| 4180 client_iface->join_chat = jabber_chat_join; |
4184 server_iface->add_buddy = jabber_roster_add_buddy; |
| 4181 client_iface->get_chat_name = jabber_get_chat_name; |
4185 server_iface->remove_buddy = jabber_roster_remove_buddy; |
| 4182 client_iface->chat_invite = jabber_chat_invite; |
4186 server_iface->keepalive = jabber_keepalive; |
| 4183 client_iface->chat_leave = jabber_chat_leave; |
4187 server_iface->alias_buddy = jabber_roster_alias_change; |
| 4184 client_iface->chat_send = jabber_message_send_chat; |
4188 server_iface->group_buddy = jabber_roster_group_change; |
| 4185 client_iface->keepalive = jabber_keepalive; |
4189 server_iface->rename_group = jabber_roster_group_rename; |
| 4186 client_iface->register_user = jabber_register_account; |
4190 server_iface->set_buddy_icon = jabber_set_buddy_icon; |
| 4187 client_iface->unregister_user = jabber_unregister_account; |
4191 server_iface->send_raw = jabber_protocol_send_raw; |
| 4188 client_iface->alias_buddy = jabber_roster_alias_change; |
4192 } |
| 4189 client_iface->group_buddy = jabber_roster_group_change; |
4193 |
| 4190 client_iface->rename_group = jabber_roster_group_rename; |
4194 static void |
| 4191 client_iface->convo_closed = jabber_convo_closed; |
4195 jabber_protocol_im_iface_init(PurpleProtocolIMIface *im_iface) |
| 4192 client_iface->normalize = jabber_normalize; |
4196 { |
| 4193 client_iface->set_buddy_icon = jabber_set_buddy_icon; |
4197 im_iface->send = jabber_message_send_im; |
| 4194 client_iface->get_cuser_real_name = jabber_chat_user_real_name; |
4198 im_iface->send_typing = jabber_send_typing; |
| 4195 client_iface->set_chat_topic = jabber_chat_set_topic; |
4199 } |
| 4196 client_iface->find_blist_chat = jabber_find_blist_chat; |
4200 |
| 4197 client_iface->roomlist_get_list = jabber_roomlist_get_list; |
4201 static void |
| 4198 client_iface->roomlist_cancel = jabber_roomlist_cancel; |
4202 jabber_protocol_chat_iface_init(PurpleProtocolChatIface *chat_iface) |
| 4199 client_iface->can_receive_file = jabber_can_receive_file; |
4203 { |
| 4200 client_iface->send_file = jabber_si_xfer_send; |
4204 chat_iface->info = jabber_chat_info; |
| 4201 client_iface->new_xfer = jabber_si_new_xfer; |
4205 chat_iface->info_defaults = jabber_chat_info_defaults; |
| 4202 client_iface->offline_message = jabber_offline_message; |
4206 chat_iface->join = jabber_chat_join; |
| 4203 client_iface->send_raw = jabber_protocol_send_raw; |
4207 chat_iface->get_name = jabber_get_chat_name; |
| 4204 client_iface->roomlist_room_serialize = jabber_roomlist_room_serialize; |
4208 chat_iface->invite = jabber_chat_invite; |
| 4205 client_iface->send_attention = jabber_send_attention; |
4209 chat_iface->leave = jabber_chat_leave; |
| 4206 client_iface->get_attention_types = jabber_attention_types; |
4210 chat_iface->send = jabber_message_send_chat; |
| 4207 client_iface->initiate_media = jabber_initiate_media; |
4211 chat_iface->get_user_real_name = jabber_chat_user_real_name; |
| 4208 client_iface->get_media_caps = jabber_get_media_caps; |
4212 chat_iface->set_topic = jabber_chat_set_topic; |
| 4209 client_iface->get_moods = jabber_get_moods; |
4213 } |
| |
4214 |
| |
4215 static void |
| |
4216 jabber_protocol_privacy_iface_init(PurpleProtocolPrivacyIface *privacy_iface) |
| |
4217 { |
| |
4218 privacy_iface->add_deny = jabber_add_deny; |
| |
4219 privacy_iface->rem_deny = jabber_rem_deny; |
| |
4220 } |
| |
4221 |
| |
4222 static void |
| |
4223 jabber_protocol_roomlist_iface_init(PurpleProtocolRoomlistIface *roomlist_iface) |
| |
4224 { |
| |
4225 roomlist_iface->get_list = jabber_roomlist_get_list; |
| |
4226 roomlist_iface->cancel = jabber_roomlist_cancel; |
| |
4227 roomlist_iface->room_serialize = jabber_roomlist_room_serialize; |
| |
4228 } |
| |
4229 |
| |
4230 static void |
| |
4231 jabber_protocol_attention_iface_init(PurpleProtocolAttentionIface *attention_iface) |
| |
4232 { |
| |
4233 attention_iface->send = jabber_send_attention; |
| |
4234 attention_iface->get_types = jabber_attention_types; |
| |
4235 } |
| |
4236 |
| |
4237 static void |
| |
4238 jabber_protocol_media_iface_init(PurpleProtocolMediaIface *media_iface) |
| |
4239 { |
| |
4240 media_iface->initiate_session = jabber_initiate_media; |
| |
4241 media_iface->get_caps = jabber_get_media_caps; |
| |
4242 } |
| |
4243 |
| |
4244 static void |
| |
4245 jabber_protocol_xfer_iface_init(PurpleProtocolXferIface *xfer_iface) |
| |
4246 { |
| |
4247 xfer_iface->can_receive = jabber_can_receive_file; |
| |
4248 xfer_iface->send = jabber_si_xfer_send; |
| |
4249 xfer_iface->new_xfer = jabber_si_new_xfer; |
| 4210 } |
4250 } |
| 4211 |
4251 |
| 4212 PURPLE_DEFINE_TYPE_EXTENDED( |
4252 PURPLE_DEFINE_TYPE_EXTENDED( |
| 4213 JabberProtocol, jabber_protocol, PURPLE_TYPE_PROTOCOL, G_TYPE_FLAG_ABSTRACT, |
4253 JabberProtocol, jabber_protocol, PURPLE_TYPE_PROTOCOL, G_TYPE_FLAG_ABSTRACT, |
| |
4254 |
| 4214 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_CLIENT_IFACE, |
4255 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_CLIENT_IFACE, |
| 4215 jabber_protocol_client_iface_init) |
4256 jabber_protocol_client_iface_init) |
| |
4257 |
| |
4258 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_SERVER_IFACE, |
| |
4259 jabber_protocol_server_iface_init) |
| |
4260 |
| |
4261 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_IM_IFACE, |
| |
4262 jabber_protocol_im_iface_init) |
| |
4263 |
| |
4264 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_CHAT_IFACE, |
| |
4265 jabber_protocol_chat_iface_init) |
| |
4266 |
| |
4267 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_PRIVACY_IFACE, |
| |
4268 jabber_protocol_privacy_iface_init) |
| |
4269 |
| |
4270 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_ROOMLIST_IFACE, |
| |
4271 jabber_protocol_roomlist_iface_init) |
| |
4272 |
| |
4273 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_ATTENTION_IFACE, |
| |
4274 jabber_protocol_attention_iface_init) |
| |
4275 |
| |
4276 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, |
| |
4277 jabber_protocol_media_iface_init) |
| |
4278 |
| |
4279 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_XFER_IFACE, |
| |
4280 jabber_protocol_xfer_iface_init) |
| 4216 ); |
4281 ); |
| 4217 |
4282 |
| 4218 static PurplePluginInfo * |
4283 static PurplePluginInfo * |
| 4219 plugin_query(GError **error) |
4284 plugin_query(GError **error) |
| 4220 { |
4285 { |