This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Request an object with a particular interface providing additional connection-specific functionality, together with its immutable properties. These will often be implemented by plug-ins to the connection managers; for example, support for an XMPP XEP for which no generic Telepathy interface exists might be implemented by a Gabble plugin exposing a sidecar with a particular interface.
This method may be called at any point during the lifetime of a
connection, even before its
There is an implicit assumption that any connection
manager plugin will only want to export one “primary” object per
feature it implements, since there is a one-to-one mapping between
interface and object. This is reasonable since Sidecars are
(intended to be) analogous to extra interfaces on the connection,
providing once-per-connection shared functionality; it also makes
client code straightforward (look up the interface you care about
in a dictionary, build a proxy object from the value). More
“plural” plugins are likely to want to implement new types of