JML

net.sf.jqql.packets.out
Class SignatureOpPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.OutPacket
          extended by net.sf.jqql.packets.BasicOutPacket
              extended by net.sf.jqql.packets.out.SignatureOpPacket

public class SignatureOpPacket
extends BasicOutPacket

signature operation request packet
 1. head
 2. subcommand, 1 byte

 according to part 2:
  when it's 0x01:
     3. unknown 1 byte
    4. signature byte length , 1 byre
     5. signature
    6. tail
  when it's 0x00: no content behind
    3. tail
  when it's 0x02,
    3. unknown 1 byte
    4. QQ numbe count to get signature, 1 byte
    5. QQ number, 4 byte
    6. local signature modifying time, 4 byte
    7. If there are more QQ numbers, repeat 5-6
    8. tail

  
 个性签名操作请求包
 1. 头部
 2. 子命令,1字节
 
 根据2部分的不同
 为0x01时:
 3. 未知1字节
 4. 个性签名的字节长度,1字节
 5. 个性签名
 6. 尾部
 
 为0x00时,无后续内容
 3. 尾部
 
 为0x02时
 3. 未知的1字节
 4. 需要得到个性签名的QQ号数量,1字节
 5. QQ号,4字节
 6. 本地的个性签名修改时间,4字节
 7. 如果有更多QQ号,重复5-6部分
 8. 尾部 
 
 when getting the friend's signature, QQ sort all the QQ number, request 33 one each time.
 在得到好友的个性签名时,QQ的做法是对所有的QQ号排个序,每次最多请求33个。
 

Author:
luma

Field Summary
 
Fields inherited from class net.sf.jqql.packets.OutPacket
ack, key, resendCountDown, sendCount, seq, timeout
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
SignatureOpPacket(ByteBuffer buf, int length, QQUser user)
           
SignatureOpPacket(QQUser user)
           
 
Method Summary
 String getPacketName()
           
 String getSignature()
           
 List<Signature> getSignatures()
           
 byte getSubCommand()
           
protected  void putBody(ByteBuffer buf)
          initialize packet body 初始化包体
 void setSignature(String signature)
           
 void setSignatures(List<Signature> signatures)
           
 void setSubCommand(byte subCommand)
           
 
Methods inherited from class net.sf.jqql.packets.BasicOutPacket
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, postFill, putHead, putTail, toString, validateHeader
 
Methods inherited from class net.sf.jqql.packets.OutPacket
dump, fill, getKey, getNextSeq, getSendCount, getTimeout, needAck, needResend, parseBody, setKey, setSendCount, setTimeout
 
Methods inherited from class net.sf.jqql.packets.Packet
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
 

Constructor Detail

SignatureOpPacket

public SignatureOpPacket(QQUser user)

SignatureOpPacket

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

getPacketName

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

putBody

protected void putBody(ByteBuffer buf)
Description copied from class: Packet
initialize packet body 初始化包体

Specified by:
putBody in class Packet
Parameters:
buf - ByteBuffer

getSignature

public String getSignature()
Returns:
Returns the signature.

setSignature

public void setSignature(String signature)
Parameters:
signature - The signature to set.

getSubCommand

public byte getSubCommand()
Returns:
Returns the subCommand.

setSubCommand

public void setSubCommand(byte subCommand)
Parameters:
subCommand - The subCommand to set.

getSignatures

public List<Signature> getSignatures()
Returns:
Returns the signatures.

setSignatures

public void setSignatures(List<Signature> signatures)
Parameters:
signatures - The signatures to set.

JML