public interface IProtocol
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.
Modifier and Type | Method and 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.
|
void init() throws java.io.IOException
This method must be called exactly once, after the
readMessage
loop has already been established.
java.io.IOException
void terminate()
Message readMessage() throws java.io.IOException
Access to this method from multiple threads must be properly synchronized.
java.io.IOException
is thrown insteadjava.io.IOException
boolean writeRequest(java.lang.String oid, TypeDescription type, java.lang.String function, ThreadId tid, java.lang.Object[] arguments) throws java.io.IOException
oid
- a non-null OIDtype
- a non-null UNO typefunction
- a non-null function (the name of a UNO interface method
or attribute compatible with the given type
, or either
"queryInterface"
or "release"
)threadId
- a non-null TIDarguments
- a list of UNO arguments compatible with the given
type
and function
; may be null to represent
an empty listtrue
if the request message is sent as a synchronous
requestjava.io.IOException
void writeReply(boolean exception, ThreadId tid, java.lang.Object result) throws java.io.IOException
exception
- true
if the reply corresponds to a raised
exceptiontid
- a non-null TIDresult
- if exception
is true
, a non-null
UNO exception; otherwise, a UNO return value, which may be null to
represent a VOID
return valuejava.io.IOException