package com.wyp.materialqqlite.qqclient.task;
import org.apache.http.client.HttpClient;
import com.wyp.materialqqlite.qqclient.protocol.QQProtocol;
import com.wyp.materialqqlite.qqclient.protocol.protocoldata.BuddyInfoResult;
import com.wyp.materialqqlite.qqclient.protocol.protocoldata.GroupInfoResult;
import com.wyp.materialqqlite.qqclient.protocol.protocoldata.QQCallBackMsg;
public class InfoTask extends HttpTask {
public static final int OP_TYPE_GETBUDDYINFO = 0; // 获取好友信息
public static final int OP_TYPE_GETGMEMBERINFO = 1; // 获取群成员信息
public static final int OP_TYPE_GETGROUPINFO = 2; // 获取群信息
public static final int OP_TYPE_SETBUDDYINFO = 3; // 设置好友信息
public int m_nType; // 操作类型
public int m_nGroupCode; // 群代码
public int m_nQQUin; // 好友Uin或者群成员Uin
public InfoTask(String strTaskName, HttpClient httpClient) {
super(strTaskName, httpClient);
// TODO Auto-generated constructor stub
}
@Override
public void doTask() {
if (null == m_httpClient || null == m_QQUser) {
return;
}
try {
if (OP_TYPE_GETBUDDYINFO == m_nType) // 获取好友资料
{
BuddyInfoResult result = new BuddyInfoResult();
boolean bRet = QQProtocol.getBuddyInfo(m_httpClient,
m_nQQUin, m_QQUser.m_LoginResult2.m_strVfWebQq, result);
if (!bRet || result.m_nRetCode != 0)
result = null;
sendMessage(QQCallBackMsg.UPDATE_BUDDY_INFO, 0, 0, result);
}
else if (OP_TYPE_GETGMEMBERINFO == m_nType) // 获取群成员资料
{
BuddyInfoResult result = new BuddyInfoResult();
boolean bRet = QQProtocol.getStrangerInfo(m_httpClient,
m_nQQUin, m_QQUser.m_LoginResult2.m_strVfWebQq, result);
if (!bRet || result.m_nRetCode != 0)
result = null;
sendMessage(QQCallBackMsg.UPDATE_GMEMBER_INFO, m_nGroupCode, 0, result);
}
else if (OP_TYPE_GETGROUPINFO == m_nType) // 获取群资料
{
GroupInfoResult result = new GroupInfoResult();
boolean bRet = QQProtocol.getGroupInfo(m_httpClient,
m_nGroupCode, m_QQUser.m_LoginResult2.m_strVfWebQq, result);
if (!bRet || result.m_nRetCode != 0)
result = null;
sendMessage(QQCallBackMsg.UPDATE_GROUP_INFO, 0, 0, result);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
}