📄 packetprocessor.java
字号:
private void processClusterModifyInfoReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("群信息修改成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("群信息修改失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_FAIL;
this.fireQQEvent(e);
}
}
// 处理认证信息发送的回复包
private void processClusterJoinAuthReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("认证信息发送成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("认证信息发送失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_FAIL;
this.fireQQEvent(e);
}
}
// 处理加入群的回复包
private void processClusterJoinReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
if(packet.joinReply == QQ.QQ_CLUSTER_JOIN_OK) {
log.debug("加入群成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_JOIN_CLUSTER_SUCCESS;
this.fireQQEvent(e);
} else if(packet.joinReply == QQ.QQ_CLUSTER_JOIN_NEED_AUTH) {
log.debug("对方需要认证");
e = new QQEvent(packet);
e.type = QQEvent.QQ_JOIN_CLUSTER_NEED_AUTH;
this.fireQQEvent(e);
} else {
log.debug("收到加入群的回复,但是回复码未知,抛弃该包");
}
} else {
log.debug("加入群失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_JOIN_CLUSTER_FAIL;
this.fireQQEvent(e);
}
}
// 初始退出群的回复包
private void processClusterExitReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("退出群成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_EXIT_CLUSTER_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("退出群失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_EXIT_CLUSTER_FAIL;
this.fireQQEvent(e);
}
}
// 处理得到群成员信息的回复包
private void processClusterGetMemberInfoReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("得到群成员信息成功");
if(log.isDebugEnabled()) {
Iterator iter = packet.memberInfos.iterator();
while(iter.hasNext()) {
QQFriend info = (QQFriend)iter.next();
log.debug(info.nick + " " + info.qqNum + " " + info.age);
}
}
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_MEMBER_INFO_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("得到群成员信息失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
this.fireQQEvent(e);
}
}
// 处理得到在线群成员的回复包
private void processClusterGetOnlineMemberReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("得到在线成员列表成功");
if(log.isDebugEnabled()) {
Iterator iter = packet.onlineMembers.iterator();
while(iter.hasNext()) {
log.debug("成员" + iter.next() + "在线");
}
}
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_ONLINE_MEMBER_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("得到在线成员列表失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
this.fireQQEvent(e);
}
}
// 处理得到群信息回复包
private void processClusterGetInfoReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("成功得到群信息,群内部ID:" + packet.clusterId + " 群名称:" + packet.info.name);
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_CLUSTER_INFO_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("得到群信息失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_CLUSTER_INFO_FAIL;
this.fireQQEvent(e);
}
}
// 处理激活群回复包
private void processClusterActivateReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("群激活成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_ACTIVATE_CLUSTER_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("群激活失败");
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_ACTIVATE_CLUSTER_FAIL;
this.fireQQEvent(e);
}
}
// 处理创建群回复包
private void processClusterCreateReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
log.debug("群创建成功,内部ID:" + packet.clusterId + " 外部ID:" + packet.externalId);
e = new QQEvent(packet);
e.type = QQEvent.QQ_CREATE_CLUSTER_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("群创建失败");
e = new QQEvent(packet);
e.type = QQEvent.QQ_CREATE_CLUSTER_FAIL;
this.fireQQEvent(e);
}
}
// 处理上传下载备注的回复包
private void processFriendRemarkOpReply(InPacket in) throws PacketParseException {
QQEvent e;
FriendRemarkOpReplyPacket packet = (FriendRemarkOpReplyPacket)in;
// 判断操作类型
if(packet.type == QQ.QQ_UPLOAD_FRIEND_REMARK) {
if(packet.replyCode == QQ.QQ_UPLOAD_FRIEND_REMARK_OK) {
log.debug("上传好友备注信息成功");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_UPLOAD_FRIEND_REMARK_SUCCESS;
this.fireQQEvent(e);
}
} else if(packet.type == QQ.QQ_DOWNLOAD_FRIEND_REMARK) {
log.debug("下载好友备注信息成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_DOWNLOAD_FRIEND_REMARK_SUCCESS;
this.fireQQEvent(e);
}
}
// 处理下载分组好友列表回复包
private void processDownloadGroupFriendReply(InPacket in) throws PacketParseException {
QQEvent e;
DownloadGroupFriendReplyPacket packet = (DownloadGroupFriendReplyPacket)in;
monitor.retrieveRequest(packet);
// 触发事件
log.debug("下载分组好友列表成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS;
this.fireQQEvent(e);
}
// 处理上传分组名称回复包
private void processGroupNameOpReply(InPacket in) throws PacketParseException {
QQEvent e;
GroupNameOpReplyPacket packet = (GroupNameOpReplyPacket)in;
// 触发事件
monitor.retrieveRequest(packet);
if(packet.type == QQ.QQ_UPLOAD_GROUP_NAME) {
log.debug("上传分组名称成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_UPLOAD_GROUP_NAME_SUCCESS;
this.fireQQEvent(e);
} else if(packet.type == QQ.QQ_DOWNLOAD_GROUP_NAME) {
log.debug("下载分组名称成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_DOWNLOAD_GROUP_NAME_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("未知的分组名称操作类型,忽略该包");
}
}
// 处理上传分组好友列表回复包
private void processUploadGroupFriendReply(InPacket in) throws PacketParseException {
QQEvent e;
UploadGroupFriendReplyPacket packet = (UploadGroupFriendReplyPacket)in;
// 触发事件
monitor.retrieveRequest(packet);
if(packet.replyCode == QQ.QQ_UPLOAD_GROUP_FRIEND_OK) {
log.debug("上传分组好友列表成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("上传分组好友列表失败");
e = new QQEvent(packet);
e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_FAIL;
this.fireQQEvent(e);
}
}
// 处理搜索在线用户的回复包
private void processSearchUserReply(InPacket in) throws PacketParseException {
QQEvent e;
SearchUserReplyPacket packet = (SearchUserReplyPacket)in;
if(!packet.finished && log.isDebugEnabled()) {
log.debug("搜索用户成功,搜索到下列用户:");
Iterator iter = packet.onlineUsers.iterator();
while(iter.hasNext()) {
OnlineUser user = (OnlineUser)iter.next();
log.debug("用户" + user.qqNum + " 昵称:" + user.nick + " 地区:" + user.province);
}
}
// 触发事件
if(!packet.finished) {
e = new QQEvent(packet);
e.type = QQEvent.QQ_SEARCH_USER_SUCCESS;
this.fireQQEvent(e);
} else {
e = new QQEvent(packet);
e.type = QQEvent.QQ_SEARCH_USER_END;
this.fireQQEvent(e);
}
}
// 处理删除自己的回复包
private void processRemoveSelfReply(InPacket in) throws PacketParseException {
QQEvent e;
RemoveSelfReplyPacket packet = (RemoveSelfReplyPacket)in;
if(packet.replyCode == QQ.QQ_REMOVE_SELF_REPLY_OK) {
log.debug("已经从对方好友列表中删除了自己");
e = new QQEvent(packet);
e.type = QQEvent.QQ_REMOVE_SELF_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("从对方好友列表中删除自己失败");
e = new QQEvent(packet);
e.type = QQEvent.QQ_REMOVE_SELF_FAIL;
this.fireQQEvent(e);
}
}
// 处理修改个人信息的回复包
private void processModifyInfoReply(InPacket in) throws PacketParseException {
QQEvent e;
ModifyInfoReplyPacket packet = (ModifyInfoReplyPacket)in;
if(packet.success) {
log.debug("修改信息成功");
// 设置用户的新的信息
ModifyInfoPacket miPacket = (ModifyInfoPacket)monitor.retrieveRequest(packet);
user.setContactInfo(miPacket.getContactInfo());
e = new QQEvent(miPacket);
e.type = QQEvent.QQ_MODIFY_INFO_SUCCESS;
this.fireQQEvent(e);
} else {
log.debug("修改信息失败");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_MODIFY_INFO_FAIL;
this.fireQQEvent(e);
}
}
// 处理发送认证信息的回复包
private void processAddFriendAuthReply(InPacket in) throws PacketParseException {
QQEvent e;
AddFriendAuthReplyPacket packet = (AddFriendAuthReplyPacket)in;
if(packet.replyCode != QQ.QQ_ADD_FRIEND_AUTH_REPLY_OK) {
log.debug("认证信息发送失败");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_FAIL;
this.fireQQEvent(e);
} else {
log.debug("认证信息发送成功,等待对方回复");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_SUCCESS;
this.fireQQEvent(e);
}
}
// 处理删除好友的回复包
private void processDeleteFriendReply(InPacket in) throws PacketParseException {
QQEvent e;
DeleteFriendReplyPacket packet = (DeleteFriendReplyPacket)in;
if(packet.replyCode != QQ.QQ_DELETE_FRIEND_REPLY_OK) {
log.debug("好友删除失败");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_DELETE_FRIEND_FAIL;
this.fireQQEvent(e);
} else {
log.debug("好友删除成功");
e = new QQEvent(monitor.retrieveRequest(packet));
e.type = QQEvent.QQ_DELETE_FRIEND_SUCCESS;
this.fireQQEvent(e);
}
}
// 处理请求加一个好友的回复包
private void processAddFriendReply(InPacket in) throws PacketParseException {
QQEvent e;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -