comparison 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
comparison
equal deleted inserted replaced
15372:f79e0f4df793 15373:5fe8042783c1
1 /* gaim
2 *
3 * Gaim is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
5 * source distribution.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 *
21 */
22
23 /* libaim is the AIM protocol plugin. It is linked against liboscarcommon,
24 * which contains all the shared implementation code with libicq
25 */
26
27 #include "oscarcommon.h"
28
29 static GaimPluginProtocolInfo prpl_info =
30 {
31 OPT_PROTO_MAIL_CHECK | OPT_PROTO_IM_IMAGE,
32 NULL, /* user_splits */
33 NULL, /* protocol_options */
34 /* The mimimum icon size below is not needed in AIM 6.0 */
35 {"gif,jpeg,bmp,ico", 48, 48, 50, 50, 7168,
36 GAIM_ICON_SCALE_SEND | GAIM_ICON_SCALE_DISPLAY}, /* icon_spec */
37 oscar_list_icon_aim, /* list_icon */
38 oscar_list_emblems, /* list_emblems */
39 oscar_status_text, /* status_text */
40 oscar_tooltip_text, /* tooltip_text */
41 oscar_status_types, /* status_types */
42 oscar_blist_node_menu, /* blist_node_menu */
43 oscar_chat_info, /* chat_info */
44 oscar_chat_info_defaults, /* chat_info_defaults */
45 oscar_login, /* login */
46 oscar_close, /* close */
47 oscar_send_im, /* send_im */
48 oscar_set_info, /* set_info */
49 oscar_send_typing, /* send_typing */
50 oscar_get_info, /* get_info */
51 oscar_set_status, /* set_status */
52 oscar_set_idle, /* set_idle */
53 oscar_change_passwd, /* change_passwd */
54 oscar_add_buddy, /* add_buddy */
55 NULL, /* add_buddies */
56 oscar_remove_buddy, /* remove_buddy */
57 NULL, /* remove_buddies */
58 oscar_add_permit, /* add_permit */
59 oscar_add_deny, /* add_deny */
60 oscar_rem_permit, /* rem_permit */
61 oscar_rem_deny, /* rem_deny */
62 oscar_set_permit_deny, /* set_permit_deny */
63 oscar_join_chat, /* join_chat */
64 NULL, /* reject_chat */
65 oscar_get_chat_name, /* get_chat_name */
66 oscar_chat_invite, /* chat_invite */
67 oscar_chat_leave, /* chat_leave */
68 NULL, /* chat_whisper */
69 oscar_send_chat, /* chat_send */
70 oscar_keepalive, /* keepalive */
71 NULL, /* register_user */
72 NULL, /* get_cb_info */
73 NULL, /* get_cb_away */
74 oscar_alias_buddy, /* alias_buddy */
75 oscar_move_buddy, /* group_buddy */
76 oscar_rename_group, /* rename_group */
77 NULL, /* buddy_free */
78 oscar_convo_closed, /* convo_closed */
79 oscar_normalize, /* normalize */
80 oscar_set_icon, /* set_buddy_icon */
81 NULL, /* remove_group */
82 NULL, /* get_cb_real_name */
83 NULL, /* set_chat_topic */
84 NULL, /* find_blist_chat */
85 NULL, /* roomlist_get_list */
86 NULL, /* roomlist_cancel */
87 NULL, /* roomlist_expand_category */
88 oscar_can_receive_file, /* can_receive_file */
89 oscar_send_file, /* send_file */
90 oscar_new_xfer, /* new_xfer */
91 oscar_offline_message, /* offline_message */
92 NULL, /* whiteboard_prpl_ops */
93 NULL, /* send_raw */
94 NULL, /* roomlist_room_serialize */
95 };
96
97 static GaimPluginInfo info =
98 {
99 GAIM_PLUGIN_MAGIC,
100 GAIM_MAJOR_VERSION,
101 GAIM_MINOR_VERSION,
102 GAIM_PLUGIN_PROTOCOL, /**< type */
103 NULL, /**< ui_requirement */
104 0, /**< flags */
105 NULL, /**< dependencies */
106 GAIM_PRIORITY_DEFAULT, /**< priority */
107
108 "prpl-aim", /**< id */
109 "AIM", /**< name */
110 VERSION, /**< version */
111 /** summary */
112 N_("AIM Protocol Plugin"),
113 /** description */
114 N_("AIM Protocol Plugin"),
115 NULL, /**< author */
116 GAIM_WEBSITE, /**< homepage */
117
118 NULL, /**< load */
119 NULL, /**< unload */
120 NULL, /**< destroy */
121
122 NULL, /**< ui_info */
123 &prpl_info, /**< extra_info */
124 NULL,
125 oscar_actions
126 };
127
128 static void
129 init_plugin(GaimPlugin *plugin)
130 {
131 GaimAccountOption *option;
132
133 option = gaim_account_option_string_new(_("Server"), "server", OSCAR_DEFAULT_LOGIN_SERVER);
134 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
135
136 option = gaim_account_option_int_new(_("Port"), "port", OSCAR_DEFAULT_LOGIN_PORT);
137 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
138
139 option = gaim_account_option_bool_new(
140 _("Always use AIM/ICQ proxy server for file transfers\n(slower, but does not reveal your IP address)"), "always_use_rv_proxy",
141 OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY);
142 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
143
144 /* Preferences */
145 gaim_prefs_add_none("/plugins/prpl/oscar");
146 gaim_prefs_add_bool("/plugins/prpl/oscar/recent_buddies", FALSE);
147 gaim_prefs_add_bool("/plugins/prpl/oscar/show_idle", FALSE);
148 gaim_prefs_remove("/plugins/prpl/oscar/always_use_rv_proxy");
149 }
150
151 GAIM_INIT_PLUGIN(aim, init_plugin, info);