net.kano.joscar.snaccmd.conn
Class AbstractExtraInfoCmd

java.lang.Object
  extended bySnacCommand
      extended byConnCommand
          extended byAbstractExtraInfoCmd
Direct Known Subclasses:
ExtraInfoAck, SetEncryptionInfoCmd

public abstract class AbstractExtraInfoCmd
extends ConnCommand

A base class for the two SNAC commands which contain only a sequence of ExtraInfoBlocks.


Field Summary
 
Fields inherited from class ConnCommand
CMD_CLIENT_READY, CMD_CLIENT_VERS, CMD_ENCINFOACK, CMD_EXTRA_ACK, CMD_MIGRATE_PLS, CMD_MY_INFO_REQ, CMD_NOOP, CMD_PAUSE, CMD_PAUSE_ACK, CMD_RATE_ACK, CMD_RATE_CHG, CMD_RATE_INFO, CMD_RATE_REQ, CMD_RESUME, CMD_SERV_VERS, CMD_SERVER_READY, CMD_SERVICE_REDIR, CMD_SERVICE_REQ, CMD_SET_IDLE, CMD_SETENCINFO, CMD_SETEXTRAINFO, CMD_UPDATE, CMD_WARNED, CMD_YOUR_INFO, FAMILY_CONN, FAMILY_INFO
 
Fields inherited from class SnacCommand
SNACFLAG_DEFAULT
 
Constructor Summary
protected AbstractExtraInfoCmd(int command, ExtraInfoBlock[] blocks)
          Creates a new outgoing extra info blocks command with the given list of extra info blocks.
protected AbstractExtraInfoCmd(int command, SnacPacket packet)
          Creates a new extra info block command with the given SNAC command subtype and using the data in the given incoming extra info command packet.
 
Method Summary
 ExtraInfoBlock[] getExtraInfos()
          Returns the list of extra information blocks sent in this command.
 java.lang.String toString()
           
 void writeData(java.io.OutputStream out)
          Writes this command's SNAC data block to the given stream.
 
Methods inherited from class SnacCommand
getCommand, getFamily, getFlag1, getFlag2
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractExtraInfoCmd

protected AbstractExtraInfoCmd(int command,
                               SnacPacket packet)
Creates a new extra info block command with the given SNAC command subtype and using the data in the given incoming extra info command packet.

Parameters:
command - the SNAC command subtype for this command
packet - an incoming extra info command packet

AbstractExtraInfoCmd

protected AbstractExtraInfoCmd(int command,
                               ExtraInfoBlock[] blocks)
Creates a new outgoing extra info blocks command with the given list of extra info blocks. Note that neither blocks nor any of its elements can be null.

Parameters:
command - the SNAC command subtype for this command
blocks - the list of extra info blocks to send in this command
Method Detail

getExtraInfos

public final ExtraInfoBlock[] getExtraInfos()
Returns the list of extra information blocks sent in this command.

Returns:
this command's extra information blocks

writeData

public void writeData(java.io.OutputStream out)
               throws java.io.IOException
Description copied from class: SnacCommand
Writes this command's SNAC data block to the given stream. The SNAC data block is the data after the first ten bytes of a SNAC packet.

Specified by:
writeData in class SnacCommand
Parameters:
out - the stream to which to write the SNAC data
Throws:
java.io.IOException - if an I/O error occurs

toString

public java.lang.String toString()