| 3420 protocol->protocol_options = g_list_append(protocol->protocol_options, option); |
3420 protocol->protocol_options = g_list_append(protocol->protocol_options, option); |
| 3421 #endif |
3421 #endif |
| 3422 } |
3422 } |
| 3423 |
3423 |
| 3424 /** |
3424 /** |
| 3425 * Protocol class initialization. |
3425 * Protocol class and interfaces initialization. |
| 3426 */ |
3426 */ |
| |
3427 |
| 3427 static void |
3428 static void |
| 3428 msim_protocol_class_init(PurpleProtocolClass *klass) |
3429 msim_protocol_class_init(PurpleProtocolClass *klass) |
| 3429 { |
3430 { |
| 3430 } |
3431 klass->login = msim_login; |
| 3431 |
3432 klass->close = msim_close; |
| 3432 /** |
3433 klass->status_types = msim_status_types; |
| 3433 * Callbacks called by Purple, to access this protocol. |
3434 klass->list_icon = msim_list_icon; |
| 3434 */ |
3435 } |
| |
3436 |
| 3435 static void |
3437 static void |
| 3436 msim_protocol_client_iface_init(PurpleProtocolClientIface *client_iface) |
3438 msim_protocol_client_iface_init(PurpleProtocolClientIface *client_iface) |
| 3437 { |
3439 { |
| 3438 client_iface->get_actions = msim_get_actions; |
3440 client_iface->get_actions = msim_get_actions; |
| 3439 client_iface->list_icon = msim_list_icon; |
|
| 3440 client_iface->status_text = msim_status_text; |
3441 client_iface->status_text = msim_status_text; |
| 3441 client_iface->tooltip_text = msim_tooltip_text; |
3442 client_iface->tooltip_text = msim_tooltip_text; |
| 3442 client_iface->status_types = msim_status_types; |
|
| 3443 client_iface->blist_node_menu = msim_blist_node_menu; |
3443 client_iface->blist_node_menu = msim_blist_node_menu; |
| 3444 client_iface->login = msim_login; |
|
| 3445 client_iface->close = msim_close; |
|
| 3446 client_iface->send_im = msim_send_im; |
|
| 3447 client_iface->send_typing = msim_send_typing; |
|
| 3448 client_iface->get_info = msim_get_info; |
|
| 3449 client_iface->set_status = msim_set_status; |
|
| 3450 client_iface->set_idle = msim_set_idle; |
|
| 3451 client_iface->add_buddy = msim_add_buddy; |
|
| 3452 client_iface->remove_buddy = msim_remove_buddy; |
|
| 3453 client_iface->add_deny = msim_add_deny; |
|
| 3454 client_iface->rem_deny = msim_rem_deny; |
|
| 3455 client_iface->buddy_free = msim_buddy_free; |
3444 client_iface->buddy_free = msim_buddy_free; |
| 3456 client_iface->normalize = msim_normalize; |
3445 client_iface->normalize = msim_normalize; |
| 3457 client_iface->offline_message = msim_offline_message; |
3446 client_iface->offline_message = msim_offline_message; |
| 3458 client_iface->send_raw = msim_send_really_raw; |
|
| 3459 client_iface->send_attention = msim_send_attention; |
|
| 3460 client_iface->get_attention_types = msim_attention_types; |
|
| 3461 client_iface->get_account_text_table = msim_get_account_text_table; |
3447 client_iface->get_account_text_table = msim_get_account_text_table; |
| |
3448 } |
| |
3449 |
| |
3450 static void |
| |
3451 msim_protocol_server_iface_init(PurpleProtocolServerIface *server_iface) |
| |
3452 { |
| |
3453 server_iface->get_info = msim_get_info; |
| |
3454 server_iface->set_status = msim_set_status; |
| |
3455 server_iface->set_idle = msim_set_idle; |
| |
3456 server_iface->add_buddy = msim_add_buddy; |
| |
3457 server_iface->remove_buddy = msim_remove_buddy; |
| |
3458 server_iface->send_raw = msim_send_really_raw; |
| |
3459 } |
| |
3460 |
| |
3461 static void |
| |
3462 msim_protocol_im_iface_init(PurpleProtocolIMIface *im_iface) |
| |
3463 { |
| |
3464 im_iface->send = msim_send_im; |
| |
3465 im_iface->send_typing = msim_send_typing; |
| |
3466 } |
| |
3467 |
| |
3468 static void |
| |
3469 msim_protocol_privacy_iface_init(PurpleProtocolPrivacyIface *privacy_iface) |
| |
3470 { |
| |
3471 privacy_iface->add_deny = msim_add_deny; |
| |
3472 privacy_iface->rem_deny = msim_rem_deny; |
| |
3473 } |
| |
3474 |
| |
3475 static void |
| |
3476 msim_protocol_attention_iface_init(PurpleProtocolAttentionIface *attention_iface) |
| |
3477 { |
| |
3478 attention_iface->send = msim_send_attention; |
| |
3479 attention_iface->get_types = msim_attention_types; |
| 3462 } |
3480 } |
| 3463 |
3481 |
| 3464 PURPLE_DEFINE_TYPE_EXTENDED( |
3482 PURPLE_DEFINE_TYPE_EXTENDED( |
| 3465 MsimProtocol, msim_protocol, PURPLE_TYPE_PROTOCOL, 0, |
3483 MsimProtocol, msim_protocol, PURPLE_TYPE_PROTOCOL, 0, |
| |
3484 |
| 3466 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_CLIENT_IFACE, |
3485 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_CLIENT_IFACE, |
| 3467 msim_protocol_client_iface_init) |
3486 msim_protocol_client_iface_init) |
| |
3487 |
| |
3488 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_SERVER_IFACE, |
| |
3489 msim_protocol_server_iface_init) |
| |
3490 |
| |
3491 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_IM_IFACE, |
| |
3492 msim_protocol_im_iface_init) |
| |
3493 |
| |
3494 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_PRIVACY_IFACE, |
| |
3495 msim_protocol_privacy_iface_init) |
| |
3496 |
| |
3497 PURPLE_IMPLEMENT_INTERFACE_STATIC(PURPLE_TYPE_PROTOCOL_ATTENTION_IFACE, |
| |
3498 msim_protocol_attention_iface_init) |
| 3468 ); |
3499 ); |
| 3469 |
3500 |
| 3470 /** |
3501 /** |
| 3471 * Query the plugin |
3502 * Query the plugin |
| 3472 */ |
3503 */ |