📄 basicfamilyprocessor.java
字号:
*
* @param in
*/
private void processWeatherOpReply(BasicInPacket in) {
WeatherOpReplyPacket packet = (WeatherOpReplyPacket)in;
QQEvent e;
switch(packet.replyCode) {
case QQ.QQ_REPLY_OK:
e = new QQEvent(packet);
if(packet.province == null)
e.type = QQEvent.QQ_GET_WEATHER_FAIL;
else
e.type = QQEvent.QQ_GET_WEATHER_SUCCESS;
client.fireQQEvent(e);
break;
default:
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_WEATHER_FAIL;
client.fireQQEvent(e);
break;
}
}
/**
* 处理发送短信回复事件
*
* @param in
*/
private void processSendSMSReply(BasicInPacket in) {
SendSMSReplyPacket packet = (SendSMSReplyPacket)in;
QQEvent e = new QQEvent(packet);
e.type = QQEvent.QQ_SMS_SENT;
client.fireQQEvent(e);
}
/**
* 处理好友等级回复包
*
* @param in
*/
private void processFriendLevelOpReply(BasicInPacket in) {
FriendLevelOpReplyPacket packet = (FriendLevelOpReplyPacket)in;
QQEvent e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_FRIEND_LEVEL_SUCCESS;
client.fireQQEvent(e);
}
/**
* 处理用户属性回复包
*
* @param in
*/
private void processUserPropertyOpReply(BasicInPacket in) {
UserPropertyOpReplyPacket packet = (UserPropertyOpReplyPacket)in;
QQEvent e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_USER_PROPERTY_SUCCESS;
client.fireQQEvent(e);
}
/**
* 处理个性签名操作回复包
*
* @param in
*/
private void processSignatureOpReply(BasicInPacket in) {
QQEvent e;
SignatureOpReplyPacket packet = (SignatureOpReplyPacket)in;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
switch(packet.subCommand) {
case QQ.QQ_SUB_CMD_MODIFY_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_SIGNATURE_SUCCESS;
client.fireQQEvent(e);
break;
case QQ.QQ_SUB_CMD_DELETE_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_DELETE_SIGNATURE_SUCCESS;
client.fireQQEvent(e);
break;
case QQ.QQ_SUB_CMD_GET_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_SIGNATURE_SUCCESS;
client.fireQQEvent(e);
break;
}
} else {
switch(packet.subCommand) {
case QQ.QQ_SUB_CMD_MODIFY_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_SIGNATURE_FAIL;
client.fireQQEvent(e);
break;
case QQ.QQ_SUB_CMD_DELETE_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_DELETE_SIGNATURE_FAIL;
client.fireQQEvent(e);
break;
case QQ.QQ_SUB_CMD_GET_SIGNATURE:
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_SIGNATURE_FAIL;
client.fireQQEvent(e);
break;
}
}
}
/**
* 处理认证消息发送包
*
* @param in
*/
private void processAuthorizeReply(BasicInPacket in) {
QQEvent e;
AuthorizeReplyPacket packet = (AuthorizeReplyPacket)in;
switch(packet.replyCode) {
case QQ.QQ_REPLY_OK:
e = new QQEvent(packet);
e.type = QQEvent.QQ_AUTHORIZE_SEND_SUCCESS;
client.fireQQEvent(e);
break;
default:
e = new QQEvent(packet);
e.type = QQEvent.QQ_AUTHORIZE_SEND_FAIL;
client.fireQQEvent(e);
break;
}
}
/**
* 处理未知命令包,有些和协议无关的包也使用这个命令,比如ErrorPacket
*
* @param in
*/
private void processUnknown(BasicInPacket in) {
QQEvent e = null;
if(in instanceof ErrorPacket) {
ErrorPacket error = (ErrorPacket)in;
switch(error.errorCode) {
case ErrorPacket.ERROR_REMOTE_CLOSED:
e = new QQEvent(error);
e.type = QQEvent.QQ_CONNECTION_BROKEN;
break;
case ErrorPacket.ERROR_TIMEOUT:
OutPacket packet = error.timeoutPacket;
switch(packet.getCommand()) {
case QQ.QQ_CMD_KEEP_ALIVE:
// 说明连接已经丢失
e = new QQEvent(packet);
e.type = QQEvent.QQ_CONNECTION_LOST;
break;
default:
e = new QQEvent(packet);
e.type = QQEvent.QQ_OPERATION_TIMEOUT;
e.operation = packet.getCommand();
break;
}
break;
}
}
if(e != null)
client.fireQQEvent(e);
}
/**
* 处理高级搜索的回复包
*
* @param in
*/
private void processAdvancedSearchReply(BasicInPacket in) {
QQEvent e;
AdvancedSearchUserReplyPacket packet = (AdvancedSearchUserReplyPacket)in;
if(packet.replyCode == QQ.QQ_REPLY_OK && !packet.finished) {
//log.debug("高级搜索成功");
e = new QQEvent(packet);
e.type = QQEvent.QQ_ADVANCED_SEARCH_USER_SUCCESS;
client.fireQQEvent(e);
} else if(packet.replyCode == QQ.QQ_REPLY_ADVANCED_SEARCH_END || packet.finished) {
//log.debug("高级搜索完毕");
e = new QQEvent(packet);
e.type = QQEvent.QQ_ADVANCED_SEARCH_USER_END;
client.fireQQEvent(e);
} else
//log.debug("高级搜索返回未知回复码");
System.err.println("高级搜索返回未知回复码");
}
/**
* 处理请求登录令牌的回复包
*
* @param in
*/
private void processRequestLoginTokenReply(BasicInPacket in) {
QQEvent e;
RequestLoginTokenReplyPacket packet = (RequestLoginTokenReplyPacket)in;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
//log.debug("得到登录令牌成功");
user.setLoginToken(packet.loginToken);
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_LOGIN_TOKEN_SUCCESS;
client.fireQQEvent(e);
} else {
//log.debug("得到登录令牌失败");
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_LOGIN_TOKEN_FAIL;
client.fireQQEvent(e);
}
}
/**
* 处理群命令的回复包
*
* @param in
* @throws PacketParseException
*/
private void processClusterCommandReply(BasicInPacket in) {
ClusterCommandReplyPacket packet = (ClusterCommandReplyPacket)in;
switch(packet.subCommand) {
case QQ.QQ_CLUSTER_CMD_CREATE_CLUSTER:
processClusterCreateReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_ACTIVATE_CLUSTER:
processClusterActivateReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_MODIFY_MEMBER:
processClusterModifyMember(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_CLUSTER_INFO:
processClusterGetInfoReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_ONLINE_MEMBER:
processClusterGetOnlineMemberReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_MEMBER_INFO:
processClusterGetMemberInfoReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_EXIT_CLUSTER:
processClusterExitReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER:
processClusterJoinReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH:
processClusterJoinAuthReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO:
processClusterModifyInfoReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_SEARCH_CLUSTER:
processClusterSearchReply(packet);
break;
// 这个命令已经过时
// case QQ.QQ_CLUSTER_CMD_SEND_IM:
// processClusterSendIMReply(packet);
// break;
case QQ.QQ_CLUSTER_CMD_SEND_IM_EX:
processClusterSendIMExReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_CREATE_TEMP:
processClusterCreateTempClusterReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_SEND_TEMP_IM:
processClusterSendTempClusterIMReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_EXIT_TEMP:
processClusterExitTempClusterReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_TEMP_INFO:
processClusterGetTempClusterInfoReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_MODIFY_TEMP_MEMBER:
processClusterModifyTempClusterMemberReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_SUB_CLUSTER_OP:
processClusterSubClusterOpReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_UPDATE_ORGANIZATION:
processUpdateOrganizationReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_COMMIT_ORGANIZATION:
processCommitOrganizationReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_COMMIT_MEMBER_ORGANIZATION:
processCommitMemberOrganizationReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_MODIFY_TEMP_INFO:
processModifyTempClusterInfoReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_CARD_BATCH:
processGetCardBatchReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_GET_CARD:
processGetCardReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_MODIFY_CARD:
processModifyCardReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_SET_ROLE:
processSetRoleReply(packet);
break;
case QQ.QQ_CLUSTER_CMD_TRANSFER_ROLE:
processTransferRoleReply(packet);
break;
}
}
/**
* 处理转让身份回复包
*
* @param packet
*/
private void processTransferRoleReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
e = new QQEvent(packet);
e.type = QQEvent.QQ_TRANSFER_ROLE_SUCCESS;
client.fireQQEvent(e);
} else {
e = new QQEvent(packet);
e.type = QQEvent.QQ_TRANSFER_ROLE_FAIL;
client.fireQQEvent(e);
}
}
/**
* 处理设置成员角色回复包
*
* @param packet
*/
private void processSetRoleReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
e = new QQEvent(packet);
e.type = QQEvent.QQ_SET_ROLE_SUCCESS;
client.fireQQEvent(e);
} else {
e = new QQEvent(packet);
e.type = QQEvent.QQ_SET_ROLE_FAIL;
client.fireQQEvent(e);
}
}
/**
* 处理修改群名片回复包
*
* @param packet
*/
private void processModifyCardReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_CARD_SUCCESS;
client.fireQQEvent(e);
} else {
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
e = new QQEvent(packet);
e.type = QQEvent.QQ_MODIFY_CARD_FAIL;
client.fireQQEvent(e);
}
}
/**
* 处理得到单个成员群名片信息回复包
*
* @param packet
*/
private void processGetCardReply(ClusterCommandReplyPacket packet) {
QQEvent e;
if(packet.replyCode == QQ.QQ_REPLY_OK) {
e = new QQEvent(packet);
e.type = QQEvent.QQ_GET_CARD_SUCCESS;
client.fireQQEvent(e);
} else {
ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
packet.clusterId = ccp.getClusterId();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -