diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.cpp b/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.cpp index 9c4d5c5a4..05e95c9ee 100644 --- a/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.cpp +++ b/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.cpp @@ -83,6 +83,11 @@ namespace sofapython3 } } + std::string MessageHandler_Trampoline::getName() const + { + PythonEnvironment::gil acquire {"MessageHandler::getName"}; + return py::str(py::cast(this).get_type().attr("__name__")); + } void moduleAddMessageHandler(py::module &m) { py::class_ f(m, "MessageHandler", py::dynamic_attr(), "Manages and processes messages"); diff --git a/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.h b/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.h index 4b7a5c0f5..d3d009b5f 100644 --- a/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.h +++ b/bindings/Sofa/src/SofaPython3/Sofa/Helper/Binding_MessageHandler.h @@ -33,12 +33,14 @@ namespace sofapython3 { class PyMessageHandler: public sofa::helper::logging::MessageHandler { public: void process(sofa::helper::logging::Message& m) override {SOFA_UNUSED(m);} + std::string getName() const override {return "PyMessageHandler";} }; class MessageHandler_Trampoline : public PyMessageHandler { public: void process(sofa::helper::logging::Message& m) override ; + std::string getName() const override; }; void moduleAddMessageHandler(pybind11::module &m); diff --git a/bindings/SofaRuntime/src/SofaPython3/SofaRuntime/PythonMessageHandler.h b/bindings/SofaRuntime/src/SofaPython3/SofaRuntime/PythonMessageHandler.h index fd1636f13..4ff3730ba 100644 --- a/bindings/SofaRuntime/src/SofaPython3/SofaRuntime/PythonMessageHandler.h +++ b/bindings/SofaRuntime/src/SofaPython3/SofaRuntime/PythonMessageHandler.h @@ -31,6 +31,7 @@ class PythonMessageHandler : public sofa::helper::logging::MessageHandler public: PythonMessageHandler() = default; void process(sofa::helper::logging::Message& m) override ; + std::string getName() const override { return "PythonMessageHandler"; } }; class MainPythonMessageHandler