⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qqevent.java

📁 java写的qq代码实现qq的部分功能
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/*
* LumaQQ - Java QQ Client
*
* Copyright (C) 2004 luma <stubma@163.com>
*
* 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
*/
package edu.tsinghua.lumaqq.qq.events;

import java.util.EventObject;


/**
 * <pre>
 * QQ事件类,并非QQ协议的一部分,只是我为了让这个包方便被其他GUI重用,加入了
 * 这些自定义的事件,通过这些事件为GUI的作者提供存取QQ数据的机会。这个事件的
 * 源是某个协议封装类,这些类中都包含了解析好的数据,可以直接使用,当然由于
 * QQ的包是比较多,事件也就多。在这之前,我考虑了是把每个事件都做一个方法还
 * 是统一做一个方法,用户通过常量判断事件类型。这两种方法各有各的好处,也很难
 * 说那种更好,反正事件也有这么多,就这样吧
 * </pre>
 * 
 * @author 马若劼
 */
public class QQEvent extends EventObject {
    /**
     * <code>QQ_LOGIN_SUCCESS</code>事件在登录成功是发生,Source是LoginReplyPacket
     */
    public static final int QQ_LOGIN_SUCCESS = 1;
    
    /**
     * <code>QQ_LOGIN_ERROR</code>事件在登录错误时发生,Source是LoginReplyPacket
     */
    public static final int QQ_LOGIN_PASSWORD_ERROR = 2;
    
    /**
     * <code>QQ_LOGIN_UNKNOWN_ERROR</code>事件在登录时发生未知错误时发生,Source是LoginReplyPacket
     */
    public static final int QQ_LOGIN_UNKNOWN_ERROR = 3;
    
    /**
     * <code>QQ_LOGIN_REDIRECT_NULL</code>事件在重定向到一个0地址时发生,source是
     * LoginReplyPacket
     */
    public static final int QQ_LOGIN_REDIRECT_NULL = 95;
    
    /**
     * <code>QQ_KEEP_ALIVE_SUCCESS</code>事件在Keep Alive包收到确认时发生,source是KeepAliveReplyPacket
     */
    public static final int QQ_KEEP_ALIVE_SUCCESS = 4;
    
    /**
     * <code>QQ_CONNECTION_LOST</code>事件在连接失去时发生,这种情况一般时Keep Alive包没有反应
     * 时触发的,source无用处
     */
    public static final int QQ_CONNECTION_LOST = 5;    
    
    /**
     * <code>QQ_FRIEND_CHANGE_STATUS</code>事件发生在某个好友的状态改变时,source是FriendChangeStatusPacket
     */
    public static final int QQ_FRIEND_CHANGE_STATUS = 7;
    
    /**
     * <code>QQ_GET_USER_INFO_SUCCESS</code>事件发生在得到用户信息成功时,source是GetUserInfoReplyPacket
     */
    public static final int QQ_GET_USER_INFO_SUCCESS = 8;
    
    /**
     * <code>QQ_GET_USER_INFO_FAIL</code>事件发生在得到用户信息失败时,可能的原因是数据不
     * 对等等,source是GetUserInfoReplyPacket
     */
    public static final int QQ_GET_USER_INFO_FAIL = 9;
    
    /**
     * <code>QQ_CHANGE_STATUS_SUCCESS</code>事件发生你自己的状态改变成功时,source是ChangeStatusReplyPacket
     */
    public static final int QQ_CHANGE_STATUS_SUCCESS = 10;
    
    /**
     * <code>QQ_CHANGE_STATUS_FAIL</code>事件发生你自己的状态改变失败时,source是ChangeStatusReplyPacket
     */
    public static final int QQ_CHANGE_STATUS_FAIL = 11;
    
    /**
     * <code>QQ_GET_FRIEND_LIST_SUCCESS</code>事件发生在得到好友列表成功
     * 时,source是GetFriendListReplyPacket,需要检查回复包的标志来判断是否
     * 还有更多好友需要得到
     */
    public static final int QQ_GET_FRIEND_LIST_SUCCESS = 12;
    
    /**
     * <code>QQ_GET_FRIEND_ONLINE_SUCCESS</code>事件在得到在线好友列表成功时发生,source是
     * GetFriendOnlineReplyPacket,用户应该检查position字段判断是否还有更多在线好友
     */
    public static final int QQ_GET_FRIEND_ONLINE_SUCCESS = 14;
    
    /**
     * <code>QQ_SEND_IM_SUCCESS</code>事件在发送消息成功时发生,表示消息已经成功发送,source是
     * SendIMPacket,注意不是SendIMReplyPacket,这个没什么用
     */
    public static final int QQ_SEND_IM_SUCCESS = 16;
    
    /**
     * <code>QQ_KICKED_OUT_BY_SYSTEM</code>事件在收到你的QQ号在其他地方登陆导致你被系统踢出时发生,
     * source是SystemNotificationPacket。系统通知和系统消息是不同的两种事件,系统通知是对你一个人发
     * 出的(或者是和你相关的),系统消息是一种广播式的,每个人都会收到,要分清楚这两种事件。此外
     * 系统通知的载体是SystemNotificationPacket,而系统消息是ReceiveIMPacket,ReceiveIMPacket的功
     * 能和格式很多。这也是一个区别。注意其后的我被其他人加为好友,验证被通过被拒绝等等,都是系统
     * 通知范畴
     */
    public static final int QQ_KICKED_OUT_BY_SYSTEM = 17;
    
    /**
     * <code>QQ_RECEIVE_SYS_MESSAGE</code>事件在收到一条系统广播消息时发生,source是ReceiveIMPacket
     */
    public static final int QQ_RECEIVE_SYS_MESSAGE = 38;
    
    /**
     * <code>QQ_RECEIVE_NORMAL_IM</code>事件在收到一个普通消息是发生,source是ReceiveIMPacket
     */
    public static final int QQ_RECEIVE_NORMAL_IM = 18;
    
    /**
     * <code>QQ_MODIFY_INFO_FAIL</code>事件在修改用户信息失败时发生,
     * source是ModifyInfoPacket,注意不是ModifyInfoReplyPacket,这个包没用
     */
    public static final int QQ_MODIFY_INFO_FAIL = 19;
    
    /**
     * <code>QQ_MODIFY_INFO_SUCCESS</code>事件在修改用户信息成功是发生,source是
     * ModifyInfoPacket
     */
    public static final int QQ_MODIFY_INFO_SUCCESS = 20;    
    
    /**
     * <code>QQ_ADDED_BY_OTHERS</code>事件发生在有人将我加为好友时,source是SystemNotificationPacket
     */
    public static final int QQ_ADDED_BY_OTHERS = 21;
    
    /**
     * <code>QQ_REQUEST_ADD_ME</code>事件发生在有人请求加我为好友时,上面的是我没有设置验证
     * 是发生的,这个事件是我如果设了验证时发生的,两者不会都发生。source是SystemNotificationPacket
     */
    public static final int QQ_REQUEST_ADD_ME = 22;
    
    /**
     * <code>QQ_REQUEST_ADD_OTHER_APPROVED</code>事件发生在我请求加一个人,那个人同意我加的时候,
     * source是SystemNotificationPacket
     */
    public static final int QQ_REQUEST_ADD_OTHER_APPROVED = 23;
    
    /**
     * <code>QQ_REQUEST_ADD_OTHER_REJECTED</code>事件发生在我请求加一个人,那个人拒绝时,
     * source是SystemNotificationPacket
     */
    public static final int QQ_REQUEST_ADD_OTHER_REJECTED = 24;
    
    /**
     * <code>QQ_ADD_FRIEND_SUCCESS</code>事件发生在我添加一个好友成功时,source是AddFriendPacket,
     * 注意不是AddFriendReplyPacket,因为Reply包毫无价值
     */
    public static final int QQ_ADD_FRIEND_SUCCESS = 25;
    
    /**
     * <code>QQ_ADD_FRIEND_NEED_AUTH</code>事件发生在我添加一个好友,但是对方需要认证时,
     * source是AddFriendPacket
     */
    public static final int QQ_ADD_FRIEND_NEED_AUTH = 26;
    
    /**
     * <code>QQ_ADD_FRIEND_FORBIDDEN</code>事件发生在我添加一个好友,但是对方设置了
     * 禁止别人把我添加为好友,source是AddFriendPacket
     */
    public static final int QQ_ADD_FRIEND_DENY = 27;
    
    /**
     * <code>QQ_DELETE_FRIEND_SUCCESS</code>事件在删除好友成功时发生,source是DeleteFriendPacket
     * ,注意不是DeleteFriendReplyPacket,这个包没有用
     */
    public static final int QQ_DELETE_FRIEND_SUCCESS = 28;
    
    /**
     * <code>QQ_DELETE_FRIEND_FAIL</code>事件在删除好友失败是发生,source是DeleteFriendPacket
     */
    public static final int QQ_DELETE_FRIEND_FAIL = 29;
    
    /**
     * <code>QQ_ADD_FRIEND_AUTH_SEND_SUCCESS</code>事件在你发送认证信息给别人成功时发生,
     * source是AddFriendAuthPacket,注意不是AddFriendAuthReplyPacket,这个包没用
     */
    public static final int QQ_ADD_FRIEND_AUTH_SEND_SUCCESS = 30;
    
    /**
     * <code>QQ_ADD_FRIEND_AUTH_SEND_FAIL</code>事件在你发送认证信息给别人失败时发生,
     * source是AddFriendAuthPacket
     */
    public static final int QQ_ADD_FRIEND_AUTH_SEND_FAIL = 31;
    
    /**
     * <code>QQ_ADD_FRIEND_FAIL</code>事件发生在请求信息发送失败时,source是AddFriendPacket
     */
    public static final int QQ_ADD_FRIEND_FAIL = 32;
    
    /**
     * <code>QQ_OPERATION_TIMEOUT</code>事件在操作超时时发生,也就是请求包没有能收到回复,
     * source是要发送的那个包,通知QQEvent的operation字段表示了操作的类型。要注意超时事件和
     * Fail事件的不同,超时是指包没有收到任何确认,fail是指确认收到了,并且根据确认包的内容,
     * 操作失败了
     */
    public static final int QQ_OPERATION_TIMEOUT = 33;
    
    /**
     * <code>QQ_REMOVE_SELF_SUCCESS</code>事件在把自己从别人的好友列表中删除成功时发生,
     * source是RemoveSelfReplyPacket,不过没什么用
     */
    public static final int QQ_REMOVE_SELF_SUCCESS = 34;
    
    /**
     * <code>QQ_REMOVE_SELF_FAIL</code>事件在把自己从别人的好友列表中删除失败时发生,
     * source是RemoveSelfReplyPacket,不过没什么用
     */
    public static final int QQ_REMOVE_SELF_FAIL = 35;
    
    /**
     * <code>QQ_SEARCH_USER_SUCCESS</code>事件在搜索在线用户成功时发生,source是SearchUserReplyPacket
     */
    public static final int QQ_SEARCH_USER_SUCCESS = 36;
    
    /**
     * <code>QQ_SEARCH_USER_END</code>事件在一次搜索已经全部完成时发生,source是SearchUserReplyPacket,
     * 但是这个纯粹是通知事件,没有实际数据返回
     */
    public static final int QQ_SEARCH_USER_END = 37;
    
    /**
     * <code>QQ_SEND_FILE_REQUEST_SEND_SUCCESS</code>事件在传送文件请求发送成功时发生,source是
     * SendIMPacket
     */
    public static final int QQ_SEND_FILE_REQUEST_SEND_SUCCESS = 38;
    
    /**
     * <code>QQ_ACCEPT_SEND_FILE</code>事件在对方接受了自己的传输文件请求时发生,source是ReceiveIMPacket,
     * 接到这个包就可以抽出好友的端口开始初始化连接了
     */
    public static final int QQ_ACCEPT_SEND_FILE = 39;
    
    /**
     * <code>QQ_REJECT_SEND_FILE</code>事件在对方拒绝了自己的传输文件请求时发生,source是ReceiveIMPacket

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -