LibreOffice
LibreOffice 24.2 SDK API Reference
|
supports connection points for connectable objects. More...
import"XConnectionPoint.idl";
Public Member Functions | |
type | getConnectionType () |
com::sun::star::lang::XConnectionPointContainer | getConnectionPointContainer () |
void | advise ([in] com::sun::star::uno::XInterface xListener) raises ( com::sun::star::lang::ListenerExistException, com::sun::star::lang::InvalidListenerException ) |
creates a connection between a connection point and a client's sink, where the sink implements the outgoing interface supported by this connection point. More... | |
void | unadvise ([in] com::sun::star::uno::XInterface xListener) |
terminates a notification previously set up with advise. More... | |
sequence< com::sun::star::uno::XInterface > | getConnections () |
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... | |
supports connection points for connectable objects.
Connectable objects support the following features:
To create a connectable object, you need to implement objects that provide two related interfaces:
The XConnectionPointContainer interface is implemented on the connectable object to indicate the existence of the outgoing interfaces. It provides a sequence of sub-objects. It also provides access to all the connection point sub-objects, each of which implements the XConnectionPoint interface. The XConnectionPoint interface provides a sequence of sub-objects.
Each connection point is a separate sub-object to avoid circular reference counting problems. A connection point controls how many connections (one or more) it will allow in its implementation of XConnectionPoint::advise().
A client can use the XConnectionPointContainer interface:
void advise | ( | [in] com::sun::star::uno::XInterface | xListener | ) | |
raises | ( | com::sun::star::lang::ListenerExistException, | |||
com::sun::star::lang::InvalidListenerException | |||||
) |
creates a connection between a connection point and a client's sink, where the sink implements the outgoing interface supported by this connection point.
A few add...Listener
methods need additional parameters to add listeners or throw exceptions. One of these methods is com::sun::star::beans::XPropertySet::addPropertyChangeListener(). We ignore the problem in this interface. A solution must be provided in an additional XConnectionPoint interface.
xListener | specifies the listener interface on the client's advise sink. The client's sink receives outgoing calls from the connection point container. |
ListenerExistException | if it is an unicast broadcaster and a listener is already set. |
InvalidListenerException | if the listener does not supply the needed interfaces. |
com::sun::star::lang::XConnectionPointContainer getConnectionPointContainer | ( | ) |
sequence<com::sun::star::uno::XInterface> getConnections | ( | ) |
type getConnectionType | ( | ) |
Using the XConnectionPointContainer::getConnectionPoints() method, a client can obtain an XConnectionPoint interface. Using that interface and this method, the client can determine the type of each connection point enumerated. The type returned from this method must enable the caller to access this same connection point through XConnectionPointContainer::findConnectionPoint().
void unadvise | ( | [in] com::sun::star::uno::XInterface | xListener | ) |
terminates a notification previously set up with advise.
A few remove...Listener
methods need additional parameters to add listeners or throw exceptions. One of these methods is com::sun::star::beans::XPropertySet::removePropertyChangeListener(). We ignore the problem in this interface. A solution must be provided in an additional XConnectionPoint interface.
xListener | specifies the listener interface on the client's advise sink. |