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

📄 qqevent.java

📁 lumaQQ的源文件
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
/*
* 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;

import edu.tsinghua.lumaqq.qq.annotation.DocumentalEvent;


/**
 * <pre>
 * QQ事件类。QQ事件是比包事件更高一级的封装。其代表了某个具体动作的发生,包事件是粗粒度的,
 * QQ事件是细粒度的。每个QQ事件都有一个相应的包与之关联,这些包中的字段是否可用,要根据
 * QQ事件来判断。按理来说是应该写个事件参考手册的。但是懒,就不写了。
 * </pre>
 * 
 * @author luma
 */
public class QQEvent extends EventObject {
	private static final long serialVersionUID = 3256718502722024499L;

	/**
     * <code>QQ_LOGIN_SUCCESS</code>事件在登录成功是发生,Source是LoginReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_LOGIN_SUCCESS = 1;
    
    /**
     * <code>QQ_LOGIN_ERROR</code>事件在登录错误时发生,Source是LoginReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_LOGIN_FAIL = 2;
    
    /**
     * <code>QQ_LOGIN_UNKNOWN_ERROR</code>事件在登录时发生未知错误时发生,Source是LoginReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_LOGIN_UNKNOWN_ERROR = 3;
    
    /**
     * <code>QQ_LOGIN_REDIRECT_NULL</code>事件在重定向到一个0地址时发生,source是
     * LoginReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_LOGIN_REDIRECT_NULL = 95;
    
    /**
     * <code>QQ_KEEP_ALIVE_SUCCESS</code>事件在Keep Alive包收到确认时发生,source是KeepAliveReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_KEEP_ALIVE_SUCCESS = 4;
    
    /**
     * <code>QQ_CONNECTION_LOST</code>事件在连接失去时发生,这种情况一般时Keep Alive包没有反应
     * 时触发的,source无用处
     */
	@DocumentalEvent
    public static final int QQ_CONNECTION_LOST = 5;    
    
    /**
     * <code>QQ_FRIEND_CHANGE_STATUS</code>事件发生在某个好友的状态改变时,source是FriendChangeStatusPacket
     */
	@DocumentalEvent
    public static final int QQ_FRIEND_CHANGE_STATUS = 7;
    
    /**
     * <code>QQ_GET_USER_INFO_SUCCESS</code>事件发生在得到用户信息成功时,source是GetUserInfoReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_GET_USER_INFO_SUCCESS = 8;
    
    /**
     * <code>QQ_CHANGE_STATUS_SUCCESS</code>事件发生你自己的状态改变成功时,source是ChangeStatusReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_CHANGE_STATUS_SUCCESS = 10;
    
    /**
     * <code>QQ_CHANGE_STATUS_FAIL</code>事件发生你自己的状态改变失败时,source是ChangeStatusReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_CHANGE_STATUS_FAIL = 11;
    
    /**
     * <code>QQ_GET_FRIEND_LIST_SUCCESS</code>事件发生在得到好友列表成功
     * 时,source是GetFriendListReplyPacket,需要检查回复包的标志来判断是否
     * 还有更多好友需要得到
     */
	@DocumentalEvent
    public static final int QQ_GET_FRIEND_LIST_SUCCESS = 12;
    
    /**
     * <code>QQ_GET_FRIEND_ONLINE_SUCCESS</code>事件在得到在线好友列表成功时发生,source是
     * GetOnlineOpReplyPacket,用户应该检查position字段判断是否还有更多在线好友
     */
	@DocumentalEvent
    public static final int QQ_GET_FRIEND_ONLINE_SUCCESS = 14;
    
    /**
     * <code>QQ_RECEIVE_SYS_MESSAGE</code>事件在收到一条系统广播消息时发生,
     * source是ReceiveIMPacket
     */
	@DocumentalEvent
    public static final int QQ_RECEIVE_SYS_MESSAGE = 15;
    
    /**
     * <code>QQ_SEND_IM_SUCCESS</code>事件在发送消息成功时发生,表示消息已经成功发送,source是
     * SendIMPacket,注意不是SendIMReplyPacket,这个没什么用
     */
	@DocumentalEvent
    public static final int QQ_SEND_IM_SUCCESS = 16;
    
    /**
     * <code>QQ_KICKED_OUT_BY_SYSTEM</code>事件在收到你的QQ号在其他地方登陆导致你被系统踢出时发生,
     * source是SystemNotificationPacket。系统通知和系统消息是不同的两种事件,系统通知是对你一个人发
     * 出的(或者是和你相关的),系统消息是一种广播式的,每个人都会收到,要分清楚这两种事件。此外
     * 系统通知的载体是SystemNotificationPacket,而系统消息是ReceiveIMPacket,ReceiveIMPacket的功
     * 能和格式很多。这也是一个区别。注意其后的我被其他人加为好友,验证被通过被拒绝等等,都是系统
     * 通知范畴
     */
	@DocumentalEvent
    public static final int QQ_KICKED_OUT_BY_SYSTEM = 17;
    
    /**
     * <code>QQ_RECEIVE_NORMAL_IM</code>事件在收到一个普通消息是发生,
     * source是ReceiveIMPacket
     */
	@DocumentalEvent
    public static final int QQ_RECEIVE_NORMAL_IM = 18;
    
    /**
     * <code>QQ_MODIFY_INFO_FAIL</code>事件在修改用户信息失败时发生,
     * source是ModifyInfoPacket,注意不是ModifyInfoReplyPacket,因为
     * Reply包毫无价值
     */
	@DocumentalEvent
    public static final int QQ_MODIFY_INFO_FAIL = 19;
    
    /**
     * <code>QQ_MODIFY_INFO_SUCCESS</code>事件在修改用户信息成功是发生,source是
     * ModifyInfoPacket
     */
	@DocumentalEvent
    public static final int QQ_MODIFY_INFO_SUCCESS = 20;    
    
    /**
     * <code>QQ_ADDED_BY_OTHERS</code>事件发生在有人将我加为好友时,source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_ADDED_BY_OTHERS = 21;
    
    /**
     * <code>QQ_ADDED_BY_OTHERS_EX</code>事件发生在有人将我加为好友时,source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_ADDED_BY_OTHERS_EX = 164;
    
    /**
     * <code>QQ_REQUEST_ADD_ME</code>事件发生在有人请求加我为好友时,上面的是我没有设置验证
     * 是发生的,这个事件是我如果设了验证时发生的,两者不会都发生。source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_ADD_ME = 22;
    
    /**
     * <code>QQ_REQUEST_ADD_ME_EX</code>事件发生在有人请求加我为好友时,source是SystemNotificationPacket。
     * 这是QQ_REQUEST_ADD_ME的扩展事件,在2005中使用
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_ADD_ME_EX = 144;
    
    /**
     * <code>QQ_REQUEST_ADD_OTHER_APPROVED_AND_ADD</code>事件发生在有人请求加我为好友时,我同意并且加他
     * 为好友,source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_ADD_OTHER_APPROVED_AND_ADD = 9;
    
    /**
     * <code>QQ_REQUEST_ADD_OTHER_APPROVED</code>事件发生在我请求加一个人,
     * 那个人同意我加的时候,source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_ADD_OTHER_APPROVED = 23;
    
    /**
     * <code>QQ_REQUEST_ADD_OTHER_REJECTED</code>事件发生在我请求加一个人,那个人拒绝时,
     * source是SystemNotificationPacket
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_ADD_OTHER_REJECTED = 24;
    
    /**
     * <code>QQ_ADD_FRIEND_SUCCESS</code>事件发生在我添加一个好友成功时,
     * source是AddFriendExReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_ADD_FRIEND_SUCCESS = 25;
    
    /**
     * <code>QQ_ADD_FRIEND_NEED_AUTH</code>事件发生在我添加一个好友,但是对方需要认证时,
     * source是AddFriendExReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_ADD_FRIEND_NEED_AUTH = 26;
    
    /**
     * <code>QQ_ADD_FRIEND_DENY</code>事件发生在我添加一个好友,但是对方设置了
     * 禁止别人把我添加为好友,source是AddFriendExReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_ADD_FRIEND_DENY = 27;
    
    /**
     * <code>QQ_ADD_FRIEND_ALREADY</code>事件发生在我添加一个好友,但是
     * 对方已经是我的好友,source是AddFriendExReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_ADD_FRIEND_ALREADY = 165;
    
    /**
     * <code>QQ_DELETE_FRIEND_SUCCESS</code>事件在删除好友成功时发生,
     * source是DeleteFriendPacket,注意不是DeleteFriendReplyPacket,
     * 因为Reply包毫无价值
     */
	@DocumentalEvent
    public static final int QQ_DELETE_FRIEND_SUCCESS = 28;
    
    /**
     * <code>QQ_DELETE_FRIEND_FAIL</code>事件在删除好友失败是发生,
     * source是DeleteFriendPacket
     */
	@DocumentalEvent
    public static final int QQ_DELETE_FRIEND_FAIL = 29;
    
    /**
     * <code>QQ_ADD_FRIEND_AUTH_SEND_SUCCESS</code>事件在你发送认证信息给别人成功时发生,
     * source是AddFriendAuthResponsePacket,注意不是AddFriendAuthReplyPacket,这个包没用
     */
    @DocumentalEvent
    public static final int QQ_ADD_FRIEND_AUTH_SEND_SUCCESS = 30;
    
    /**
     * <code>QQ_ADD_FRIEND_AUTH_SEND_FAIL</code>事件在你发送认证信息给别人失败时发生,
     * source是AddFriendAuthResponsePacket
     */
    @DocumentalEvent
    public static final int QQ_ADD_FRIEND_AUTH_SEND_FAIL = 31;
    
    /**
     * <code>QQ_ADD_FRIEND_FAIL</code>事件发生在请求信息发送失败时,source是AddFriendPacket
     */
	@DocumentalEvent
    public static final int QQ_ADD_FRIEND_FAIL = 32;
    
    /**
     * <code>QQ_OPERATION_TIMEOUT</code>事件在操作超时时发生,也就是请求包没有能收到回复,
     * source是要发送的那个包,通知QQEvent的operation字段表示了操作的类型。要注意超时事件和
     * Fail事件的不同,超时是指包没有收到任何确认,fail是指确认收到了,并且根据确认包的内容,
     * 操作失败了
     */
	@DocumentalEvent
    public static final int QQ_OPERATION_TIMEOUT = 33;
    
    /**
     * <code>QQ_REMOVE_SELF_SUCCESS</code>事件在把自己从别人的好友列表中删除成功时发生,
     * source是RemoveSelfReplyPacket,不过没什么用
     */
	@DocumentalEvent
    public static final int QQ_REMOVE_SELF_SUCCESS = 34;
    
    /**
     * <code>QQ_REMOVE_SELF_FAIL</code>事件在把自己从别人的好友列表中删除失败时发生,
     * source是RemoveSelfReplyPacket,不过没什么用
     */
	@DocumentalEvent
    public static final int QQ_REMOVE_SELF_FAIL = 35;
    
    /**
     * <code>QQ_SEARCH_USER_SUCCESS</code>事件在搜索在线用户成功时发生,source是SearchUserReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_SEARCH_USER_SUCCESS = 36;
    
    /**
     * <code>QQ_SEARCH_USER_END</code>事件在一次搜索已经全部完成时发生,source是SearchUserReplyPacket,
     * 但是这个纯粹是通知事件,没有实际数据返回
     */
	@DocumentalEvent
    public static final int QQ_SEARCH_USER_END = 37;
    
    /**
     * <code>QQ_SEND_FILE_REQUEST_SEND_SUCCESS</code>事件在传送文件请求发送成功时发生,source是
     * SendIMPacket
     */
	@DocumentalEvent
    public static final int QQ_SEND_FILE_REQUEST_SEND_SUCCESS = 38;
    
    /**
     * <code>QQ_ACCEPT_SEND_FILE</code>事件在对方接受了自己的传输文件请求时发生,source是ReceiveIMPacket,
     * 接到这个包就可以抽出好友的端口开始初始化连接了
     */
	@DocumentalEvent
    public static final int QQ_ACCEPT_SEND_FILE = 39;
    
    /**
     * <code>QQ_REJECT_SEND_FILE</code>事件在对方拒绝了自己的传输文件请求时发生,source是ReceiveIMPacket
     */
	@DocumentalEvent
    public static final int QQ_REJECT_SEND_FILE = 40;
    
    /**
     * <code>QQ_REQUEST_SEND_FILE</code>事件发生在对方请求向我传送文件时,source是ReceiveIMPacket
     */
	@DocumentalEvent
    public static final int QQ_REQUEST_SEND_FILE = 41;
    
    /**
     * <code>QQ_UPLOAD_GROUP_NAME_SUCCESS</code>事件在上传分组名称成功时发生,source是GroupNameOpReplyPacket,
     * 但是基本没有什么可用信息,通知事件而已
     */
	@DocumentalEvent
    public static final int QQ_UPLOAD_GROUP_NAME_SUCCESS	= 42;
    
    /**
     * <code>QQ_DOWNLOAD_GROUP_NAME_SUCCESS</code>事件在下载分组名称成功时发生,source是GroupNameOpReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_DOWNLOAD_GROUP_NAME_SUCCESS = 43;
    
    /**
     * <code>QQ_UPLOAD_GROUP_FRIEND_SUCCESS</code>事件在上传分组中的好友列表成功时发生,source是
     * UploadGroupFriendPacket,不过没有什么可用信息,通知事件而已
     */
	@DocumentalEvent
    public static final int QQ_UPLOAD_GROUP_FRIEND_SUCCESS = 44;
    
    /**
     * <code>QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS</code>事件在下载分组中的好友列表成功时发生,source是
     * DownloadGroupFriendReplyPacket
     */
	@DocumentalEvent
    public static final int QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS = 45;
    
    /**
     * <code>QQ_DOWNLOAD_GROUP_FRIEND_FAIL</code>事件在下载分组中的好友列表失败时发生,source是

⌨️ 快捷键说明

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