Package com.iizix.term.remote
Class RemoteHostSession
java.lang.Object
com.iizix.term.remote.RemoteHostSession
- All Implemented Interfaces:
HostScreenListener
,HostSessionListener
,HostSessionOwner
,IPreSendHostSessionProps
,RemoteHostSessionListener
public class RemoteHostSession extends Object implements HostSessionOwner, IPreSendHostSessionProps, RemoteHostSessionListener, HostScreenListener
The host screen changes.
- Author:
- Christopher Mindus
Field Summary
Constructor Summary
ConstructorDescriptionRemoteHostSession
(Worker worker, HostSessionProps props, boolean needFields, boolean needPopupWindows) Creates a remote host session controller instance.Method Summary
Modifier and TypeMethodDescriptionvoid
attachHostSession
(HostSession hostSession, Runnable stateChangedListener) Attaches a host session to this instance.void
Detaches from the host session.Gets the host session.Gets the SessionInfo.Gets the worker of the session.void
onConnectChange
(HostSessionPeer peer, boolean connected) Notifies the session of a connect state change.void
onCursorChanged
(int x, int y) The cursor position has changed.void
onCursorPositionChange
(HostSessionPeer peer, int x, int y) Notifies the session that the cursor position has changed.void
onFieldChange
(HostSessionPeer peer) Notifies the session that fields have changed.int
onHostDataStreamProcessing
(HostSessionPeer peer, boolean isEntering) Called when the datastream enters or exits processing.void
onHostDataStreamProcessing
(HostSessionPeer peer, boolean isEntering, int updates) N/A.void
Called when a host printer needs printing of a new page.void
onPreSend
(HostSessionProps props) Called prior to sending the transaction update to the other party.void
onScreenChange
(HostSessionPeer peer, int beginPos, int endPos) Notifies the session of a screen change.void
onScreenChange
(HostSessionPeer peer, int begin, int end, char[] chars, byte[] attr1, byte[] attr2) Notifies the session of a screen change.void
onScreenChanged
(int begin, int end) The screen has changed between two points in a wrapping fashion.void
The display has been cleared, i.e.void
onScreenSizeChange
(HostSessionPeer peer, int cx, int cy) Notifies the session that the screen size has changed.void
onScreenSizeChanged
(int cx, int cy) The screen size has changed.void
onSessionFailure
(HostSessionPeer peer, Throwable exception) Called when a session has had a failure.void
onStateChange
(HostSessionPeer peer) Notifies the session of a state change (such as insert mode, lock state, error state).performTerminalCopy
(int x, int y, int cx, int cy) Performs a copy operation to a clip board string for terminal screen.boolean
printSession
(HostSessionPeer peer) Called when the host (mainframe) has issued a Print Session (Print Local Copy).void
soundAlarm
(HostSessionPeer peer) Sound alarm on the client.
Field Details
isVerbose
public boolean isVerboseThe verbose flag.
Constructor Details
RemoteHostSession
public RemoteHostSession(Worker worker, HostSessionProps props, boolean needFields, boolean needPopupWindows) Creates a remote host session controller instance.- Parameters:
worker
- The worker for the session.props
- The host session properties.needFields
- Changes in fields are of interest or not.needPopupWindows
- Changes in pop-up windows are of interest or not.
Method Details
attachHostSession
Attaches a host session to this instance.- Parameters:
hostSession
- The host session instance.stateChangedListener
- The state change listener, null for none.
detachHostSession
public void detachHostSession()Detaches from the host session.onPreSend
Called prior to sending the transaction update to the other party. Using this method, an implementing class can add additional data at the last moment.- Specified by:
onPreSend
in interfaceIPreSendHostSessionProps
- Parameters:
props
- The host session properties.
getHostSession
Gets the host session.- Returns:
- The host session, null if not created.
onScreenClear
public void onScreenClear()The display has been cleared, i.e. entire screen blanked with spaces and default color.- Specified by:
onScreenClear
in interfaceHostScreenListener
onCursorChanged
public void onCursorChanged(int x, int y) The cursor position has changed.- Specified by:
onCursorChanged
in interfaceHostScreenListener
- Parameters:
x
- X position on screen.y
- Y position on screen.
onScreenChanged
public void onScreenChanged(int begin, int end) The screen has changed between two points in a wrapping fashion.- Specified by:
onScreenChanged
in interfaceHostScreenListener
- Parameters:
begin
- The beginning position.end
- The end position (inclusive).
onScreenSizeChanged
public void onScreenSizeChanged(int cx, int cy) The screen size has changed.- Specified by:
onScreenSizeChanged
in interfaceHostScreenListener
- Parameters:
cx
- The new width.cy
- The new height.
onScreenChange
Notifies the session of a screen change.- Specified by:
onScreenChange
in interfaceHostSessionListener
onScreenChange
public void onScreenChange(HostSessionPeer peer, int begin, int end, char[] chars, byte[] attr1, byte[] attr2) Notifies the session of a screen change.- Specified by:
onScreenChange
in interfaceRemoteHostSessionListener
- Parameters:
peer
- Host session peer.begin
- Begin position, zero based.end
- Ending position, zero-based (inclusive).chars
- Characters data.attr1
- Normal attribute array.attr2
- Extended attribute array.
onFieldChange
Notifies the session that fields have changed.- Specified by:
onFieldChange
in interfaceHostSessionListener
onScreenSizeChange
Notifies the session that the screen size has changed.- Specified by:
onScreenSizeChange
in interfaceHostSessionListener
onCursorPositionChange
Notifies the session that the cursor position has changed.- Specified by:
onCursorPositionChange
in interfaceHostSessionListener
onConnectChange
Notifies the session of a connect state change.- Specified by:
onConnectChange
in interfaceHostSessionListener
onStateChange
Notifies the session of a state change (such as insert mode, lock state, error state).- Specified by:
onStateChange
in interfaceHostSessionListener
onSessionFailure
Called when a session has had a failure.- Specified by:
onSessionFailure
in interfaceHostSessionListener
soundAlarm
Sound alarm on the client.- Specified by:
soundAlarm
in interfaceHostSessionListener
onHostDataStreamProcessing
Called when the datastream enters or exits processing. This enables the owner to "group" multiple notification events together.- Specified by:
onHostDataStreamProcessing
in interfaceHostSessionOwner
- Parameters:
peer
- The peer.isEntering
- Flag for entering or exiting.- Returns:
- Bit flags 0x01 = characters changed, 0x02=fields changed.
onHostPrintPage
Called when a host printer needs printing of a new page.- Specified by:
onHostPrintPage
in interfaceHostSessionOwner
- Parameters:
peer
- The peer.
printSession
Called when the host (mainframe) has issued a Print Session (Print Local Copy).- Specified by:
printSession
in interfaceHostSessionOwner
- Parameters:
peer
- The peer.- Returns:
- true for success, false for cancel.
getWorker
Gets the worker of the session.- Specified by:
getWorker
in interfaceHostSessionOwner
- Returns:
- The worker.
getSessionInfo
Gets the SessionInfo.- Specified by:
getSessionInfo
in interfaceHostSessionOwner
- Returns:
- The session info, never null.
performTerminalCopy
Performs a copy operation to a clip board string for terminal screen.- Parameters:
x
- X position.y
- Y position.cx
- Width.cy
- Height.- Returns:
- null if the operation could not be completed due to invalid host session or parameters.
onHostDataStreamProcessing
N/A.- Specified by:
onHostDataStreamProcessing
in interfaceHostSessionListener
- Parameters:
peer
- The peer.isEntering
- The state of processing (true=before, false=after).updates
- What has been updated on screen (bit flag: 0x01=characters, 0x02=fields).