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

📄 qqevent.java

📁 MilyQQ是一个使用控制台的QQ客户端,基于LumaQQ的核心JQL包开发,只有一个可执行的jar包(MilyQQ.jar),携带方便,由于是Java程序,因此理论上应该可以运行于所有平台,不过基于
💻 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事件是比包事件更高一级的封装。其代表了某个具体动作的发生,包事件是粗粒度的,
 * QQ事件是细粒度的。每个QQ事件都有一个相应的包与之关联,这些包中的字段是否可用,要根据
 * QQ事件来判断。按理来说是应该写个事件参考手册的。但是懒,就不写了。
 * </pre>
 *
 * @author luma
 */
public class QQEvent extends EventObject {
	private static final long serialVersionUID = 3256718502722024499L;

	/**
     * <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是
     * GetOnlineOpReplyPacket,用户应该检查position字段判断是否还有更多在线好友
     */
    public static final int QQ_GET_FRIEND_ONLINE_SUCCESS = 14;

    /**
     * <code>QQ_RECEIVE_SYS_MESSAGE</code>事件在收到一条系统广播消息时发生,
     * source是ReceiveIMPacket
     */
    public static final int QQ_RECEIVE_SYS_MESSAGE = 15;

    /**
     * <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_NORMAL_IM</code>事件在收到一个普通消息是发生,
     * source是ReceiveIMPacket
     */
    public static final int QQ_RECEIVE_NORMAL_IM = 18;

    /**
     * <code>QQ_MODIFY_INFO_FAIL</code>事件在修改用户信息失败时发生,
     * source是ModifyInfoPacket,注意不是ModifyInfoReplyPacket,因为
     * Reply包毫无价值
     */
    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_ADDED_BY_OTHERS_EX</code>事件发生在有人将我加为好友时,source是SystemNotificationPacket
     */
    public static final int QQ_ADDED_BY_OTHERS_EX = 164;

    /**
     * <code>QQ_REQUEST_ADD_ME</code>事件发生在有人请求加我为好友时,上面的是我没有设置验证
     * 是发生的,这个事件是我如果设了验证时发生的,两者不会都发生。source是SystemNotificationPacket
     */
    public static final int QQ_REQUEST_ADD_ME = 22;

    /**
     * <code>QQ_REQUEST_ADD_ME_EX</code>事件发生在有人请求加我为好友时,source是SystemNotificationPacket。
     * 这是QQ_REQUEST_ADD_ME的扩展事件,在2005中使用
     */
    public static final int QQ_REQUEST_ADD_ME_EX = 144;

    /**
     * <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是AddFriendExReplyPacket
     */
    public static final int QQ_ADD_FRIEND_SUCCESS = 25;

    /**
     * <code>QQ_ADD_FRIEND_NEED_AUTH</code>事件发生在我添加一个好友,但是对方需要认证时,
     * source是AddFriendExReplyPacket
     */
    public static final int QQ_ADD_FRIEND_NEED_AUTH = 26;

    /**
     * <code>QQ_ADD_FRIEND_DENY</code>事件发生在我添加一个好友,但是对方设置了
     * 禁止别人把我添加为好友,source是AddFriendExReplyPacket
     */
    public static final int QQ_ADD_FRIEND_DENY = 27;

    /**
     * <code>QQ_ADD_FRIEND_ALREADY</code>事件发生在我添加一个好友,但是
     * 对方已经是我的好友,source是AddFriendExReplyPacket
     */
    public static final int QQ_ADD_FRIEND_ALREADY = 165;

    /**
     * <code>QQ_DELETE_FRIEND_SUCCESS</code>事件在删除好友成功时发生,
     * source是DeleteFriendPacket,注意不是DeleteFriendReplyPacket,
     * 因为Reply包毫无价值
     */
    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
     */
    public static final int QQ_REJECT_SEND_FILE = 40;

    /**
     * <code>QQ_REQUEST_SEND_FILE</code>事件发生在对方请求向我传送文件时,source是ReceiveIMPacket
     */
    public static final int QQ_REQUEST_SEND_FILE = 41;

    /**
     * <code>QQ_UPLOAD_GROUP_NAME_SUCCESS</code>事件在上传分组名称成功时发生,source是GroupNameOpReplyPacket,
     * 但是基本没有什么可用信息,通知事件而已
     */
    public static final int QQ_UPLOAD_GROUP_NAME_SUCCESS	= 42;

    /**
     * <code>QQ_DOWNLOAD_GROUP_NAME_SUCCESS</code>事件在下载分组名称成功时发生,source是GroupNameOpReplyPacket
     */
    public static final int QQ_DOWNLOAD_GROUP_NAME_SUCCESS = 43;

    /**
     * <code>QQ_UPLOAD_GROUP_FRIEND_SUCCESS</code>事件在上传分组中的好友列表成功时发生,source是
     * UploadGroupFriendPacket,不过没有什么可用信息,通知事件而已
     */
    public static final int QQ_UPLOAD_GROUP_FRIEND_SUCCESS = 44;

    /**
     * <code>QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS</code>事件在下载分组中的好友列表成功时发生,source是
     * DownloadGroupFriendReplyPacket
     */
    public static final int QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS = 45;

    /**
     * <code>QQ_DOWNLOAD_GROUP_FRIEND_FAIL</code>事件在下载分组中的好友列表失败时发生,source是
     * DownloadGroupFriendReplyPacket
     */
    public static final int QQ_DOWNLOAD_GROUP_FRIEND_FAIL = 107;

    /**
     * <code>QQ_UPLOAD_GROUP_FRIEND_FAIL</code>事件在上传分组好友列表失败时发生,source是
     * UploadGroupFriendReplyPacket,通知事件而已
     */
    public static final int QQ_UPLOAD_GROUP_FRIEND_FAIL = 46;

    /**
     * <code>QQ_UPLOAD_FRIEND_REMARK_SUCCESS</code>在上传好友备注信息成功时发生,source是
     * FriendDataOpPacket
     */
    public static final int QQ_UPLOAD_FRIEND_REMARK_SUCCESS = 47;

    /**
     * <code>QQ_DOWNLOAD_FRIEND_REMARK_SUCCESS</code>在下载好友备注信息成功时发生,source是
     * FriendDataOpReplyPacket
     */
    public static final int QQ_DOWNLOAD_FRIEND_REMARK_SUCCESS = 48;

    /**
     * <code>QQ_BATCH_DOWNLOAD_FRIEND_REMARK_SUCCESS</code>在批量下载好友备注信息成功时发生,source是
     * FriendDataOpReplyPacket
     */
    public static final int QQ_BATCH_DOWNLOAD_FRIEND_REMARK_SUCCESS = 116;

    /**
     * <code>QQ_REMOVE_FRIEND_FROM_LIST_SUCCESS</code>在把好友从服务器端列表
     * 中删除成功时发生,source是FriendDataOpPacket
     */
    public static final int QQ_REMOVE_FRIEND_FROM_LIST_SUCCESS = 106;

    /**
     * <code>QQ_CANCEL_SEND_FILE</code>在用户取消传送文件操作时发生,source是ReceiveIMPacket
     */
    public static final int QQ_CANCEL_SEND_FILE = 49;

    /**
     * <code>QQ_NOTIFY_FILE_TRANSFER_ARGS</code>在发送文件方通知另一方其IP和端口信息时发生,

⌨️ 快捷键说明

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