org.walluck.oscar.tools
Class LoginTool

java.lang.Object
  extended by org.walluck.oscar.tools.Tool
      extended by org.walluck.oscar.tools.LoginTool
All Implemented Interfaces:
AIMConstants, Listener, LoginListener

public class LoginTool
extends Tool
implements AIMConstants, LoginListener

Login tool.

Since:
1.0
Version:
1.0
Author:
David Walluck, Alain Penders

Field Summary
 
Fields inherited from class org.walluck.oscar.tools.Tool
listeners
 
Fields inherited from interface org.walluck.oscar.AIMConstants
AIM_ALERT_ONLINE, AIM_ALERT_PLAY_SOUND, AIM_ALERT_POPUP_WINDOW, AIM_ALERT_UNAWAY, AIM_ALERT_UNIDLE, AIM_ALLOW_OTHERS_ALL, AIM_ALLOW_OTHERS_IDLE, AIM_ALLOW_OTHERS_WIRELESS, AIM_CAPS_ABINTERNAL, AIM_CAPS_BUDDYICON, AIM_CAPS_CHAT, AIM_CAPS_EMPTY, AIM_CAPS_GAMES, AIM_CAPS_GAMES2, AIM_CAPS_GETFILE, AIM_CAPS_HIPTOP, AIM_CAPS_ICQ, AIM_CAPS_ICQRTF, AIM_CAPS_ICQSERVERRELAY, AIM_CAPS_ICQUNKNOWN, AIM_CAPS_ICQUTF8, AIM_CAPS_IMIMAGE, AIM_CAPS_INTEROPERATE, AIM_CAPS_LAST, AIM_CAPS_SAVESTOCKS, AIM_CAPS_SECUREIM, AIM_CAPS_SECUREIM_CAPABLE, AIM_CAPS_SENDBUDDYLIST, AIM_CAPS_SENDFILE, AIM_CAPS_SHORT, AIM_CAPS_TRILLIANCRYPT, AIM_CAPS_VOICE, AIM_CHARSET_ISO_8859_1, AIM_CHARSET_US_ASCII, AIM_CHARSET_UTF_16BE, AIM_CHARSUBSET_NONE, AIM_CHATFLAGS_AWAY, AIM_CHATFLAGS_NOREFLECT, AIM_CHATROOM_FLAG_EVILABLE, AIM_CHATROOM_FLAG_INSTANCING_ALLOWED, AIM_CHATROOM_FLAG_NAV_ONLY, AIM_CHATROOM_FLAG_OCCUPANT_PEEK_ALLOWED, AIM_CLIENTTYPE_AOL_TOC, AIM_CLIENTTYPE_ICQ, AIM_CLIENTTYPE_MC, AIM_CLIENTTYPE_UNKNOWN, AIM_CLIENTTYPE_WINAIM, AIM_CLIENTTYPE_WINAIM41, AIM_CONN_STATUS_CONNERR, AIM_CONN_STATUS_INPROGRESS, AIM_CONN_STATUS_INTERNALERR, AIM_CONN_STATUS_READY, AIM_CONN_STATUS_RESOLVERR, AIM_CONN_SUBTYPE_OFT_BUDDYICON, AIM_CONN_SUBTYPE_OFT_DIRECTIM, AIM_CONN_SUBTYPE_OFT_GETFILE, AIM_CONN_SUBTYPE_OFT_SENDFILE, AIM_CONN_SUBTYPE_OFT_VOICE, AIM_CONN_TYPE_ADS, AIM_CONN_TYPE_AUTH, AIM_CONN_TYPE_BOS, AIM_CONN_TYPE_CHAT, AIM_CONN_TYPE_CHATNAV, AIM_CONN_TYPE_ICO, AIM_CONN_TYPE_MAIL, AIM_CONN_TYPE_ODIR, AIM_CONN_TYPE_RENDEZVOUS, AIM_CONN_TYPE_RENDEZVOUS_OUT, AIM_COOKIELEN, AIM_COOKIETYPE_ADS, AIM_COOKIETYPE_BOS, AIM_COOKIETYPE_CHAT, AIM_COOKIETYPE_CHATNAV, AIM_COOKIETYPE_ICBM, AIM_COOKIETYPE_IM, AIM_COOKIETYPE_INVITE, AIM_COOKIETYPE_OFTGET, AIM_COOKIETYPE_OFTICON, AIM_COOKIETYPE_OFTIM, AIM_COOKIETYPE_OFTIMAGE, AIM_COOKIETYPE_OFTSEND, AIM_COOKIETYPE_OFTVOICE, AIM_COOKIETYPE_UNKNOWN, AIM_FLAG_ABINTERNAL, AIM_FLAG_ACTIVEBUDDY, AIM_FLAG_ADMINISTRATOR, AIM_FLAG_ALLUSERS, AIM_FLAG_AOL, AIM_FLAG_AWAY, AIM_FLAG_FREE, AIM_FLAG_ICQ, AIM_FLAG_OSCAR_PAY, AIM_FLAG_UNCONFIRMED, AIM_FLAG_UNKNOWN100, AIM_FLAG_UNKNOWN200, AIM_FLAG_UNKNOWN800, AIM_FLAG_WIRELESS, AIM_FRAMETYPE_FLAP, AIM_FRAMETYPE_OFT, AIM_GETINFO_AWAYMESSAGE, AIM_GETINFO_AWAYMESSAGE2, AIM_GETINFO_CAPABILITIES, AIM_GETINFO_CERT, AIM_GETINFO_GENERALINFO, AIM_ICONIDENT, AIM_ICQ_STATE_ALLOW_AUTHORIZED, AIM_ICQ_STATE_ALLOW_CONTACTS, AIM_ICQ_STATE_ALLOW_EVERYONE, AIM_ICQ_STATE_AWAY, AIM_ICQ_STATE_DND, AIM_ICQ_STATE_FFC, AIM_ICQ_STATE_INVISIBLE, AIM_ICQ_STATE_NA, AIM_ICQ_STATE_NORMAL, AIM_ICQ_STATE_OCC, AIM_ICQ_STATE_SHOWIP, AIM_ICQ_STATE_WEBAWARE, AIM_ICQMSG_ACK, AIM_ICQMSG_AUTHDENIED, AIM_ICQMSG_AUTHGRANTED, AIM_ICQMSG_AUTHREQUEST, AIM_ICQMSG_CONTACT, AIM_ICQMSG_EMAILEX, AIM_ICQMSG_FLAG_MASS, AIM_ICQMSG_MASK, AIM_ICQMSG_NORMAL, AIM_ICQMSG_SMS, AIM_ICQMSG_URL, AIM_ICQMSG_USERADD, AIM_ICQMSG_WEBPAGER, AIM_IMFLAGS_ACK, AIM_IMFLAGS_AWAY, AIM_IMFLAGS_BUDDYREQ, AIM_IMFLAGS_CUSTOMCHARSET, AIM_IMFLAGS_CUSTOMFEATURES, AIM_IMFLAGS_EXTDATA, AIM_IMFLAGS_HASICON, AIM_IMFLAGS_ISO_8859_1, AIM_IMFLAGS_MULTIPART, AIM_IMFLAGS_OFFLINE, AIM_IMFLAGS_SUBENC_MACINTOSH, AIM_IMFLAGS_TYPINGNOT, AIM_IMFLAGS_UNICODE, AIM_IMPARAM_FLAG_CHANMSGS_ALLOWED, AIM_IMPARAM_FLAG_MISSEDCALLS_ENABLED, AIM_LOGINERROR_ACCOUNTSUSPENDED, AIM_LOGINERROR_CONNECTIONFLOOD, AIM_LOGINERROR_OLDCLIENT, AIM_LOGINERROR_UNAVAILABLE, AIM_LOGINERROR_UNKNOWN, AIM_LOGINERROR_WRONGAUTH, AIM_MD5_STRING, AIM_ODI_PRIVACY_FULL, AIM_ODI_PRIVACY_NORMAL, AIM_PRIVFLAGS_ALLOWIDLE, AIM_PRIVFLAGS_ALLOWMEMBERSINCE, AIM_RATE_CODE_CHANGE, AIM_RATE_CODE_CLEARLIMIT, AIM_RATE_CODE_LIMIT, AIM_RATE_CODE_WARNING, AIM_REQUEST_TYPE_NORMAL, AIM_REQUEST_TYPE_REDIRECT, AIM_SENDMEMBLOCK_FLAG_ISHASH, AIM_SENDMEMBLOCK_FLAG_ISREQUEST, AIM_SESS_FLAGS_DONTTIMEOUTONICBM, AIM_SESS_FLAGS_NONBLOCKCONNECT, AIM_SESS_FLAGS_SNACLOGIN, AIM_SESS_FLAGS_XORLOGIN, AIM_SNACLEN, AIM_SSI_ACK_ATMAX, AIM_SSI_ACK_AUTHREQUIRED, AIM_SSI_ACK_IDNUMINUSE, AIM_SSI_ACK_INVALIDNAME, AIM_SSI_ACK_ITEMNOTFOUND, AIM_SSI_TYPE_BUDDY, AIM_SSI_TYPE_DENY, AIM_SSI_TYPE_GROUP, AIM_SSI_TYPE_ICONINFO, AIM_SSI_TYPE_ICQTIC, AIM_SSI_TYPE_IGNORE, AIM_SSI_TYPE_IMPORT_TIME, AIM_SSI_TYPE_PDINFO, AIM_SSI_TYPE_PERMIT, AIM_SSI_TYPE_PRESENCEPREFS, AIM_TOOL_JAVA, AIM_TOOL_MAC, AIM_TOOL_MAC68K, AIM_TOOL_MACPPC, AIM_TOOL_NEWWIN, AIM_TOOL_OLDWIN, AIM_TOOL_WIN16, AIM_TOOL_WIN32, AIM_TOOL_WINAIM5, AIM_TX_QUEUE_EXTERNAL, AIM_TX_QUEUE_INTERNAL_FORCE_LATENCY, AIM_TX_QUEUE_INTERNAL_RATE_THROTTLE, AIM_USERINFO_PRESENT_CAPS, AIM_USERINFO_PRESENT_CAPS_AOL, AIM_USERINFO_PRESENT_CAPS_SHORT, AIM_USERINFO_PRESENT_CREATETIME, AIM_USERINFO_PRESENT_FLAGS, AIM_USERINFO_PRESENT_ICON_DATA, AIM_USERINFO_PRESENT_ICQ_UNKNOWN001E, AIM_USERINFO_PRESENT_ICQDATA, AIM_USERINFO_PRESENT_ICQEXTSTATUS, AIM_USERINFO_PRESENT_ICQIPADDR, AIM_USERINFO_PRESENT_IDLE, AIM_USERINFO_PRESENT_MEMBERSINCE, AIM_USERINFO_PRESENT_ONLINESINCE, AIM_USERINFO_PRESENT_SECUREIM, AIM_USERINFO_PRESENT_SESSIONLEN, AIM_VISIBILITYCHANGE_DENYADD, AIM_VISIBILITYCHANGE_DENYREMOVE, AIM_VISIBILITYCHANGE_PERMITADD, AIM_VISIBILITYCHANGE_PERMITREMOVE, AIM_WARN_ANON, LOGIN_PORT, LOGIN_SERVER_DEFAULT, MAX_BUDDY_COMMENT_LENGTH, MAXCHATMSGLEN, MAXICONLEN, MAXMSGLEN, MAXSNLEN, SNAC_HASH_SIZE, USE_SNAC_FOR_IMS
 
Constructor Summary
LoginTool()
          Creates a new Login tool.
 
Method Summary
 void addLoginListener(DaimLoginListener l)
          Add a listener to get useful events from this tool.
 void bosConnectionAvailable()
          Method called by the LoginTool once the BOS connection is available.
 void godDamnICQ(AIMSession sess, AIMFrame frame, String unused)
          Describe godDamnICQ method here.
 void keyParse(AIMSession sess, AIMFrame frame, String keystr)
          Describe keyParse method here.
 void login()
          Describe login method here.
 void newUIN(AIMSession sess, AIMFrame frame, int uin, int ip, int port)
          Describe newUIN method here.
 void parse(AIMSession sess, AIMFrame frame, LoginResponseInfo info, int family, int subtype)
          Describe parse method here.
 void removeLoginListener(DaimLoginListener l)
          Remove a listener.
 void securID(AIMSession sess, AIMFrame frame)
          Describe securID method here.
 void shutdown(AIMSession sess)
          Called when the tool is shutting down.
 
Methods inherited from class org.walluck.oscar.tools.Tool
getFamily, getId, getSession, getToolData, getVersion, setFamily, setId, setSession, setToolData, setVersion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoginTool

public LoginTool()
Creates a new Login tool. Family 0x0017.

Method Detail

addLoginListener

public void addLoginListener(DaimLoginListener l)
Add a listener to get useful events from this tool.

Parameters:
l - DaimLoginListener

removeLoginListener

public void removeLoginListener(DaimLoginListener l)
Remove a listener.

Parameters:
l -

login

public void login()
           throws IOException
Describe login method here.

Throws:
IOException - if an error occurs

godDamnICQ

public void godDamnICQ(AIMSession sess,
                       AIMFrame frame,
                       String unused)
Describe godDamnICQ method here.

Specified by:
godDamnICQ in interface LoginListener
Parameters:
sess - an AIMSession value
frame - an AIMFrame value
unused - a String value

parse

public void parse(AIMSession sess,
                  AIMFrame frame,
                  LoginResponseInfo info,
                  int family,
                  int subtype)
Describe parse method here.

Specified by:
parse in interface LoginListener
Parameters:
sess - an AIMSession value
frame - an AIMFrame value
info - a LoginResponseInfo value
family - an int value
subtype - an int value

keyParse

public void keyParse(AIMSession sess,
                     AIMFrame frame,
                     String keystr)
Describe keyParse method here.

Specified by:
keyParse in interface LoginListener
Parameters:
sess - an AIMSession value
frame - an AIMFrame value
keystr - a String value

newUIN

public void newUIN(AIMSession sess,
                   AIMFrame frame,
                   int uin,
                   int ip,
                   int port)
Describe newUIN method here.

Specified by:
newUIN in interface LoginListener
Parameters:
sess - an AIMSession value
frame - an AIMFrame value
uin - an int value
ip - an int value
port - an int value

securID

public void securID(AIMSession sess,
                    AIMFrame frame)
Describe securID method here.

Specified by:
securID in interface LoginListener
Parameters:
sess - an AIMSession value
frame - an AIMFrame value

shutdown

public void shutdown(AIMSession sess)
Called when the tool is shutting down.

Specified by:
shutdown in class Tool
Parameters:
sess - the oscar session

bosConnectionAvailable

public void bosConnectionAvailable()
Method called by the LoginTool once the BOS connection is available. This allows the other tools to get registered and get involved in the process.

Specified by:
bosConnectionAvailable in class Tool