#include "internal.h"#include "debug.h"#include "notify.h"#include "prefs.h"#include "request.h"#include "accountopt.h"#include "prpl.h"#include "gtkroomlist.h"#include "gtklog.h"#include "server.h"#include "utils.h"#include "buddy_info.h"#include "buddy_opt.h"#include "buddy_status.h"#include "char_conv.h"#include "group_find.h"#include "group_im.h"#include "group_info.h"#include "group_join.h"#include "group_opt.h"#include "group.h"#include "header_info.h"#include "im.h"#include "infodlg.h"#include "keep_alive.h"#include "ip_location.h"#include "login_logout.h"#include "qq_proxy.h"#include "send_core.h"#include "qq.h"#include "send_file.h"#include "version.h"qq.c包含/依赖关系图:

宏定义 | |
| #define | OPENQ_VER VERSION |
| #define | OPENQ_AUTHOR "Puzzlebird" |
| #define | OPENQ_WEBSITE "http://openq.linuxsir.org" |
| #define | QQ_TCP_QUERY_PORT "8000" |
| #define | QQ_UDP_PORT "8000" |
函数 | |
| void | _qq_login (GaimAccount *account) |
| void | _qq_close (GaimConnection *gc) |
| const gchar * | _qq_list_icon (GaimAccount *a, GaimBuddy *b) |
| gchar * | _qq_status_text (GaimBuddy *b) |
| gchar * | _qq_tooltip_text (GaimBuddy *b) |
| void | _qq_list_emblems (GaimBuddy *b, char **se, char **sw, char **nw, char **ne) |
| GList * | _qq_away_states (GaimConnection *gc) |
| void | _qq_set_away (GaimConnection *gc, const char *state, const char *msg) |
| gint | _qq_send_im (GaimConnection *gc, const gchar *who, const gchar *message, GaimConvImFlags flags) |
| gint | _qq_chat_send (GaimConnection *gc, gint channel, const gchar *message) |
| void | _qq_get_info (GaimConnection *gc, const gchar *who) |
| void | _qq_menu_get_my_info (GaimPluginAction *action) |
| void | _qq_menu_block_buddy (GaimBlistNode *node, gpointer param_who) |
| void | _qq_menu_show_login_info (GaimPluginAction *action) |
| void | _qq_menu_show_about (GaimPluginAction *action) |
| void | _qq_menu_any_cmd_send_cb (GaimConnection *gc, GaimRequestFields *fields) |
| void | _qq_menu_any_cmd (GaimPluginAction *action) |
| void | _qq_menu_search_or_add_permanent_group (GaimPluginAction *action) |
| void | _qq_menu_create_permanent_group (GaimPluginAction *action) |
| void | _qq_menu_unsubscribe_group (GaimBlistNode *node, gpointer param_components) |
| void | _qq_menu_manage_group (GaimBlistNode *node, gpointer param_components) |
| void | _qq_menu_show_system_message (GaimPluginAction *action) |
| void | _qq_menu_send_file (GaimBlistNode *node, gpointer ignored) |
| GList * | _qq_actions (GaimPlugin *plugin, gpointer context) |
| GList * | _qq_buddy_menu (GaimBlistNode *node) |
| GList * | _qq_chat_menu (GaimConnection *gc, GHashTable *components) |
| void | _qq_keep_alive (GaimConnection *gc) |
| void | _qq_get_chat_buddy_info (GaimConnection *gc, gint channel, const gchar *who) |
| gchar * | _qq_get_chat_buddy_real_name (GaimConnection *gc, gint channel, const gchar *who) |
| void | qq_function_not_implemented (GaimConnection *gc) |
| GaimPluginPrefFrame * | get_plugin_pref_frame (GaimPlugin *plugin) |
| void | init_plugin (GaimPlugin *plugin) |
| GAIM_INIT_PLUGIN (qq, init_plugin, info) | |
变量 | |
| const gchar * | udp_server_list [] |
| const gint | udp_server_amount = (sizeof(udp_server_list) / sizeof(udp_server_list[0])) |
| const gchar * | tcp_server_list [] |
| const gint | tcp_server_amount = (sizeof(tcp_server_list) / sizeof(tcp_server_list[0])) |
| GaimPlugin * | my_protocol = NULL |
| static GaimPluginProtocolInfo | prpl_info |
| static GaimPluginUiInfo | prefs_info |
| static GaimPluginInfo | info |
gaim
Copyright (C) 2004 Puzzlebird
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
在文件qq.c中定义。
|
|
|
|
|
|
|
|
|
|
|
参考自 _qq_login(). |
|
|
参考自 _qq_login(). |
|
||||||||||||
|
|
|
|
|
参考 _qq_menu_block_buddy()及_qq_menu_send_file(). 函数调用图: ![]() |
|
||||||||||||
|
参考 _qq_menu_manage_group()及_qq_menu_unsubscribe_group(). 函数调用图: ![]() |
|
||||||||||||||||
|
参考 gaim_smiley_to_qq()、QQ_CHARSET_DEFAULT、qq_group_find_by_channel()、QQ_MSG_IM_MAX、qq_send_packet_group_im()及utf8_to_qq(). 函数调用图: ![]() |
|
|
参考 qq_disconnect(). 函数调用图: ![]() |
|
||||||||||||||||
|
参考 _qq_get_info()及qq_group_find_member_by_channel_and_nickname(). 函数调用图: ![]() |
|
||||||||||||||||
|
参考 qq_group_find_member_by_channel_and_nickname(). 函数调用图: ![]() |
|
||||||||||||
|
参考 gaim_name_to_uid()及qq_send_packet_get_info(). 参考自 _qq_get_chat_buddy_info()及_qq_menu_get_my_info(). 函数调用图: ![]() |
|
|
参考 _qq_data::groups、_qq_group::my_status、QQ_GROUP_MEMBER_STATUS_IS_ADMIN、QQ_GROUP_MEMBER_STATUS_IS_MEMBER、qq_send_cmd_group_get_group_info()及qq_send_packet_keep_alive(). 函数调用图: ![]() |
|
||||||||||||||||||||||||
|
|
|
||||||||||||
|
参考 get_icon_name()、get_suffix_from_status()、_qq_buddy::icon及_qq_buddy::status. 函数调用图: ![]() |
|
|
|
参考 _qq_menu_any_cmd_send_cb(). 参考自 _qq_actions(). 函数调用图: ![]() |
|
||||||||||||
|
参考 hex_dump_to_str()、qq_get_cmd_desc()、qq_send_cmd()及split_data(). 参考自 _qq_menu_any_cmd(). 函数调用图: ![]() |
|
||||||||||||
|
参考 gaim_name_to_uid()、_gc_and_uid::gc、qq_block_buddy_with_gc_and_uid()、qq_do_nothing_with_gc_and_uid()及_gc_and_uid::uid. 参考自 _qq_buddy_menu(). 函数调用图: ![]() |
|
|
参考 qq_group_create_with_name(). 参考自 _qq_actions(). 函数调用图: ![]() |
|
|
参考 _qq_get_info()、_qq_data::uid及uid_to_gaim_name(). 参考自 _qq_actions(). 函数调用图: ![]() |
|
||||||||||||
|
参考自 _qq_chat_menu(). 函数调用图: ![]() |
|
|
参考自 _qq_actions(). |
|
||||||||||||
|
参考 qq_send_file(). 参考自 _qq_buddy_menu(). 函数调用图: ![]() |
|
|
参考 info、OPENQ_AUTHOR及OPENQ_VER. 参考自 _qq_actions(). |
|
|
|
参考自 _qq_actions(). |
|
||||||||||||
|
参考 qq_group_exit(). 参考自 _qq_chat_menu(). 函数调用图: ![]() |
|
||||||||||||||||||||
|
参考 gaim_name_to_uid()、gaim_smiley_to_qq()、QQ_CHARSET_DEFAULT、QQ_IM_AUTO_REPLY、QQ_IM_TEXT、QQ_MSG_IM_MAX、qq_send_packet_im()、_qq_data::uid及utf8_to_qq(). 函数调用图: ![]() |
|
||||||||||||||||
|
参考 QQ_SELF_STATUS_AVAILABLE、QQ_SELF_STATUS_AWAY、QQ_SELF_STATUS_CUSTOM、QQ_SELF_STATUS_IDLE、QQ_SELF_STATUS_INVISIBLE、qq_send_packet_change_status()及_qq_data::status. 函数调用图: ![]() |
|
|
参考 _qq_buddy::age、_qq_buddy::comm_flag、_qq_buddy::gender、QQ_BUDDY_GENDER_GG、QQ_BUDDY_GENDER_MM、QQ_BUDDY_GENDER_UNKNOWN及QQ_COMM_FLAG_VIDEO. |
|
|
参考 _qq_buddy::comm_flag、gen_ip_str()、_qq_buddy::ip、is_online()、QQ_CHARSET_DEFAULT、QQ_COMM_FLAG_TCP_MODE、qq_ip_get_location()、qq_to_utf8()及_qq_buddy::status. 函数调用图: ![]() |
|
||||||||||||||||
|
|
|
|
|
|
|
参考 my_protocol及prpl_info. |
|
|
|
|
|
初始化序列: {
GAIM_PLUGIN_MAGIC,
GAIM_MAJOR_VERSION,
GAIM_MINOR_VERSION,
GAIM_PLUGIN_PROTOCOL,
NULL,
0,
NULL,
GAIM_PRIORITY_DEFAULT,
"prpl-qq",
"QQ",
OPENQ_VER,
N_("QQ Protocol Plugin"),
N_("QQ Protocol Plugin"),
OPENQ_AUTHOR,
OPENQ_WEBSITE,
NULL,
NULL,
NULL,
NULL,
&prpl_info,
&prefs_info,
_qq_actions
}
参考自 _create_page_basic()、_create_page_contact()、_create_page_details()、_create_page_security()、_info_window_change()、_qq_create_packet_file_header()、_qq_menu_show_about()、_qq_menu_show_login_info()、_qq_send_packet_file_accept()、_qq_send_packet_file_notifyip()、_qq_send_packet_file_request()、_qq_udp_proxy_connect()、_qq_xfer_end()、_qq_xfer_init_socket()、_qq_xfer_recv_init()、_qq_xfer_recv_packet()、_qq_xfer_send_notify_ip_ack()、_qq_xfer_send_start()、_qq_xfer_udp_recv()、_qq_xfer_udp_send()、qq_contact_info_window_free()、qq_process_get_info_reply()、qq_process_recv_file_accept()、qq_process_recv_file_notify()、qq_process_recv_file_request()及qq_refresh_contact_info_dialog(). |
|
|
参考自 init_plugin(). |
|
|
初始化序列: |
|
|
参考自 init_plugin(). |
|
|
参考自 _qq_login(). |
|
|
初始化序列: {
"tcpconn.tencent.com",
"tcpconn2.tencent.com",
"tcpconn3.tencent.com",
"tcpconn4.tencent.com",
}
参考自 _qq_login(). |
|
|
参考自 _qq_login(). |
|
|
初始化序列: {
"sz.tencent.com",
"sz2.tencent.com",
"sz3.tencent.com",
"sz4.tencent.com",
"sz5.tencent.com",
"sz6.tencent.com",
"sz7.tencent.com",
"202.96.170.64",
"64.144.238.155",
"202.104.129.254"
}
参考自 _qq_login(). |
1.4.4