Class RemoteHostSession

    • Field Detail

      • isVerbose

        public boolean isVerbose
        The verbose flag.
    • Constructor Detail

      • 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 Detail

      • attachHostSession

        public void attachHostSession​(HostSession hostSession,
                                      java.lang.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 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.
      • 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.
      • 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.
      • performTerminalCopy

        public java.lang.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).