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 typecom.sun.star.uno.IBridge
must not be null. The second argument of typeString
represents any attributes; it may be null if there are no attributes. The third argument of typejava.io.InputStream
must not be null. The fourth argument of typejava.io.OutputStream
must not be null.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
init()
Initializes the connection.Message
readMessage()
Reads a request or reply message.void
terminate()
void
writeReply(boolean exception, ThreadId tid, java.lang.Object result)
Writes a reply message.boolean
writeRequest(java.lang.String oid, TypeDescription type, java.lang.String function, ThreadId tid, java.lang.Object[] arguments)
Writes a request message.
-
-
-
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 giventype
, or either"queryInterface"
or"release"
).tid
- a non-null TID.arguments
- a list of UNO arguments compatible with the giventype
andfunction
; 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
- ifexception
istrue
, a non-null UNO exception; otherwise, a UNO return value, which may be null to represent aVOID
return value.- Throws:
java.io.IOException
-
-