merged tag ooo/OOO330_m14
[LibreOffice.git] / xmlsecurity / source / xmlsec / xmlelementwrapper_xmlsecimpl.hxx
blobe90513266ec5d87e695e32677a84a328e9168b7a
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef _XMLELEMENTWRAPPER_XMLSECIMPL_HXX
29 #define _XMLELEMENTWRAPPER_XMLSECIMPL_HXX
31 #include <com/sun/star/xml/wrapper/XXMLElementWrapper.hpp>
32 #include <com/sun/star/lang/XUnoTunnel.hpp>
33 #include <com/sun/star/lang/XInitialization.hpp>
34 #include <com/sun/star/lang/XServiceInfo.hpp>
35 #include <cppuhelper/implbase3.hxx>
37 #include <libxml/tree.h>
39 class XMLElementWrapper_XmlSecImpl : public cppu::WeakImplHelper3
41 com::sun::star::xml::wrapper::XXMLElementWrapper,
42 com::sun::star::lang::XUnoTunnel,
43 com::sun::star::lang::XServiceInfo
45 /****** XMLElementWrapper_XmlSecImpl.hxx/CLASS XMLElementWrapper_XmlSecImpl ***
47 * NAME
48 * XMLElementWrapper_XmlSecImpl -- Class to wrap a libxml2 node
50 * FUNCTION
51 * Used as a wrapper class to transfer a libxml2 node structure
52 * between different UNO components.
54 * HISTORY
55 * 05.01.2004 - Interface supported: XXMLElementWrapper, XUnoTunnel
56 * XServiceInfo
58 * AUTHOR
59 * Michael Mi
60 * Email: michael.mi@sun.com
61 ******************************************************************************/
63 private:
64 /* the libxml2 node wrapped by this object */
65 xmlNodePtr m_pElement;
67 public:
68 explicit XMLElementWrapper_XmlSecImpl(const xmlNodePtr pNode);
69 virtual ~XMLElementWrapper_XmlSecImpl() {};
71 /* XXMLElementWrapper */
73 /* com::sun::star::lang::XUnoTunnel */
74 virtual sal_Int64 SAL_CALL getSomething( const com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
75 throw (com::sun::star::uno::RuntimeException);
76 static com::sun::star::uno::Sequence < sal_Int8 > getUnoTunnelImplementationId( void )
77 throw(com::sun::star::uno::RuntimeException);
79 /* com::sun::star::lang::XServiceInfo */
80 virtual rtl::OUString SAL_CALL getImplementationName( )
81 throw (com::sun::star::uno::RuntimeException);
82 virtual sal_Bool SAL_CALL supportsService( const rtl::OUString& ServiceName )
83 throw (com::sun::star::uno::RuntimeException);
84 virtual com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames( )
85 throw (com::sun::star::uno::RuntimeException);
87 public:
88 xmlNodePtr getNativeElement( ) const;
89 void setNativeElement(const xmlNodePtr pNode);
92 rtl::OUString XMLElementWrapper_XmlSecImpl_getImplementationName()
93 throw ( com::sun::star::uno::RuntimeException );
95 sal_Bool SAL_CALL XMLElementWrapper_XmlSecImpl_supportsService( const rtl::OUString& ServiceName )
96 throw ( com::sun::star::uno::RuntimeException );
98 com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL XMLElementWrapper_XmlSecImpl_getSupportedServiceNames( )
99 throw ( com::sun::star::uno::RuntimeException );
101 com::sun::star::uno::Reference< com::sun::star::uno::XInterface >
102 SAL_CALL XMLElementWrapper_XmlSecImpl_createInstance(
103 const com::sun::star::uno::Reference<
104 com::sun::star::lang::XMultiServiceFactory > & rSMgr)
105 throw ( com::sun::star::uno::Exception );
107 #endif