Interface IProtocol

  • All Known Implementing Classes:
    urp

    public interface IProtocol
    An abstraction of remote bridge protocols.

    A class implementing a given protocol prot must be named com.sun.star.lib.uno.protocols.prot.prot and must have a public constructor that takes four arguments: The first argument of type com.sun.star.uno.IBridge must not be null. The second argument of type String represents any attributes; it may be null if there are no attributes. The third argument of type java.io.InputStream must not be null. The fourth argument of type java.io.OutputStream must not be null.

    • Method Detail

      • init

        void init()
           throws java.io.IOException
        Initializes the connection.

        This method must be called exactly once, after the readMessage loop has already been established.

        Throws:
        java.io.IOException
      • terminate

        void terminate()
      • readMessage

        Message readMessage()
                     throws java.io.IOException
        Reads a request or reply message.

        Access to this method from multiple threads must be properly synchronized.

        Returns:
        a non-null message; if the input stream is exhausted, a java.io.IOException is thrown instead.
        Throws:
        java.io.IOException
      • writeRequest

        boolean writeRequest​(java.lang.String oid,
                             TypeDescription type,
                             java.lang.String function,
                             ThreadId tid,
                             java.lang.Object[] arguments)
                      throws java.io.IOException
        Writes a request message.
        Parameters:
        oid - a non-null OID.
        type - a non-null UNO type.
        function - a non-null function (the name of a UNO interface method or attribute compatible with the given type, or either "queryInterface" or "release").
        tid - a non-null TID.
        arguments - a list of UNO arguments compatible with the given type and function; may be null to represent an empty list.
        Returns:
        true if the request message is sent as a synchronous request.
        Throws:
        java.io.IOException
      • writeReply

        void writeReply​(boolean exception,
                        ThreadId tid,
                        java.lang.Object result)
                 throws java.io.IOException
        Writes a reply message.
        Parameters:
        exception - true if the reply corresponds to a raised exception.
        tid - a non-null TID.
        result - if exception is true, a non-null UNO exception; otherwise, a UNO return value, which may be null to represent a VOID return value.
        Throws:
        java.io.IOException