diff options
Diffstat (limited to 'framework/inc/xml')
-rw-r--r-- | framework/inc/xml/acceleratorconfigurationreader.hxx | 220 | ||||
-rw-r--r-- | framework/inc/xml/acceleratorconfigurationwriter.hxx | 119 | ||||
-rw-r--r-- | framework/inc/xml/eventsdocumenthandler.hxx | 188 | ||||
-rw-r--r-- | framework/inc/xml/imagesdocumenthandler.hxx | 204 | ||||
-rw-r--r-- | framework/inc/xml/menudocumenthandler.hxx | 319 | ||||
-rw-r--r-- | framework/inc/xml/saxnamespacefilter.hxx | 105 | ||||
-rw-r--r-- | framework/inc/xml/statusbardocumenthandler.hxx | 185 | ||||
-rw-r--r-- | framework/inc/xml/toolboxconfigurationdefines.hxx | 112 | ||||
-rw-r--r-- | framework/inc/xml/toolboxdocumenthandler.hxx | 214 | ||||
-rw-r--r-- | framework/inc/xml/xmlnamespaces.hxx | 66 |
10 files changed, 1732 insertions, 0 deletions
diff --git a/framework/inc/xml/acceleratorconfigurationreader.hxx b/framework/inc/xml/acceleratorconfigurationreader.hxx new file mode 100644 index 000000000000..745dea7ecee9 --- /dev/null +++ b/framework/inc/xml/acceleratorconfigurationreader.hxx @@ -0,0 +1,220 @@ +/************************************************************************* + * + * 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 _FRAMEWORK_XML_ACCELERATORCONFIGURATIONREADER_HXX_ +#define _FRAMEWORK_XML_ACCELERATORCONFIGURATIONREADER_HXX_ + +//_______________________________________________ +// own includes + +#include <accelerators/acceleratorcache.hxx> +#include <accelerators/keymapping.hxx> +#include <macros/xinterface.hxx> +#include <threadhelp/threadhelpbase.hxx> +#include <general.h> + +//_______________________________________________ +// interface includes + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif + +#ifndef __COM_SUN_STAR_XML_SAX_XLOCATOR_HPP_ +#include <com/sun/star/xml/sax/XLocator.hpp> +#endif + +//_______________________________________________ +// other includes +#include <salhelper/singletonref.hxx> +#include <cppuhelper/weak.hxx> +#include <rtl/ustring.hxx> + +namespace framework{ + +class AcceleratorConfigurationReader : public css::xml::sax::XDocumentHandler + , private ThreadHelpBase + , public ::cppu::OWeakObject +{ + //------------------------------------------- + // const, types + + private: + + //--------------------------------------- + /** @short classification of XML elements. */ + enum EXMLElement + { + E_ELEMENT_ACCELERATORLIST, + E_ELEMENT_ITEM + }; + + //--------------------------------------- + /** @short classification of XML attributes. */ + enum EXMLAttribute + { + E_ATTRIBUTE_KEYCODE, + E_ATTRIBUTE_MOD_SHIFT, + E_ATTRIBUTE_MOD_MOD1, + E_ATTRIBUTE_MOD_MOD2, + E_ATTRIBUTE_MOD_MOD3, + E_ATTRIBUTE_URL + }; + + //--------------------------------------- + /** @short some namespace defines */ + enum EAcceleratorXMLNamespace + { + E_NAMESPACE_ACCEL, + E_NAMESPACE_XLINK + }; + + //------------------------------------------- + // member + + private: + + //--------------------------------------- + /** @short needed to read the xml configuration. */ + css::uno::Reference< css::xml::sax::XDocumentHandler > m_xReader; + + //--------------------------------------- + /** @short reference to the outside container, where this + reader/writer must work on. */ + AcceleratorCache& m_rContainer; + + //--------------------------------------- + /** @short used to detect if an accelerator list + occures recursive inside xml. */ + sal_Bool m_bInsideAcceleratorList; + + //--------------------------------------- + /** @short used to detect if an accelerator item + occures recursive inside xml. */ + sal_Bool m_bInsideAcceleratorItem; + + //--------------------------------------- + /** @short is used to map key codes to its + string representation. + + @descr To perform this operatio is + created only one times and holded + alive forever ...*/ + ::salhelper::SingletonRef< KeyMapping > m_rKeyMapping; + + //--------------------------------------- + /** @short provide informations abou the parsing state. + + @descr We use it to find out the line and column, where + an error occure. + */ + css::uno::Reference< css::xml::sax::XLocator > m_xLocator; + +/* SfxAcceleratorItemList& m_aReadAcceleratorList; +*/ + + //------------------------------------------- + // interface + + public: + + //--------------------------------------- + /** @short connect this new reader/writer instance + to an outside container, which should be used + flushed to the underlying XML configuration or + filled from there. + + @param rContainer + a reference to the outside container. + */ + AcceleratorConfigurationReader(AcceleratorCache& rContainer); + + //--------------------------------------- + /** @short does nothing real ... */ + virtual ~AcceleratorConfigurationReader(); + + //--------------------------------------- + // XInterface + FWK_DECLARE_XINTERFACE + + //--------------------------------------- + // XDocumentHandler + virtual void SAL_CALL startDocument() + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL endDocument() + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL startElement(const ::rtl::OUString& sElement , + const css::uno::Reference< css::xml::sax::XAttributeList >& xAttributeList) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const ::rtl::OUString& sElement) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL characters(const ::rtl::OUString& sChars) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const ::rtl::OUString& sWhitespaces) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const ::rtl::OUString& sTarget, + const ::rtl::OUString& sData ) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator >& xLocator) + throw(css::xml::sax::SAXException, + css::uno::RuntimeException ); + + //------------------------------------------- + // helper + + private: + + //--------------------------------------- + /** TODO document me */ + static EXMLElement implst_classifyElement(const ::rtl::OUString& sElement); + + //--------------------------------------- + /** TODO document me */ + static EXMLAttribute implst_classifyAttribute(const ::rtl::OUString& sAttribute); + + //--------------------------------------- + /** TODO document me */ + ::rtl::OUString implts_getErrorLineString(); +}; + +} // namespace framework + +#endif // _FRAMEWORK_XML_ACCELERATORCONFIGURATIONREADER_HXX_ diff --git a/framework/inc/xml/acceleratorconfigurationwriter.hxx b/framework/inc/xml/acceleratorconfigurationwriter.hxx new file mode 100644 index 000000000000..caba9b8fa02f --- /dev/null +++ b/framework/inc/xml/acceleratorconfigurationwriter.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * 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 _FRAMEWORK_XML_ACCELERATORCONFIGURATIONWRITER_HXX_ +#define _FRAMEWORK_XML_ACCELERATORCONFIGURATIONWRITER_HXX_ + +//_______________________________________________ +// own includes + +#include <accelerators/acceleratorcache.hxx> +#include <accelerators/keymapping.hxx> +#include <threadhelp/threadhelpbase.hxx> +#include <general.h> + +//_______________________________________________ +// interface includes + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif + +//_______________________________________________ +// other includes +#include <salhelper/singletonref.hxx> +#include <rtl/ustring.hxx> + +namespace framework{ + +class AcceleratorConfigurationWriter : private ThreadHelpBase +{ + //------------------------------------------- + // member + + private: + + //--------------------------------------- + /** @short needed to write the xml configuration. */ + css::uno::Reference< css::xml::sax::XDocumentHandler > m_xConfig; + + //--------------------------------------- + /** @short reference to the outside container, where this + writer must work on. */ + const AcceleratorCache& m_rContainer; + + //--------------------------------------- + /** @short is used to map key codes to its + string representation. + + @descr To perform this operatio is + created only one times and holded + alive forever ...*/ + ::salhelper::SingletonRef< KeyMapping > m_rKeyMapping; + + //------------------------------------------- + // interface + + public: + + //--------------------------------------- + /** @short connect this new writer instance + to an outside container, which should be + flushed to the underlying XML configuration. + + @param rContainer + a reference to the outside container. + + @param xConfig + used to write the configuration there. + */ + AcceleratorConfigurationWriter(const AcceleratorCache& rContainer, + const css::uno::Reference< css::xml::sax::XDocumentHandler >& xConfig ); + + //--------------------------------------- + /** @short does nothing real ... */ + virtual ~AcceleratorConfigurationWriter(); + + //--------------------------------------- + /** @short TODO */ + virtual void flush(); + + //------------------------------------------- + // helper + + private: + + //--------------------------------------- + /** @short TODO */ + void impl_ts_writeKeyCommandPair(const css::awt::KeyEvent& aKey , + const ::rtl::OUString& sCommand, + const css::uno::Reference< css::xml::sax::XDocumentHandler >& xConfig ); +}; + +} // namespace framework + +#endif // _FRAMEWORK_XML_ACCELERATORCONFIGURATIONWRITER_HXX_ diff --git a/framework/inc/xml/eventsdocumenthandler.hxx b/framework/inc/xml/eventsdocumenthandler.hxx new file mode 100644 index 000000000000..ffce5c1a348b --- /dev/null +++ b/framework/inc/xml/eventsdocumenthandler.hxx @@ -0,0 +1,188 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_EVENTSDOCUMENTHANDLER_HXX_ +#define __FRAMEWORK_XML_EVENTSDOCUMENTHANDLER_HXX_ + +#ifndef __FRAMEWORK_XML_TOOLBOXCONFIGURATION_HXX_ +#include <framework/eventsconfiguration.hxx> +#endif + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ +#include <threadhelp/threadhelpbase.hxx> +#include <rtl/ustring.hxx> +#include <cppuhelper/implbase1.hxx> + +#include <hash_map> +#include <stdtypes.h> + +#include <framework/fwedllapi.h> +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework{ + +//***************************************************************************************************************** +// Hash code function for using in all hash maps of follow implementation. + +class FWE_DLLPUBLIC OReadEventsDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + enum Events_XML_Entry + { + EV_ELEMENT_EVENTS, + EV_ELEMENT_EVENT, + EV_ATTRIBUTE_TYPE, + EV_ATTRIBUTE_NAME, + XL_ATTRIBUTE_HREF, + XL_ATTRIBUTE_TYPE, + EV_ATTRIBUTE_MACRONAME, + EV_ATTRIBUTE_LIBRARY, + EV_XML_ENTRY_COUNT + }; + + enum Event_XML_Namespace + { + EV_NS_EVENT, + EV_NS_XLINK, + EV_XML_NAMESPACES_COUNT + }; + + OReadEventsDocumentHandler( EventsConfig& aItems ); + + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + virtual ~OReadEventsDocumentHandler(); + + private: + ::rtl::OUString getErrorLineString(); + + class EventsHashMap : public ::std::hash_map< ::rtl::OUString , + Events_XML_Entry , + OUStringHashCode , + ::std::equal_to< ::rtl::OUString > > + { + public: + inline void free() + { + EventsHashMap().swap( *this ); + } + }; + + sal_Bool m_bEventsStartFound; + sal_Bool m_bEventsEndFound; + sal_Bool m_bEventStartFound; + EventsHashMap m_aEventsMap; + EventsConfig& m_aEventItems; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; +}; + +class FWE_DLLPUBLIC OWriteEventsDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses. +{ + public: + OWriteEventsDocumentHandler( + const EventsConfig& aItems, + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > ); + virtual ~OWriteEventsDocumentHandler(); + + void WriteEventsDocument() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + virtual void WriteEvent( + const ::rtl::OUString& aEventName, + const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aPropertyValue ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + const EventsConfig& m_aItems; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList; + ::rtl::OUString m_aXMLEventNS; + ::rtl::OUString m_aXMLXlinkNS; + ::rtl::OUString m_aAttributeType; + ::rtl::OUString m_aAttributeURL; + ::rtl::OUString m_aAttributeLanguage; + ::rtl::OUString m_aAttributeLinkType; + ::rtl::OUString m_aAttributeMacroName; + ::rtl::OUString m_aAttributeLibrary; + ::rtl::OUString m_aAttributeName; +}; + +} // namespace framework + +#endif diff --git a/framework/inc/xml/imagesdocumenthandler.hxx b/framework/inc/xml/imagesdocumenthandler.hxx new file mode 100644 index 000000000000..59d1e4abdb3a --- /dev/null +++ b/framework/inc/xml/imagesdocumenthandler.hxx @@ -0,0 +1,204 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_ +#define __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_ + +#include <framework/fwedllapi.h> + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ +#include <framework/imagesconfiguration.hxx> +#include <threadhelp/threadhelpbase.hxx> +#include <rtl/ustring.hxx> +#include <cppuhelper/implbase1.hxx> + +#include <hash_map> +#include <stdtypes.h> + + +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework{ + +//***************************************************************************************************************** +// Hash code function for using in all hash maps of follow implementation. + +class FWE_DLLPUBLIC OReadImagesDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + enum Image_XML_Entry + { + IMG_ELEMENT_IMAGECONTAINER, + IMG_ELEMENT_IMAGES, + IMG_ELEMENT_ENTRY, + IMG_ELEMENT_EXTERNALIMAGES, + IMG_ELEMENT_EXTERNALENTRY, + IMG_ATTRIBUTE_HREF, + IMG_ATTRIBUTE_MASKCOLOR, + IMG_ATTRIBUTE_COMMAND, + IMG_ATTRIBUTE_BITMAPINDEX, + IMG_ATTRIBUTE_MASKURL, + IMG_ATTRIBUTE_MASKMODE, + IMG_ATTRIBUTE_HIGHCONTRASTURL, + IMG_ATTRIBUTE_HIGHCONTRASTMASKURL, + IMG_XML_ENTRY_COUNT + }; + + enum Image_XML_Namespace + { + IMG_NS_IMAGE, + IMG_NS_XLINK, + TBL_XML_NAMESPACES_COUNT + }; + + OReadImagesDocumentHandler( ImageListsDescriptor& aItems ); + virtual ~OReadImagesDocumentHandler(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + ::rtl::OUString getErrorLineString(); + + class ImageHashMap : public ::std::hash_map< ::rtl::OUString , + Image_XML_Entry , + OUStringHashCode , + ::std::equal_to< ::rtl::OUString > > + { + public: + inline void free() + { + ImageHashMap().swap( *this ); + } + }; + + sal_Bool m_bImageContainerStartFound; + sal_Bool m_bImageContainerEndFound; + sal_Bool m_bImagesStartFound; + sal_Bool m_bImagesEndFound; + sal_Bool m_bImageStartFound; + sal_Bool m_bExternalImagesStartFound; + sal_Bool m_bExternalImagesEndFound; + sal_Bool m_bExternalImageStartFound; + sal_Int32 m_nHashMaskModeBitmap; + sal_Int32 m_nHashMaskModeColor; + ImageHashMap m_aImageMap; + ImageListsDescriptor& m_aImageList; + ImageListItemDescriptor* m_pImages; + ExternalImageItemListDescriptor* m_pExternalImages; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; +}; + +class FWE_DLLPUBLIC OWriteImagesDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses. +{ + public: + OWriteImagesDocumentHandler( + const ImageListsDescriptor& aItems, + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > ); + virtual ~OWriteImagesDocumentHandler(); + + void WriteImagesDocument() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + virtual void WriteImageList( const ImageListItemDescriptor* ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteExternalImageList( const ExternalImageItemListDescriptor* ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteImage( const ImageItemDescriptor* ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteExternalImage( const ExternalImageItemDescriptor* ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + const ImageListsDescriptor& m_aImageListsItems; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList; + ::rtl::OUString m_aXMLXlinkNS; + ::rtl::OUString m_aXMLImageNS; + ::rtl::OUString m_aAttributeType; + ::rtl::OUString m_aAttributeXlinkType; + ::rtl::OUString m_aAttributeValueSimple; +}; + +} // namespace framework + +#endif diff --git a/framework/inc/xml/menudocumenthandler.hxx b/framework/inc/xml/menudocumenthandler.hxx new file mode 100644 index 000000000000..5c6064cdd4f1 --- /dev/null +++ b/framework/inc/xml/menudocumenthandler.hxx @@ -0,0 +1,319 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_MENUDOCUMENTHANDLER_HXX_ +#define __FRAMEWORK_XML_MENUDOCUMENTHANDLER_HXX_ + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif +#include <com/sun/star/container/XIndexContainer.hpp> +#include <com/sun/star/lang/XSingleComponentFactory.hpp> +#include <com/sun/star/beans/PropertyValue.hpp> +#include <com/sun/star/uno/Sequence.h> +#include <com/sun/star/uno/XComponentContext.hpp> + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ +#include <threadhelp/threadhelpbase.hxx> +#include <rtl/ustring.hxx> +#include <cppuhelper/implbase1.hxx> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <framework/fwedllapi.h> + +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework{ + +class FWE_DLLPUBLIC ReadMenuDocumentHandlerBase : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + ReadMenuDocumentHandlerBase(); + virtual ~ReadMenuDocumentHandlerBase(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ) = 0; + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ) = 0; + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ) = 0; + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ) = 0; + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ) = 0; + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + ::rtl::OUString getErrorLineString(); + + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler> m_xReader; + void initPropertyCommon( com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > &rProps, + const rtl::OUString &rCommandURL, const rtl::OUString &rHelpId, + const rtl::OUString &rLabel, sal_Int16 nItemStyleBits ); + private: + rtl::OUString m_aType; + rtl::OUString m_aLabel; + rtl::OUString m_aContainer; + rtl::OUString m_aHelpURL; + rtl::OUString m_aCommandURL; + rtl::OUString m_aStyle; + ::com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > m_aItemProp; +}; + + +class FWE_DLLPUBLIC OReadMenuDocumentHandler : public ReadMenuDocumentHandlerBase +{ + public: + // #110897# + OReadMenuDocumentHandler( + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, + const com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer >& rItemContainer ); + virtual ~OReadMenuDocumentHandler(); + + // #110897# + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& getServiceFactory(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + int m_nElementDepth; + sal_Bool m_bMenuBarMode; + com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xMenuBarContainer; + com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > m_xContainerFactory; + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& mxServiceFactory; +}; // OReadMenuDocumentHandler + + +class FWE_DLLPUBLIC OReadMenuBarHandler : public ReadMenuDocumentHandlerBase +{ + public: + // #110897# + OReadMenuBarHandler( + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory, + const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuBarContainer, + const com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >& rContainerFactory ); + virtual ~OReadMenuBarHandler(); + + // #110897# + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& getServiceFactory(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + int m_nElementDepth; + sal_Bool m_bMenuMode; + com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xMenuBarContainer; + com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > m_xContainerFactory; + + // #110897# + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& mxServiceFactory; +}; // OReadMenuBarHandler + + +class FWE_DLLPUBLIC OReadMenuHandler : public ReadMenuDocumentHandlerBase +{ + public: + OReadMenuHandler( const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuContainer, + const com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >& rContainerFactory ); + virtual ~OReadMenuHandler(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + int m_nElementDepth; + sal_Bool m_bMenuPopupMode; + com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xMenuContainer; + com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > m_xContainerFactory; +}; // OReadMenuHandler + + +class FWE_DLLPUBLIC OReadMenuPopupHandler : public ReadMenuDocumentHandlerBase +{ + public: + OReadMenuPopupHandler( const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuContainer, + const com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >& rContainerFactory ); + virtual ~OReadMenuPopupHandler(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< + ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + enum NextElementClose { ELEM_CLOSE_NONE, ELEM_CLOSE_MENUITEM, ELEM_CLOSE_MENUSEPARATOR }; + + int m_nElementDepth; + sal_Bool m_bMenuMode; + com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xMenuContainer; + com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > m_xContainerFactory; + com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xComponentContext; + NextElementClose m_nNextElementExpected; +}; // OReadMenuPopupHandler + + +class FWE_DLLPUBLIC OWriteMenuDocumentHandler +{ + public: + OWriteMenuDocumentHandler( + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& rMenuBarContainer, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& rDocumentHandler ); + virtual ~OWriteMenuDocumentHandler(); + + void WriteMenuDocument() throw + ( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException ); + protected: + virtual void WriteMenu( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& rSubMenuContainer ) throw + ( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException ); + + virtual void WriteMenuItem( const rtl::OUString& aCommandURL, const rtl::OUString& aLabel, const rtl::OUString& aHelpURL, sal_Int16 nStyle = 0 ); + virtual void WriteMenuSeparator(); + + com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > m_xMenuBarContainer; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList; + ::rtl::OUString m_aAttributeType; +}; + +} // namespace framework + +#endif // #ifndef __FRAMEWORK_XML_MENUDOCUMENTHANDLER_HXX_ diff --git a/framework/inc/xml/saxnamespacefilter.hxx b/framework/inc/xml/saxnamespacefilter.hxx new file mode 100644 index 000000000000..f4bdfcf677e9 --- /dev/null +++ b/framework/inc/xml/saxnamespacefilter.hxx @@ -0,0 +1,105 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_SERVICES_SAXNAMESPACEFILTER_HXX_ +#define __FRAMEWORK_SERVICES_SAXNAMESPACEFILTER_HXX_ + +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#include <threadhelp/threadhelpbase.hxx> +#include <xml/xmlnamespaces.hxx> +#include <rtl/ustring.hxx> +#include <vcl/menu.hxx> +#include <cppuhelper/implbase1.hxx> + +#include <stack> +#include <framework/fwedllapi.h> + +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework +{ + +class FWE_DLLPUBLIC SaxNamespaceFilter : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + SaxNamespaceFilter( ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& rSax1DocumentHandler ); + virtual ~SaxNamespaceFilter(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + typedef ::std::stack< XMLNamespaces > NamespaceStack; + + ::rtl::OUString getErrorLineString(); + + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler> xDocumentHandler; + NamespaceStack m_aNamespaceStack; + sal_Int32 m_nDepth; +}; + +} + +#endif // __FRAMEWORK_SERVICES_SAXNAMESPACEFILTER_HXX_ diff --git a/framework/inc/xml/statusbardocumenthandler.hxx b/framework/inc/xml/statusbardocumenthandler.hxx new file mode 100644 index 000000000000..82c2d0c55111 --- /dev/null +++ b/framework/inc/xml/statusbardocumenthandler.hxx @@ -0,0 +1,185 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_STATUSBARDOCUMENTHANDLER_HXX_ +#define __FRAMEWORK_XML_STATUSBARDOCUMENTHANDLER_HXX_ + +#ifndef __FRAMEWORK_XML_STATUSBARCONFIGURATION_HXX_ +#include <framework/statusbarconfiguration.hxx> +#endif + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ + +#ifndef __COM_SUN_STAR_XML_SAX_XDOCUMENTHANDLER_HPP_ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#endif + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ +#include <threadhelp/threadhelpbase.hxx> +#include <rtl/ustring.hxx> +#include <cppuhelper/implbase1.hxx> + +#include <hash_map> +#include <stdtypes.h> +#include <framework/fwedllapi.h> + +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework{ + +//***************************************************************************************************************** +// Hash code function for using in all hash maps of follow implementation. + +class FWE_DLLPUBLIC OReadStatusBarDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + enum StatusBar_XML_Entry + { + SB_ELEMENT_STATUSBAR, + SB_ELEMENT_STATUSBARITEM, + SB_ATTRIBUTE_URL, + SB_ATTRIBUTE_ALIGN, + SB_ATTRIBUTE_STYLE, + SB_ATTRIBUTE_AUTOSIZE, + SB_ATTRIBUTE_OWNERDRAW, + SB_ATTRIBUTE_WIDTH, + SB_ATTRIBUTE_OFFSET, + SB_ATTRIBUTE_HELPURL, + SB_XML_ENTRY_COUNT + }; + + enum StatusBar_XML_Namespace + { + SB_NS_STATUSBAR, + SB_NS_XLINK, + SB_XML_NAMESPACES_COUNT + }; + + OReadStatusBarDocumentHandler( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& aStatusBarItems ); + virtual ~OReadStatusBarDocumentHandler(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + ::rtl::OUString getErrorLineString(); + + class StatusBarHashMap : public ::std::hash_map< ::rtl::OUString , + StatusBar_XML_Entry , + OUStringHashCode , + ::std::equal_to< ::rtl::OUString > > + { + public: + inline void free() + { + StatusBarHashMap().swap( *this ); + } + }; + + sal_Bool m_bStatusBarStartFound; + sal_Bool m_bStatusBarEndFound; + sal_Bool m_bStatusBarItemStartFound; + StatusBarHashMap m_aStatusBarMap; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_aStatusBarItems; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; +}; + +class FWE_DLLPUBLIC OWriteStatusBarDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses. +{ + public: + OWriteStatusBarDocumentHandler( + const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& rStatusBarItems, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& rWriteDocHandler ); + virtual ~OWriteStatusBarDocumentHandler(); + + void WriteStatusBarDocument() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + virtual void WriteStatusBarItem( + const rtl::OUString& rCommandURL, + const rtl::OUString& rHelpURL, + sal_Int16 nOffset, + sal_Int16 nStyle, + sal_Int16 nWidth ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > m_aStatusBarItems; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList; + ::rtl::OUString m_aXMLStatusBarNS; + ::rtl::OUString m_aXMLXlinkNS; + ::rtl::OUString m_aAttributeType; + ::rtl::OUString m_aAttributeURL; +}; + +} // namespace framework + +#endif diff --git a/framework/inc/xml/toolboxconfigurationdefines.hxx b/framework/inc/xml/toolboxconfigurationdefines.hxx new file mode 100644 index 000000000000..0b514b927bc1 --- /dev/null +++ b/framework/inc/xml/toolboxconfigurationdefines.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_TOOLBOXCONFIGURATIONDEFINES_HXX_ +#define __FRAMEWORK_XML_TOOLBOXCONFIGURATIONDEFINES_HXX_ + +#define XMLNS_TOOLBAR "http://openoffice.org/2001/toolbar" +#define XMLNS_XLINK "http://www.w3.org/1999/xlink" +#define XMLNS_TOOLBAR_PREFIX "toolbar:" +#define XMLNS_XLINK_PREFIX "xlink:" + +#define XMLNS_FILTER_SEPARATOR "^" + +#define ELEMENT_TOOLBAR "toolbar" +#define ELEMENT_TOOLBARITEM "toolbaritem" +#define ELEMENT_TOOLBARSPACE "toolbarspace" +#define ELEMENT_TOOLBARBREAK "toolbarbreak" +#define ELEMENT_TOOLBARSEPARATOR "toolbarseparator" + +#define ELEMENT_TOOLBARLAYOUTS "toolbarlayouts" +#define ELEMENT_TOOLBARLAYOUT "toolbarlayout" +#define ELEMENT_TOOLBARCONFIGITEMS "toolbarconfigitems" +#define ELEMENT_TOOLBARCONFIGITEM "toolbarconfigitem" + +#define ATTRIBUTE_UINAME "uiname" + +#define ATTRIBUTE_BITMAP "bitmap" +#define ATTRIBUTE_TEXT "text" +#define ATTRIBUTE_URL "href" +#define ATTRIBUTE_ITEMBITS "property" +#define ATTRIBUTE_VISIBLE "visible" +#define ATTRIBUTE_WIDTH "width" +#define ATTRIBUTE_USER "userdefined" +#define ATTRIBUTE_HELPID "helpid" +#define ATTRIBUTE_TOOLTIP "tooltip" +#define ATTRIBUTE_ITEMSTYLE "style" + +#define ATTRIBUTE_ID "id" +#define ATTRIBUTE_FLOATINGPOSLEFT "floatingposleft" +#define ATTRIBUTE_FLOATINGPOSTOP "floatingpostop" +#define ATTRIBUTE_TOOLBARNAME "toolbarname" +#define ATTRIBUTE_CONTEXT "context" +#define ATTRIBUTE_FLOATINGLINES "floatinglines" +#define ATTRIBUTE_DOCKINGLINES "dockinglines" +#define ATTRIBUTE_ALIGN "align" +#define ATTRIBUTE_FLOATING "floating" +#define ATTRIBUTE_BUTTONTYPE "style" +#define ATTRIBUTE_USERDEFNAME "userdefname" + +#define ELEMENT_NS_TOOLBAR "toolbar:toolbar" +#define ELEMENT_NS_TOOLBARITEM "toolbar:toolbaritem" +#define ELEMENT_NS_TOOLBARSPACE "toolbar:toolbarspace" +#define ELEMENT_NS_TOOLBARBREAK "toolbar:toolbarbreak" +#define ELEMENT_NS_TOOLBARSEPARATOR "toolbar:toolbarseparator" + +#define ELEMENT_NS_TOOLBARLAYOUTS "toolbar:toolbarlayouts" +#define ELEMENT_NS_TOOLBARLAYOUT "toolbar:toolbarlayout" +#define ELEMENT_NS_TOOLBARCONFIGITEMS "toolbar:toolbarconfigitems" +#define ELEMENT_NS_TOOLBARCONFIGITEM "toolbar:toolbarconfigitem" + +#define ATTRIBUTE_XMLNS_TOOLBAR "xmlns:toolbar" +#define ATTRIBUTE_XMLNS_XLINK "xmlns:xlink" + +#define ATTRIBUTE_TYPE_CDATA "CDATA" + +#define ATTRIBUTE_BOOLEAN_TRUE "true" +#define ATTRIBUTE_BOOLEAN_FALSE "false" + +#define ATTRIBUTE_ALIGN_LEFT "left" +#define ATTRIBUTE_ALIGN_RIGHT "right" +#define ATTRIBUTE_ALIGN_TOP "top" +#define ATTRIBUTE_ALIGN_BOTTOM "bottom" + +#define ATTRIBUTE_STYLE_TEXT "text" +#define ATTRIBUTE_STYLE_SYMBOL "symbol" +#define ATTRIBUTE_STYLE_SYMBOLTEXT "symboltext" +#define ATTRIBUTE_STYLE_SYMBOLPLUSTEXT "symbol+text" + +#define ATTRIBUTE_ITEMSTYLE_RADIO "radio" +#define ATTRIBUTE_ITEMSTYLE_AUTO "auto" +#define ATTRIBUTE_ITEMSTYLE_LEFT "left" +#define ATTRIBUTE_ITEMSTYLE_AUTOSIZE "autosize" +#define ATTRIBUTE_ITEMSTYLE_DROPDOWN "dropdown" +#define ATTRIBUTE_ITEMSTYLE_REPEAT "repeat" +#define ATTRIBUTE_ITEMSTYLE_TEXT "text" +#define ATTRIBUTE_ITEMSTYLE_DROPDOWNONLY "dropdownonly" +#define ATTRIBUTE_ITEMSTYLE_IMAGE "image" + +#endif // __FRAMEWORK_XML_TOOLBOXCONFIGURATIONDEFINES_HXX_ diff --git a/framework/inc/xml/toolboxdocumenthandler.hxx b/framework/inc/xml/toolboxdocumenthandler.hxx new file mode 100644 index 000000000000..d90d91cee036 --- /dev/null +++ b/framework/inc/xml/toolboxdocumenthandler.hxx @@ -0,0 +1,214 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_TOOLBOXDOCUMENTHANDLER_HXX_ +#define __FRAMEWORK_XML_TOOLBOXDOCUMENTHANDLER_HXX_ + +#include <framework/toolboxconfiguration.hxx> + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ +#include <com/sun/star/xml/sax/XDocumentHandler.hpp> +#include <com/sun/star/beans/PropertyValue.hpp> + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ +#include <threadhelp/threadhelpbase.hxx> +#include <rtl/ustring.hxx> +#include <cppuhelper/implbase1.hxx> +#include <stdtypes.h> +#include <framework/fwedllapi.h> + +//_________________________________________________________________________________________________________________ +// namespace +//_________________________________________________________________________________________________________________ + +namespace framework{ + +//***************************************************************************************************************** +// Hash code function for using in all hash maps of follow implementation. + +class FWE_DLLPUBLIC OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses. + public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler > +{ + public: + enum ToolBox_XML_Entry + { + TB_ELEMENT_TOOLBAR, + TB_ELEMENT_TOOLBARITEM, + TB_ELEMENT_TOOLBARSPACE, + TB_ELEMENT_TOOLBARBREAK, + TB_ELEMENT_TOOLBARSEPARATOR, + TB_ATTRIBUTE_TEXT, + TB_ATTRIBUTE_BITMAP, + TB_ATTRIBUTE_URL, + TB_ATTRIBUTE_ITEMBITS, + TB_ATTRIBUTE_VISIBLE, + TB_ATTRIBUTE_WIDTH, + TB_ATTRIBUTE_USER, + TB_ATTRIBUTE_HELPID, + TB_ATTRIBUTE_STYLE, + TB_ATTRIBUTE_UINAME, + TB_ATTRIBUTE_TOOLTIP, + TB_XML_ENTRY_COUNT + }; + + enum ToolBox_XML_Namespace + { + TB_NS_TOOLBAR, + TB_NS_XLINK, + TB_XML_NAMESPACES_COUNT + }; + + OReadToolBoxDocumentHandler( const ::com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer >& rItemContainer ); + virtual ~OReadToolBoxDocumentHandler(); + + // XDocumentHandler + virtual void SAL_CALL startDocument(void) + throw ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endDocument(void) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL startElement( + const rtl::OUString& aName, + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL endElement(const rtl::OUString& aName) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL characters(const rtl::OUString& aChars) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget, + const rtl::OUString& aData) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL setDocumentLocator( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator) + throw( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + private: + ::rtl::OUString getErrorLineString(); + + class ToolBoxHashMap : public ::std::hash_map< ::rtl::OUString , + ToolBox_XML_Entry , + OUStringHashCode , + ::std::equal_to< ::rtl::OUString > > + { + public: + inline void free() + { + ToolBoxHashMap().swap( *this ); + } + }; + + sal_Bool m_bToolBarStartFound : 1; + sal_Bool m_bToolBarEndFound : 1; + sal_Bool m_bToolBarItemStartFound : 1; + sal_Bool m_bToolBarSpaceStartFound : 1; + sal_Bool m_bToolBarBreakStartFound : 1; + sal_Bool m_bToolBarSeparatorStartFound : 1; + ToolBoxHashMap m_aToolBoxMap; + com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer > m_rItemContainer; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator; + + sal_Int32 m_nHashCode_Style_Radio; + sal_Int32 m_nHashCode_Style_Auto; + sal_Int32 m_nHashCode_Style_Left; + sal_Int32 m_nHashCode_Style_AutoSize; + sal_Int32 m_nHashCode_Style_DropDown; + sal_Int32 m_nHashCode_Style_Repeat; + sal_Int32 m_nHashCode_Style_DropDownOnly; + sal_Int32 m_nHashCode_Style_Text; + sal_Int32 m_nHashCode_Style_Image; + rtl::OUString m_aType; + rtl::OUString m_aLabel; + rtl::OUString m_aStyle; + rtl::OUString m_aHelpURL; + rtl::OUString m_aTooltip; + rtl::OUString m_aIsVisible; + rtl::OUString m_aCommandURL; +}; + + +class FWE_DLLPUBLIC OWriteToolBoxDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses. +{ + public: + OWriteToolBoxDocumentHandler( + const ::com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& rItemAccess, + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& rDocumentHandler ); + virtual ~OWriteToolBoxDocumentHandler(); + + void WriteToolBoxDocument() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + protected: + virtual void WriteToolBoxItem( const rtl::OUString& aCommandURL, const rtl::OUString& aLabel, const rtl::OUString& aHelpURL, const rtl::OUString& aTooltip, sal_Int16 nStyle, + sal_Int16 nWidth, sal_Bool bVisible ) throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteToolBoxSpace() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteToolBoxBreak() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + virtual void WriteToolBoxSeparator() throw + ( ::com::sun::star::xml::sax::SAXException, + ::com::sun::star::uno::RuntimeException ); + + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList; + com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > m_rItemAccess; + ::rtl::OUString m_aXMLToolbarNS; + ::rtl::OUString m_aXMLXlinkNS; + ::rtl::OUString m_aAttributeType; + ::rtl::OUString m_aAttributeURL; +}; + +} // namespace framework + +#endif diff --git a/framework/inc/xml/xmlnamespaces.hxx b/framework/inc/xml/xmlnamespaces.hxx new file mode 100644 index 000000000000..bcb9ec4cb5e3 --- /dev/null +++ b/framework/inc/xml/xmlnamespaces.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * 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 __FRAMEWORK_XML_XMLNAMESPACES_HXX_ +#define __FRAMEWORK_XML_XMLNAMESPACES_HXX_ + +#include <com/sun/star/xml/sax/SAXException.hpp> + +#include <map> +#include <framework/fwedllapi.h> + +namespace framework +{ + +class FWE_DLLPUBLIC XMLNamespaces +{ + public: + XMLNamespaces(); + XMLNamespaces( const XMLNamespaces& ); + virtual ~XMLNamespaces(); + + void addNamespace( const ::rtl::OUString& aName, const ::rtl::OUString& aValue ) + throw( ::com::sun::star::xml::sax::SAXException ); + + ::rtl::OUString applyNSToAttributeName( const ::rtl::OUString& ) const + throw( ::com::sun::star::xml::sax::SAXException ); + ::rtl::OUString applyNSToElementName( const ::rtl::OUString& ) const + throw( ::com::sun::star::xml::sax::SAXException ); + + private: + typedef ::std::map< ::rtl::OUString, ::rtl::OUString > NamespaceMap; + + ::rtl::OUString getNamespaceValue( const ::rtl::OUString& aNamespace ) const + throw( ::com::sun::star::xml::sax::SAXException ); + + ::rtl::OUString m_aDefaultNamespace; + NamespaceMap m_aNamespaceMap; +}; + +} + +#endif // __FRAMEWORK_XML_XMLNAMESPACES_HXX_ |