Class RemoteHostSession

java.lang.Object
com.iizix.term.remote.RemoteHostSession
All Implemented Interfaces:
HostScreenListener, HostSessionListener, HostSessionOwner, IPreSendHostSessionProps, RemoteHostSessionListener

The host screen changes.
Author:
Christopher Mindus
  • Field Details

    • isVerbose

      public boolean isVerbose
      The 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

      public void attachHostSession(HostSession hostSession, Runnable stateChangedListener)
      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

      public void onPreSend(HostSessionProps props)
      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 interface IPreSendHostSessionProps
      Parameters:
      props - The host session properties.
    • getHostSession

      public HostSession 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 interface HostScreenListener
    • onCursorChanged

      public void onCursorChanged(int x, int y)
      The cursor position has changed.
      Specified by:
      onCursorChanged in interface HostScreenListener
      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 interface HostScreenListener
      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 interface HostScreenListener
      Parameters:
      cx - The new width.
      cy - The new height.
    • onScreenChange

      public void onScreenChange(HostSessionPeer peer, int beginPos, int endPos)
      Notifies the session of a screen change.
      Specified by:
      onScreenChange in interface HostSessionListener
    • 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 interface RemoteHostSessionListener
      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

      public void onFieldChange(HostSessionPeer peer)
      Notifies the session that fields have changed.
      Specified by:
      onFieldChange in interface HostSessionListener
    • onScreenSizeChange

      public void onScreenSizeChange(HostSessionPeer peer, int cx, int cy)
      Notifies the session that the screen size has changed.
      Specified by:
      onScreenSizeChange in interface HostSessionListener
    • onCursorPositionChange

      public void onCursorPositionChange(HostSessionPeer peer, int x, int y)
      Notifies the session that the cursor position has changed.
      Specified by:
      onCursorPositionChange in interface HostSessionListener
    • onConnectChange

      public void onConnectChange(HostSessionPeer peer, boolean connected)
      Notifies the session of a connect state change.
      Specified by:
      onConnectChange in interface HostSessionListener
    • onStateChange

      public void onStateChange(HostSessionPeer peer)
      Notifies the session of a state change (such as insert mode, lock state, error state).
      Specified by:
      onStateChange in interface HostSessionListener
    • onSessionFailure

      public void onSessionFailure(HostSessionPeer peer, Throwable exception)
      Called when a session has had a failure.
      Specified by:
      onSessionFailure in interface HostSessionListener
    • soundAlarm

      public void soundAlarm(HostSessionPeer peer)
      Sound alarm on the client.
      Specified by:
      soundAlarm in interface HostSessionListener
    • onHostDataStreamProcessing

      public int onHostDataStreamProcessing(HostSessionPeer peer, boolean isEntering)
      Called when the datastream enters or exits processing. This enables the owner to "group" multiple notification events together.
      Specified by:
      onHostDataStreamProcessing in interface HostSessionOwner
      Parameters:
      peer - The peer.
      isEntering - Flag for entering or exiting.
      Returns:
      Bit flags 0x01 = characters changed, 0x02=fields changed.
    • onHostPrintPage

      public void onHostPrintPage(HostSessionPeer peer)
      Called when a host printer needs printing of a new page.
      Specified by:
      onHostPrintPage in interface HostSessionOwner
      Parameters:
      peer - The peer.
    • printSession

      public boolean printSession(HostSessionPeer peer)
      Called when the host (mainframe) has issued a Print Session (Print Local Copy).
      Specified by:
      printSession in interface HostSessionOwner
      Parameters:
      peer - The peer.
      Returns:
      true for success, false for cancel.
    • getWorker

      public Worker getWorker()
      Gets the worker of the session.
      Specified by:
      getWorker in interface HostSessionOwner
      Returns:
      The worker.
    • getSessionInfo

      public SessionInfo getSessionInfo()
      Gets the SessionInfo.
      Specified by:
      getSessionInfo in interface HostSessionOwner
      Returns:
      The session info, never null.
    • performTerminalCopy

      public String performTerminalCopy(int x, int y, int cx, int cy)
      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

      public void onHostDataStreamProcessing(HostSessionPeer peer, boolean isEntering, int updates)
      N/A.
      Specified by:
      onHostDataStreamProcessing in interface HostSessionListener
      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).