org.walluck.oscar.channel.rendezvous
Class ICQRTFRendezvous

java.lang.Object
  extended by org.walluck.oscar.channel.Channel
      extended by org.walluck.oscar.channel.rendezvous.Rendezvous
          extended by org.walluck.oscar.channel.rendezvous.ICQRTFRendezvous

public class ICQRTFRendezvous
extends Rendezvous

Subtype 0x0006 - Send a rich text message.

This only works for ICQ 2001b (thats 2001 not 2000). Better, only send it to clients advertising the RTF capability. In fact, if you send it to a client that doesn't support that capability, the server will gladly bounce it back to you.

Since:
1.0
Version:
1.0
Author:
David Walluck

Field Summary
 
Fields inherited from class org.walluck.oscar.channel.rendezvous.Rendezvous
ERROR_CODE_DECLINED, ERROR_CODE_NOT_ACCEPTING, ERROR_CODE_NOT_SUPPORTED, TLV_TYPE_CHAT_MESSAGE, TLV_TYPE_ENCODING, TLV_TYPE_ERROR_CODE, TLV_TYPE_GAMES_URL, TLV_TYPE_INVITATION_MESSAGE, TLV_TYPE_IP_ADDRRESS, TLV_TYPE_LANGUAGE, TLV_TYPE_MY_IP_ADDRESS, TLV_TYPE_OTHER_URL, TLV_TYPE_PORT, TLV_TYPE_PROXY, TLV_TYPE_REQUEST_TYPE, TLV_TYPE_SECURE, TLV_TYPE_UNKNOWN0001, TLV_TYPE_UNKNOWN0009, TLV_TYPE_UNKNOWN000F, TLV_TYPE_VERIFIED_IP_ADDR, TYPE_ACCEPT, TYPE_CANCEL, TYPE_REQUEST
 
Constructor Summary
ICQRTFRendezvous()
          Creates a new ICQ RTF rendezvous.
 
Method Summary
 AIMConnection getConn()
          Get the value of conn.
 SendRTFMsg getRTFMsg()
          Get the value of rtfMsg.
 void handleServiceData(AIMSession sess, SNACHandler handler, AIMFrame frame, SNAC snac, UserInfo userinfo, IncomingIMCH2 args, AIMInputStream buffer)
          Incoming IM Channel 2 (ICQ Server Relay).
 void setConn(AIMConnection conn)
          Set the value of conn.
 void setRequest()
          Send a rendezvous request.
 void setRTFMsg(SendRTFMsg rtfMsg)
          Set the value of rtfMsg.
 
Methods inherited from class org.walluck.oscar.channel.rendezvous.Rendezvous
getCookie, getErrorCode, getService, getServiceData, getType, setAccept, setCancel, setCookie, setError, setErrorCode, setService, setServiceData, setType
 
Methods inherited from class org.walluck.oscar.channel.Channel
getChannel, setChannel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ICQRTFRendezvous

public ICQRTFRendezvous()
Creates a new ICQ RTF rendezvous.

Method Detail

getRTFMsg

public SendRTFMsg getRTFMsg()
Get the value of rtfMsg.

Returns:
value of rtfMsg.

setRTFMsg

public void setRTFMsg(SendRTFMsg rtfMsg)
Set the value of rtfMsg.

Parameters:
rtfMsg - Value to assign to rtfMsg.

getConn

public AIMConnection getConn()
Get the value of conn.

Returns:
value of conn.

setConn

public void setConn(AIMConnection conn)
Set the value of conn.

Parameters:
conn - Value to assign to conn.

setRequest

public void setRequest()
                throws IOException
Send a rendezvous request.

Specified by:
setRequest in class Rendezvous
Throws:
IOException - if an error occurs

handleServiceData

public void handleServiceData(AIMSession sess,
                              SNACHandler handler,
                              AIMFrame frame,
                              SNAC snac,
                              UserInfo userinfo,
                              IncomingIMCH2 args,
                              AIMInputStream buffer)
                       throws IOException
Incoming IM Channel 2 (ICQ Server Relay).

The relationship between AIM_CAPS_ICQSERVERRELAY and AIM_CAPS_ICQRTF is kind of odd. This sends the client ICQRTF since that is all that I've seen SERVERRELAY used for.

Specified by:
handleServiceData in class Rendezvous
Parameters:
sess - the oscar session
handler - the handler
frame - the incoming frame
snac - the incoming SNAC
userinfo - user information
args - incoming im ch2 args
buffer - the incoming buffer
Throws:
IOException - if an error occurs
See Also:
AIMConstants