/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: imp_share.hxx,v $ * $Revision: 1.8 $ * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ #include #include #include #include #include #include #include #include #include #include #define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) using namespace ::rtl; using namespace ::std; using namespace ::com::sun::star; using namespace ::com::sun::star::uno; namespace xmlscript { //================================================================================================== // Script module import //================================================================================================== struct ModuleImport : public ::cppu::WeakImplHelper1< xml::input::XRoot > { friend class ModuleElement; ModuleDescriptor& mrModuleDesc; sal_Int32 XMLNS_SCRIPT_UID; sal_Int32 XMLNS_LIBRARY_UID; sal_Int32 XMLNS_XLINK_UID; public: inline ModuleImport( ModuleDescriptor& rModuleDesc ) SAL_THROW( () ) : mrModuleDesc( rModuleDesc ) {} virtual ~ModuleImport() SAL_THROW( () ); // XRoot virtual void SAL_CALL startDocument( Reference< xml::input::XNamespaceMapping > const & xNamespaceMapping ) throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL endDocument() throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL processingInstruction( OUString const & rTarget, OUString const & rData ) throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL setDocumentLocator( Reference< xml::sax::XLocator > const & xLocator ) throw (xml::sax::SAXException, RuntimeException); virtual Reference< xml::input::XElement > SAL_CALL startRootElement( sal_Int32 nUid, OUString const & rLocalName, Reference< xml::input::XAttributes > const & xAttributes ) throw (xml::sax::SAXException, RuntimeException); }; //================================================================================================== class ModuleElement : public ::cppu::WeakImplHelper1< xml::input::XElement > { protected: ModuleImport * _pImport; ModuleElement * _pParent; OUString _aLocalName; Reference< xml::input::XAttributes > _xAttributes; ::rtl::OUStringBuffer _StrBuffer; public: ModuleElement( OUString const & rLocalName, Reference< xml::input::XAttributes > const & xAttributes, ModuleElement * pParent, ModuleImport * pImport ) SAL_THROW( () ); virtual ~ModuleElement() SAL_THROW( () ); // XElement virtual Reference< xml::input::XElement > SAL_CALL getParent() throw (RuntimeException); virtual OUString SAL_CALL getLocalName() throw (RuntimeException); virtual sal_Int32 SAL_CALL getUid() throw (RuntimeException); virtual Reference< xml::input::XAttributes > SAL_CALL getAttributes() throw (RuntimeException); virtual void SAL_CALL ignorableWhitespace( OUString const & rWhitespaces ) throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL characters( OUString const & rChars ) throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL processingInstruction( OUString const & rTarget, OUString const & rData ) throw (xml::sax::SAXException, RuntimeException); virtual void SAL_CALL endElement() throw (xml::sax::SAXException, RuntimeException); virtual Reference< xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, OUString const & rLocalName, Reference< xml::input::XAttributes > const & xAttributes ) throw (xml::sax::SAXException, RuntimeException); }; //================================================================================================== }