blob: c1f91b44ce2778a4726e3813464dbc669f00055d [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _XMLOFF_OOO2OASIS_HXX
#define _XMLOFF_OOO2OASIS_HXX
#include <com/sun/star/document/XImporter.hpp>
#include <com/sun/star/document/XFilter.hpp>
#include "ActionMapTypesOOo.hxx"
#ifndef _XMLOFF_TRANSFORMERBASE_HXX_
#include "TransformerBase.hxx"
#endif
class XMLTransformerOOoEventMap_Impl;
class OOo2OasisTransformer :
public XMLTransformerBase,
public ::com::sun::star::document::XImporter,
public ::com::sun::star::document::XFilter
{
::rtl::OUString m_aImplName;
::rtl::OUString m_aSubServiceName;
XMLTransformerActions *m_aActions[MAX_OOO_ACTIONS];
XMLTransformerOOoEventMap_Impl *m_pEventMap;
protected:
virtual XMLTransformerContext *CreateUserDefinedContext(
const TransformerAction_Impl& rAction,
const ::rtl::OUString& rQName,
sal_Bool bPersistent=sal_False );
virtual XMLTransformerActions *GetUserDefinedActions( sal_uInt16 n );
public:
OOo2OasisTransformer( const sal_Char *pImplName=0,
const sal_Char *pSubServiceName=0 ) throw();
virtual ~OOo2OasisTransformer() throw();
static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
// XInterface
// (XInterface methods need to be implemented to disambigouate
// between those inherited through XMLTransformerBase and
// the new interfaces).
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL acquire( ) throw ()
{ XMLTransformerBase::acquire(); };
virtual void SAL_CALL release( ) throw ()
{ XMLTransformerBase::release(); };
// XInitialization
virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
// XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
// XTypeProvider
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
// XUnoTunnel
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
// XImporter
virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
// XFilter
virtual sal_Bool SAL_CALL filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL cancel( ) throw (::com::sun::star::uno::RuntimeException);
void SAL_CALL Initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
// ::com::sun::star::xml::sax::XDocumentHandler
virtual void SAL_CALL startDocument(void)
throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException );
virtual ::rtl::OUString GetEventName( const ::rtl::OUString& rName,
sal_Bool bForm = sal_False );
};
#endif // _XMLOFF_TRANSFORMER_BASE_HXX