org.nukesoft.bot2.lineproc
Interface LineProcContextCallback

All Known Implementing Classes:
Dialog

public interface LineProcContextCallback

The LineProcContextCallback class is used by LineProc classes to pass off requests to the proper authority.

Author:
Ryan Michela

Method Summary
 boolean bindConversation(String dialogID)
          Forces all trafic to and from designated dialog to also be echoed to this LineProc.
 Set getComPortBindIDs()
          Returns a set of Strings containing the bind IDs of all comports.
 Set getConversations()
          Fetches a list of all active conversations.
 String getIdentity()
          Returns the identity of the Dialog object.
 Set getLineProcBindIDs()
          Returns a set of Strings containing the bind IDs of all line procs.
 String getLineProcLibPath(String lineProcBindID)
          Returns the lib path of the desired line proc based on bind ID.
 String getWarningLevel()
          Fetches the warning level of the account to which this conversation is bound.
 void initiateConversation(String commPortBindID, String remoteScreenName, String salutation)
          Initates a conversation with a remote screen name.
 void interject(String dialogID, String interjection)
          Sends an interjection into another Dialog's conversation flow.
 boolean loadNewLineProcOnPeer(String dialogID, String lineProcBindID)
          Loads a new line processor for a peer Dialog and transfers control to it.
 void sendIM(IM message)
          Sends an IM.
 void sendWarning(String screenName, boolean anonymous)
          Sends a warning.
 boolean unbindConversation(String dialogID)
          Halts all traffic to and from designated dialog.
 

Method Detail

sendIM

public void sendIM(IM message)
Sends an IM.

Parameters:
message - The IM to send.

sendWarning

public void sendWarning(String screenName,
                        boolean anonymous)
Sends a warning. May not work on all networks.

Parameters:
screenName - The screen name to warn.
anonymous - If TRUE, warn anonymously.

getWarningLevel

public String getWarningLevel()
Fetches the warning level of the account to which this conversation is bound.

Returns:
Integer string containing warning level if warning is supported on the supporting network. "N/A" if warning is not.

getIdentity

public String getIdentity()
Returns the identity of the Dialog object.

Returns:
Identity string in the form CommPortBindName~ForeignScreenName.

getConversations

public Set getConversations()
Fetches a list of all active conversations.

Returns:
String array with fully qualified conversation names in the format CommPortBindName~ForeignScreenName.

bindConversation

public boolean bindConversation(String dialogID)
Forces all trafic to and from designated dialog to also be echoed to this LineProc.

Parameters:
dialogID - Dialog ID to bind to in the format CommPortBindName~ForeignScreenName.

unbindConversation

public boolean unbindConversation(String dialogID)
Halts all traffic to and from designated dialog. In other words, stops message echoing. Does nothing if not bound to target dialog.

Parameters:
dialogID - Dialog ID to unbind from in the format CommPortBindName~ForeignScreenName.

getComPortBindIDs

public Set getComPortBindIDs()
Returns a set of Strings containing the bind IDs of all comports. This information can be used for internal purposes or for initiating a conversation with an unknowing victim.

Returns:
A set of Strings.

getLineProcBindIDs

public Set getLineProcBindIDs()
Returns a set of Strings containing the bind IDs of all line procs. This information can be used for internal purposes or for rebinding the current conversation to a new line proc.

Returns:
A set of Strings.

getLineProcLibPath

public String getLineProcLibPath(String lineProcBindID)
Returns the lib path of the desired line proc based on bind ID. Used when loading a new line proc.

Parameters:
lineProcBindID - The bind ID to look up.
Returns:
The lip path to the selected line proc.

initiateConversation

public void initiateConversation(String commPortBindID,
                                 String remoteScreenName,
                                 String salutation)
Initates a conversation with a remote screen name.

Parameters:
commPortBindID - The commPort to use for the dialog.
remoteScreenName - The screen name to initiate a conversation with.
salutation - The salutation to send them.

interject

public void interject(String dialogID,
                      String interjection)
Sends an interjection into another Dialog's conversation flow.

Parameters:
dialogID - The name of the dialog to interject into.
interjection - The text to interject with.

loadNewLineProcOnPeer

public boolean loadNewLineProcOnPeer(String dialogID,
                                     String lineProcBindID)
Loads a new line processor for a peer Dialog and transfers control to it.

Parameters:
dialogID - The peer to manipulate.
lineProcBindID - The line proc to load.
Returns:
TRUE if success, FALSE if otherwise.