On 02/26/2015 01:46 PM, Michael Stahl wrote:
On 26.02.2015 12:09, Stephan Bergmann wrote:
According to Miklos: "afaik the usual way to check if a python object
has a method "foo" is 'if "foo" in dir(obj):', hope that also works with
pyuno objects."
guess that would work, unless a service implements 2 different
interfaces that overload the same method name (i hope we don't have any
such overloading...).
Ah, right. So better to go via queryInterface as below (or add a
convenient wrapper around it into uno.py say).
it's also possible to manually call queryInterface though probably that
is not idiomatic in Python:
import uno
from com.sun.star.uno.TypeClass import INTERFACE
x = uno.getComponentContext()
y = x.queryInterface(uno.Type("com.sun.star.uno.XComponentContext",
INTERFACE))
y
pyuno object (com.sun.star.uno.XComponentContext)0x7f0941697060{,
supportedInterfaces={com.sun.star.uno.XComponentContext,com.sun.star.container.XNameContainer,com.sun.star.lang.XTypeProvider,com.sun.star.uno.XWeak,com.sun.star.lang.XComponent}}
z = x.queryInterface(uno.Type("com.sun.star.util.XCloseable",
INTERFACE))
z is None
True
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice