LibreOffice Module pyuno (master) 1
Classes | Namespaces | Macros | Typedefs | Functions | Variables
pyuno_impl.hxx File Reference
#include <Python.h>
#include <pyuno.hxx>
#include <string_view>
#include <unordered_map>
#include <unordered_set>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/script/XInvocation.hpp>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/weakref.hxx>
#include <osl/module.hxx>
Include dependency graph for pyuno_impl.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pyuno::PyUNOInternals
 
struct  pyuno::PyUNO
 
struct  pyuno::PyUNO_iterator_Internals
 
struct  pyuno::PyUNO_iterator
 
struct  pyuno::PyUNO_list_iterator_Internals
 
struct  pyuno::PyUNO_list_iterator
 
struct  pyuno::RuntimeCargo
 
struct  pyuno::stRuntimeImpl
 
class  pyuno::Adapter
 

Namespaces

namespace  com
 
namespace  com::sun
 
namespace  com::sun::star
 
namespace  com::sun::star::beans
 
namespace  com::sun::star::container
 
namespace  com::sun::star::lang
 
namespace  com::sun::star::reflection
 
namespace  com::sun::star::script
 
namespace  pyuno
 
namespace  pyuno::LogLevel
 

Macros

#define Py_TPFLAGS_HAVE_ITER   0
 
#define Py_TPFLAGS_HAVE_RICHCOMPARE   0
 
#define Py_TPFLAGS_HAVE_SEQUENCE_IN   0
 

Typedefs

typedef std::unordered_map< PyRef, css::uno::WeakReference< css::script::XInvocation >, PyRef::Hash > pyuno::PyRef2Adapter
 
typedef std::unordered_map< OUString, PyRef > pyuno::ExceptionClassMap
 
typedef std::unordered_map< OUString, css::uno::Sequence< sal_Int16 > > pyuno::MethodOutIndexMap
 
typedef std::unordered_set< PyRef, PyRef::Hash > pyuno::ClassSet
 

Functions

bool pyuno::isLog (RuntimeCargo const *cargo, sal_Int32 loglevel)
 
void pyuno::log (RuntimeCargo *cargo, sal_Int32 level, std::u16string_view logString)
 
void pyuno::log (RuntimeCargo *cargo, sal_Int32 level, const char *str)
 
void pyuno::logCall (RuntimeCargo *cargo, const char *intro, void *ptr, std::u16string_view aFunctionName, const css::uno::Sequence< css::uno::Any > &args)
 
void pyuno::logReply (RuntimeCargo *cargo, const char *intro, void *ptr, std::u16string_view aFunctionName, const css::uno::Any &returnValue, const css::uno::Sequence< css::uno::Any > &args)
 
void pyuno::logException (RuntimeCargo *cargo, const char *intro, void *ptr, std::u16string_view aFunctionName, const void *data, const css::uno::Type &type)
 
OUString pyuno::val2str (const void *pVal, typelib_TypeDescriptionReference *pTypeRef, sal_Int32 mode)
 
int pyuno::PyUNO_initType ()
 
int pyuno::PyUNOStruct_initType ()
 
PyRef pyuno::PyUNO_new (const css::uno::Any &targetInterface, const css::uno::Reference< css::lang::XSingleServiceFactory > &ssf)
 
PyRef pyuno::PyUNOStruct_new (const css::uno::Any &targetInterface, const css::uno::Reference< css::lang::XSingleServiceFactory > &ssf)
 
PyObject * pyuno::PyUNO_iterator_new (const css::uno::Reference< css::container::XEnumeration > &xEnumeration)
 
PyObject * pyuno::PyUNO_list_iterator_new (const css::uno::Reference< css::container::XIndexAccess > &xIndexAccess)
 
PyRef pyuno::ustring2PyUnicode (const OUString &source)
 
PyRef pyuno::ustring2PyString (std::u16string_view source)
 
OUString pyuno::pyString2ustring (PyObject *str)
 
void pyuno::raiseInvocationTargetExceptionWhenNeeded (const Runtime &runtime)
 
PyRef pyuno::PyUNO_callable_new (const css::uno::Reference< css::script::XInvocation2 > &xInv, const OUString &methodName, ConversionMode mode=REJECT_UNO_ANY)
 
PyObject * pyuno::PyUNO_Type_new (const char *typeName, css::uno::TypeClass t, const Runtime &r)
 
PyObject * pyuno::PyUNO_Enum_new (const char *enumBase, const char *enumValue, const Runtime &r)
 
PyObject * pyuno::PyUNO_char_new (sal_Unicode c, const Runtime &r)
 
PyObject * pyuno::PyUNO_ByteSequence_new (const css::uno::Sequence< sal_Int8 > &, const Runtime &r)
 
PyRef pyuno::getTypeClass (const Runtime &)
 
PyRef pyuno::getEnumClass (const Runtime &)
 
PyRef pyuno::getCharClass (const Runtime &)
 
PyRef pyuno::getByteSequenceClass (const Runtime &)
 
PyRef pyuno::getPyUnoClass ()
 
PyRef pyuno::getPyUnoStructClass ()
 
PyRef pyuno::getClass (const OUString &name, const Runtime &runtime)
 
PyRef pyuno::getAnyClass (const Runtime &)
 
PyObject * pyuno::PyUNO_invoke (PyObject *object, const char *name, PyObject *args)
 
css::uno::Any pyuno::PyEnum2Enum (PyObject *obj)
 
sal_Unicode pyuno::PyChar2Unicode (PyObject *o)
 
css::uno::Type pyuno::PyType2Type (PyObject *o)
 
void pyuno::raisePyExceptionWithAny (const css::uno::Any &anyExc)
 
const char * pyuno::typeClassToString (css::uno::TypeClass t)
 
PyRef pyuno::getObjectFromUnoModule (const Runtime &runtime, const char *object)
 
bool pyuno::isInterfaceClass (const Runtime &runtime, PyObject *obj)
 
bool pyuno::isInstanceOfStructOrException (PyObject *obj)
 
void pyuno::decreaseRefCount (PyInterpreterState *interpreter, PyObject *object)
 releases a refcount on the interpreter object and on another given python object. More...
 

Variables

const sal_Int32 pyuno::LogLevel::NONE = 0
 
const sal_Int32 pyuno::LogLevel::CALL = 1
 
const sal_Int32 pyuno::LogLevel::ARGS = 2
 
const sal_Int32 pyuno::VAL2STR_MODE_DEEP = 0
 
const sal_Int32 pyuno::VAL2STR_MODE_SHALLOW = 1
 

Macro Definition Documentation

◆ Py_TPFLAGS_HAVE_ITER

#define Py_TPFLAGS_HAVE_ITER   0

Definition at line 30 of file pyuno_impl.hxx.

◆ Py_TPFLAGS_HAVE_RICHCOMPARE

#define Py_TPFLAGS_HAVE_RICHCOMPARE   0

Definition at line 33 of file pyuno_impl.hxx.

◆ Py_TPFLAGS_HAVE_SEQUENCE_IN

#define Py_TPFLAGS_HAVE_SEQUENCE_IN   0

Definition at line 36 of file pyuno_impl.hxx.