Package wtanaka.praya.yahoo

Yahoo! Messenger protocol.

See:
          Description

Interface Summary
Constants A list of symbolic named constants used by the rest of the Protocol.
 

Class Summary
CalendarMessage Represents a calendar notification.
GTKYEvents Meant to emulate http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gtkyahoo/gtkyahoo/events.c
GTKYEvents.gtkyahoo_event  
GTKYStatus Meant to emulate http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gtkyahoo/gtkyahoo/status.c
LibC Port helper functions
LittleEndianInputStream An input stream which can read ints as little endian
LittleEndianOutputStream An output stream which can write ints as little endian
LoggedOnElsewhereMessage The message that gets sent when your account has logged in from somewhere else.
MailMessage Signifies that you have new mail.
MemTok memtok from libyahoo's memtok.c.
RawPacketInputStream Adapted from yahoolib.h by Nathan Neulinger (nneul@umr.edu) http://www.umr.edu/~nneul/gtkyahoo/
RawPacketOutputStream Simple extention to LittleEndianOutputStream that implements a writePacket() method
ResolvedYahooRecipient Recipient subclass for a yahoo messenger user.
Utils Meant to emulate http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gtkyahoo/gtkyahoo/utils.c
YahooAddress yahoo_address
YahooBuddy This represents one buddy in your buddy list.
YahooClient Yahoo Pager Client Library adapted from gtkyahoo
YahooContext Emulation of struct yahoo_context from libyahoo.h revision 1.8
YahooIDLabel struct yahoo_idlabel from libyahoo.h revision 1.8
YahooIDStatus This represents someone's status Adapted from yahoolib.h by Nathan Neulinger (nneul@umr.edu) http://www.umr.edu/~nneul/gtkyahoo/
YahooLib Incorporates libyahoo.c from YahooLib with as few changes as possible, so that I can wrap a different design around it if I want, while keeping the job of incorporating patches to yahoolib simple.
YahooLib.Max  
YahooLoginMessage Represents a user logging in.
YahooLogoutMessage Represents a user logging out.
YahooMessage Represents one instant message
YahooOptions This represents some user options Adapted from yahoolib.h by Nathan Neulinger (nneul@umr.edu) http://www.umr.edu/~nneul/gtkyahoo/
YahooPacket Adapted from yahoolib.h by Nathan Neulinger (nneul@umr.edu) http://www.umr.edu/~nneul/gtkyahoo/
YahooRawPacket This represents a pakcet as sent by or to the server Adapted from yahoolib.h by Nathan Neulinger (nneul@umr.edu) http://www.umr.edu/~nneul/gtkyahoo/
YahooReadThread Yahoo Pager Client read thread.
YahooRecipient Recipient subclass for a yahoo messenger user.
YahooSelfMessage Outgoing personal message to another yahoo user.
YahooStatusMessage Represents a user changing status
YahooStringTokenizer This imitates strtok.
YahooUtils Utility methods for interacting with Yahoo!
 

Exception Summary
AuthException This exception is thrown when the user enters an invalid username or password
 

Package wtanaka.praya.yahoo Description

Yahoo! Messenger protocol. This package is written as an almost line-by-line port of the libyahoo yahoo messenger client library. It consists of the following major parts:

Generic C functionality

C emulation classes -- emulation of some standard C library functions, included to make the porting effort easier, and the java source code look more similar to the C source code. LibC, and its dependent YahooStringTokenizer
Little Endian converter streams -- Since yahoo deals with everything in a little-endian fashion, and Java deals with everything in a big-endian fashion, these classes are necessary to convert between these two worlds. LittleEndianInputStream and LittleEndianOutputStream

libyahoo functionality

Data Structures -- structs in libyahoo from libyahoo.h YahooAddress -- Name, Address, Phone Numbers, etc.
YahooContext -- Information about a particular network connection with the messenger server.
YahooOptions -- Proxy and connection options
YahooRawPacket -- Raw packet received from or sent to server
YahooIDStatus -- status information for a parcticular yahoo user
YahooBuddy -- information for a buddy
YahooPacket -- parsed packet
YahooIDLabel -- maps a status code to its human-readable form
Input and Output streams -- very simple wrapper streams which simply call readFrom and writeTo on YahooRawPacket. RawPacketInputStream and RawPacketOutputStream
LibYahoo emulation YahooLib -- the port of libyahoo.c

gtkyahoo functionality

GTKYahoo emulation, used directly by the main YahooClient class. Utils provides strlower(). GTKYEvents and GTKYStatus are ports of their similarly named C files in gtkyahoo.

Praya functionality

Utilities -- other non-protocol related yahoo specific utilities YahooUtils
Messages -- specific subclasses of wtanaka.praya.obj.Message which contain more information than just a textual string. CalendarMessage, LoggedOnElsewhereMessage, MailMessage, YahooLoginMessage, YahooLogoutMessage, YahooMessage, YahooSelfMessage, and YahooStatusMessage
Main protocol classes YahooRecipient, which represents a single buddy on yahoo messenger.

YahooClient and its helper thread which reads data from the messenger server YahooReadThread

Return to Sourceforge or the Praya Homepage