diff --git a/unoxml/source/dom/node.cxx b/unoxml/source/dom/node.cxx index b9e3a6346310..b4841508f9d9 100644 --- a/unoxml/source/dom/node.cxx +++ b/unoxml/source/dom/node.cxx @@ -1001,5 +1001,11 @@ namespace DOM events::CEventDispatcher::dispatchEvent(m_aNodePtr, evt); return sal_True; } + + ::sal_Int64 SAL_CALL CNode::getSomething(const Sequence< ::sal_Int8 >& /*aIdentifier*/) + throw (RuntimeException) + { + return sal::static_int_cast(reinterpret_cast(m_aNodePtr)); + } } diff --git a/unoxml/source/dom/node.hxx b/unoxml/source/dom/node.hxx index 51adbd3100be..f70f2c064104 100644 --- a/unoxml/source/dom/node.hxx +++ b/unoxml/source/dom/node.hxx @@ -37,9 +37,10 @@ #include #include #include -#include +#include #include #include +#include #include #include #include @@ -67,6 +68,8 @@ using namespace com::sun::star::xml::sax; using namespace com::sun::star::xml::dom; using namespace com::sun::star::xml::dom::events; +using com::sun::star::lang::XUnoTunnel; + namespace DOM { struct Context @@ -117,7 +120,7 @@ namespace DOM typedef std::map< const xmlNodePtr, CNode* > nodemap_t; - class CNode : public cppu::WeakImplHelper2< XNode, XEventTarget > + class CNode : public cppu::WeakImplHelper3< XNode, XUnoTunnel, XEventTarget > { friend class CDocument; friend class CElement; @@ -342,6 +345,9 @@ namespace DOM virtual sal_Bool SAL_CALL dispatchEvent(const Reference< XEvent >& evt) throw(RuntimeException, EventException); + // --- XUnoTunnel + virtual ::sal_Int64 SAL_CALL getSomething(const Sequence< ::sal_Int8 >& aIdentifier) + throw (RuntimeException); }; /// eliminate redundant namespace declarations