office-gobmx/xmloff/source/transform/OOo2Oasis.hxx
2011-03-29 21:40:28 +01:00

115 lines
5 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 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"
#include "TransformerBase.hxx"
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
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */