24#include <com/sun/star/container/XEnumeration.hpp>
25#include <com/sun/star/container/XIndexAccess.hpp>
26#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
27#include <com/sun/star/lang/WrappedTargetException.hpp>
28#include <com/sun/star/script/CannotConvertException.hpp>
30using com::sun::star::container::XEnumeration;
31using com::sun::star::container::XIndexAccess;
32using com::sun::star::lang::IndexOutOfBoundsException;
33using com::sun::star::lang::WrappedTargetException;
34using com::sun::star::uno::Any;
36using com::sun::star::uno::RuntimeException;
68 bool hasMoreElements =
false;
74 if ( hasMoreElements )
80 if ( hasMoreElements )
86 PyErr_SetString( PyExc_StopIteration,
"" );
89 catch( css::container::NoSuchElementException &e )
93 catch( css::script::CannotConvertException &e )
97 catch( css::lang::IllegalArgumentException &e )
101 catch(
const css::lang::WrappedTargetException &e )
105 catch(
const css::uno::RuntimeException &e )
115 PyVarObject_HEAD_INIT( &PyType_Type, 0 )
120#
if PY_VERSION_HEX >= 0x03080000
166#
if PY_VERSION_HEX >= 0x03040000
168#
if PY_VERSION_HEX >= 0x03080000
170#
if PY_VERSION_HEX < 0x03090000
172#pragma clang diagnostic push
173#pragma clang diagnostic ignored
"-Wdeprecated-declarations"
177#pragma clang diagnostic pop
187 if ( self ==
nullptr )
191 return reinterpret_cast<PyObject*
>(self);
204 PyObject_Del( self );
217 bool noMoreElements =
false;
223 catch(
const css::lang::IndexOutOfBoundsException & )
225 noMoreElements =
true;
229 if ( noMoreElements )
231 PyErr_SetString( PyExc_StopIteration,
"" );
239 catch( css::script::CannotConvertException &e )
243 catch( css::lang::IllegalArgumentException &e )
247 catch(
const css::lang::WrappedTargetException &e )
251 catch(
const css::uno::RuntimeException &e )
261 PyVarObject_HEAD_INIT( &PyType_Type, 0 )
266#
if PY_VERSION_HEX >= 0x03080000
312#
if PY_VERSION_HEX >= 0x03040000
314#
if PY_VERSION_HEX >= 0x03080000
316#
if PY_VERSION_HEX < 0x03090000
318#pragma clang diagnostic push
319#pragma clang diagnostic ignored
"-Wdeprecated-declarations"
323#pragma clang diagnostic pop
333 if ( self ==
nullptr )
338 return reinterpret_cast<PyObject*
>(self);
Helper class for keeping references to python objects.
PyObject * getAcquired() const
helper class for detaching the current thread from the python runtime to do some blocking,...
The pyuno::Runtime class keeps the internal state of the python UNO bridge for the currently in use p...
PyRef any2PyObject(const css::uno::Any &source) const
converts something contained in a UNO Any to a Python object
PyObject * PyUNO_list_iterator_new(const css::uno::Reference< css::container::XIndexAccess > &xIndexAccess)
static PyObject * PyUNO_list_iterator_next(PyObject *self)
static PyTypeObject PyUNO_iterator_Type
void raisePyExceptionWithAny(const css::uno::Any &anyExc)
PyObject * PyUNO_iterator_new(const css::uno::Reference< css::container::XEnumeration > &xEnumeration)
static void PyUNO_list_iterator_del(PyObject *self)
static PyObject * PyUNO_iterator_next(PyObject *self)
static PyTypeObject PyUNO_list_iterator_Type
static PyObject * PyUNO_iterator_iter(PyObject *self)
static void PyUNO_iterator_del(PyObject *self)
#define Py_TPFLAGS_HAVE_ITER
css::uno::Reference< css::container::XEnumeration > xEnumeration
PyObject_HEAD PyUNO_iterator_Internals * members
css::uno::Reference< css::container::XIndexAccess > xIndexAccess
PyObject_HEAD PyUNO_list_iterator_Internals * members