Mercurial > pidgin
diff libpurple/protocols/oscar/libaim.c @ 15373:5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 20 Jan 2007 02:32:10 +0000 |
parents | |
children | 0b6f337a46d5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/protocols/oscar/libaim.c Sat Jan 20 02:32:10 2007 +0000 @@ -0,0 +1,151 @@ +/* gaim + * + * Gaim is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +/* libaim is the AIM protocol plugin. It is linked against liboscarcommon, + * which contains all the shared implementation code with libicq + */ + +#include "oscarcommon.h" + +static GaimPluginProtocolInfo prpl_info = +{ + OPT_PROTO_MAIL_CHECK | OPT_PROTO_IM_IMAGE, + NULL, /* user_splits */ + NULL, /* protocol_options */ + /* The mimimum icon size below is not needed in AIM 6.0 */ + {"gif,jpeg,bmp,ico", 48, 48, 50, 50, 7168, + GAIM_ICON_SCALE_SEND | GAIM_ICON_SCALE_DISPLAY}, /* icon_spec */ + oscar_list_icon_aim, /* list_icon */ + oscar_list_emblems, /* list_emblems */ + oscar_status_text, /* status_text */ + oscar_tooltip_text, /* tooltip_text */ + oscar_status_types, /* status_types */ + oscar_blist_node_menu, /* blist_node_menu */ + oscar_chat_info, /* chat_info */ + oscar_chat_info_defaults, /* chat_info_defaults */ + oscar_login, /* login */ + oscar_close, /* close */ + oscar_send_im, /* send_im */ + oscar_set_info, /* set_info */ + oscar_send_typing, /* send_typing */ + oscar_get_info, /* get_info */ + oscar_set_status, /* set_status */ + oscar_set_idle, /* set_idle */ + oscar_change_passwd, /* change_passwd */ + oscar_add_buddy, /* add_buddy */ + NULL, /* add_buddies */ + oscar_remove_buddy, /* remove_buddy */ + NULL, /* remove_buddies */ + oscar_add_permit, /* add_permit */ + oscar_add_deny, /* add_deny */ + oscar_rem_permit, /* rem_permit */ + oscar_rem_deny, /* rem_deny */ + oscar_set_permit_deny, /* set_permit_deny */ + oscar_join_chat, /* join_chat */ + NULL, /* reject_chat */ + oscar_get_chat_name, /* get_chat_name */ + oscar_chat_invite, /* chat_invite */ + oscar_chat_leave, /* chat_leave */ + NULL, /* chat_whisper */ + oscar_send_chat, /* chat_send */ + oscar_keepalive, /* keepalive */ + NULL, /* register_user */ + NULL, /* get_cb_info */ + NULL, /* get_cb_away */ + oscar_alias_buddy, /* alias_buddy */ + oscar_move_buddy, /* group_buddy */ + oscar_rename_group, /* rename_group */ + NULL, /* buddy_free */ + oscar_convo_closed, /* convo_closed */ + oscar_normalize, /* normalize */ + oscar_set_icon, /* set_buddy_icon */ + NULL, /* remove_group */ + NULL, /* get_cb_real_name */ + NULL, /* set_chat_topic */ + NULL, /* find_blist_chat */ + NULL, /* roomlist_get_list */ + NULL, /* roomlist_cancel */ + NULL, /* roomlist_expand_category */ + oscar_can_receive_file, /* can_receive_file */ + oscar_send_file, /* send_file */ + oscar_new_xfer, /* new_xfer */ + oscar_offline_message, /* offline_message */ + NULL, /* whiteboard_prpl_ops */ + NULL, /* send_raw */ + NULL, /* roomlist_room_serialize */ +}; + +static GaimPluginInfo info = +{ + GAIM_PLUGIN_MAGIC, + GAIM_MAJOR_VERSION, + GAIM_MINOR_VERSION, + GAIM_PLUGIN_PROTOCOL, /**< type */ + NULL, /**< ui_requirement */ + 0, /**< flags */ + NULL, /**< dependencies */ + GAIM_PRIORITY_DEFAULT, /**< priority */ + + "prpl-aim", /**< id */ + "AIM", /**< name */ + VERSION, /**< version */ + /** summary */ + N_("AIM Protocol Plugin"), + /** description */ + N_("AIM Protocol Plugin"), + NULL, /**< author */ + GAIM_WEBSITE, /**< homepage */ + + NULL, /**< load */ + NULL, /**< unload */ + NULL, /**< destroy */ + + NULL, /**< ui_info */ + &prpl_info, /**< extra_info */ + NULL, + oscar_actions +}; + +static void +init_plugin(GaimPlugin *plugin) +{ + GaimAccountOption *option; + + option = gaim_account_option_string_new(_("Server"), "server", OSCAR_DEFAULT_LOGIN_SERVER); + prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); + + option = gaim_account_option_int_new(_("Port"), "port", OSCAR_DEFAULT_LOGIN_PORT); + prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); + + option = gaim_account_option_bool_new( + _("Always use AIM/ICQ proxy server for file transfers\n(slower, but does not reveal your IP address)"), "always_use_rv_proxy", + OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY); + prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); + + /* Preferences */ + gaim_prefs_add_none("/plugins/prpl/oscar"); + gaim_prefs_add_bool("/plugins/prpl/oscar/recent_buddies", FALSE); + gaim_prefs_add_bool("/plugins/prpl/oscar/show_idle", FALSE); + gaim_prefs_remove("/plugins/prpl/oscar/always_use_rv_proxy"); +} + +GAIM_INIT_PLUGIN(aim, init_plugin, info);