JML

net.sf.jqql.packets.in
Class AdvancedSearchUserReplyPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.InPacket
          extended by net.sf.jqql.packets.BasicInPacket
              extended by net.sf.jqql.packets.in.AdvancedSearchUserReplyPacket

public class AdvancedSearchUserReplyPacket
extends BasicInPacket

 reply packet of advanced search
 1. header
 2. reply code, 1 byte, 0x00 means have data yet, 0x01 means haven't more data
 3. page number, begin from 1, 2 byte, if there isn't content follow page number, means search finished
 4. QQ number, 4 byte
 5. sex, 1 byte, means ComboBox index
 6. age, 2 byte
 7. online, 1 byte, 0x01 means online, 0x00 means offline
 8. nickname length, 1 byte
 9. nickname
 10. province index, 2 byte
 11. city index, 2 byte, 
 13. face index, 2 byte
 14. if has more result, repeat 4 - 13 part
 15. tail 
 高级搜索的回复包
 1. 头部
 2. 回复码,1字节,0x00表示还有数据,0x01表示没有更多数据了,当为0x01时,后面没有内容了
    当为0x00时,后面才有内容
 3. 页号,从1开始,2字节,如果页号后面没有内容了,那也说明是搜索结束了
 4. QQ号,4字节
 5. 性别,1字节,表示下拉框索引
 6. 年龄,2字节
 7. 在线,1字节,0x01表示在线,0x00表示离线
 8. 昵称长度,1字节
 9. 昵称
 10. 省份索引,2字节
 11. 城市索引,2字节,这个索引是以"不限"为0开始算的,shit
 13. 头像索引,2字节
 14. 如果有更多结果,重复4 - 13部分
 15. 尾部
 

Author:
luma

Field Summary
 boolean finished
           
 int page
           
 byte replyCode
           
 List<AdvancedUserInfo> users
           
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
AdvancedSearchUserReplyPacket(ByteBuffer buf, int length, QQUser user)
           
 
Method Summary
 String getPacketName()
           
protected  void parseBody(ByteBuffer buf)
          parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起
 
Methods inherited from class net.sf.jqql.packets.BasicInPacket
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, toString
 
Methods inherited from class net.sf.jqql.packets.InPacket
validateHeader
 
Methods inherited from class net.sf.jqql.packets.Packet
dump, equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

replyCode

public byte replyCode

page

public int page

users

public List<AdvancedUserInfo> users

finished

public boolean finished
Constructor Detail

AdvancedSearchUserReplyPacket

public AdvancedSearchUserReplyPacket(ByteBuffer buf,
                                     int length,
                                     QQUser user)
                              throws PacketParseException
Parameters:
buf -
length -
Throws:
PacketParseException
Method Detail

getPacketName

public String getPacketName()
Overrides:
getPacketName in class BasicInPacket
Returns:
descriptive name of packet 包的描述性名称

parseBody

protected void parseBody(ByteBuffer buf)
                  throws PacketParseException
Description copied from class: Packet
parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起

Specified by:
parseBody in class Packet
Parameters:
buf - ByteBuffer
Throws:
PacketParseException - if parse error 如果解析出错

JML