libpurple/protocols/jabber/jabber.c

branch
soc.2013.gobjectification.plugins
changeset 36732
39a42632a4c8
parent 36729
7f9fac14ed60
child 36782
64936dae41a3
equal deleted inserted replaced
36731:38de3f22e864 36732:39a42632a4c8
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 {

mercurial