LibreOffice
LibreOffice 24.2 SDK API Reference
Public Member Functions | List of all members
XProtocolProperties Interface Referencepublished

Bridge internal interface, that allows to change protocol settings of the remote counter part. More...

import"XProtocolProperties.idl";

Inheritance diagram for XProtocolProperties:
XInterface

Public Member Functions

sequence< ProtocolPropertygetProperties ()
 called to get a list of bridge internal properties. More...
 
long requestChange ([in] long nRandomNumber)
 called to initiate a protocol change. More...
 
void commitChange ([in] sequence< ProtocolProperty > newValues) raises ( com::sun::star::bridge::InvalidProtocolChangeException )
 called to commit a protocol change. More...
 
- Public Member Functions inherited from XInterface
any queryInterface ([in] type aType)
 queries for a new interface to an existing UNO object. More...
 
void acquire ()
 increases the reference counter by one. More...
 
void release ()
 decreases the reference counter by one. More...
 

Detailed Description

Bridge internal interface, that allows to change protocol settings of the remote counter part.

In general, this interface is implemented by the bridge itself. It must not be called from outside the bridge.

INTERNAL INTERFACE, DO NOT USE IT ELSEWHERE!

Member Function Documentation

◆ commitChange()

void commitChange ( [in] sequence< ProtocolProperty newValues)
raises (com::sun::star::bridge::InvalidProtocolChangeException
)

called to commit a protocol change.

It is only allowed to call commitChange, if requestChange has been called previously and the return value was true. The new properties are valid after the reply of commitChange has been received. Note, that this is difficult for the callee, because it must marshal the reply with the old settings.

All properties not mentioned in the list are unchanged. Note that the bridge must be blocked for other threads, before commitChange is sent and unblocked after the reply has been received. This blocks the bridge.

Exceptions
InvalidProtocolChangeExceptionwhen the remote counterpart could not change at least one of the properties. No property has been changed. requestChange must be called again to initiate a new change of the protocol.

◆ getProperties()

sequence< ProtocolProperty > getProperties ( )

called to get a list of bridge internal properties.

Which properties can be retrieved, is protocol dependent.

The properties MUST NOT change between a requestChange and a commit change call.

◆ requestChange()

long requestChange ( [in] long  nRandomNumber)

called to initiate a protocol change.

This method should always be called in the scope of the local bridge setting object, because the remote counter part may do such a call at the same time (typically at startup time).

Parameters
nRandomNumberIn case both processes call requestChange at the same time, the caller with the higher nRandomNumber is allowed to call commitChange.
Returns
1, if the caller may ( and MUST !!!) call commitChange. 0, if the caller is not allowed to call commitChange. This can only happen, if the other bridge has called requestChange at the same time and nRandomNumber is smaller than the other bridge's nRandomNumber. The remote counterpart is supposed to call commitChange within a small time span. Please call requestChange() after the remote counterpart has called commitChange(). -1 if the nRandomNumber is of the same value as the previously sent requestChange (sent by the remote counterpart). This is a draw :o). Generate a new random number and try again.

The documentation for this interface was generated from the following file: