JML

net.sf.jqql.packets.in
Class UserPropertyOpReplyPacket

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.UserPropertyOpReplyPacket

public class UserPropertyOpReplyPacket
extends BasicInPacket

 reply packet of user property
 1. header
 2. subcommand, 1 byte
 3. initial position of next packet, 2 byte
 4. size of part 6, 1 byte
 5. QQ number, 4 byte
 6. user property byte, known bit as
       bit30 -> whether have personal message
 7. if have more friend, repeat part 5-6
 Note: while part 2 is other value, haven't parse follow format, not 0x01 value commonly
       present to TM.
 8. tail
 用户属性回复包
 1. 头部
 2. 子命令,1字节
 当2部分为0x01时:
 3. 下一个包的起始位置,2字节
 4. 6部分的长度,1字节
 5. QQ号,4字节
 6. 用户属性字节,已知位如下
       bit30 -> 是否有个性签名
 7. 如果有更多好友,重复5-6部分
 Note: 当2部分为其他值时,尚未仔细解析过后面的格式,非0x01值一般出现在TM中
 8. 尾部
 

Author:
luma

Field Summary
 boolean finished
           
 List<UserProperty> properties
           
 char startPosition
           
 byte subCommand
           
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
UserPropertyOpReplyPacket(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

subCommand

public byte subCommand

finished

public boolean finished

startPosition

public char startPosition

properties

public List<UserProperty> properties
Constructor Detail

UserPropertyOpReplyPacket

public UserPropertyOpReplyPacket(ByteBuffer buf,
                                 int length,
                                 QQUser user)
                          throws PacketParseException
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