/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ #pragma once #include #include #include #include #include namespace com::sun::star::xml::sax { class XDocumentHandler; } namespace com::sun::star::io { class XInputStream; } namespace com::sun::star::io { class XOutputStream; } namespace xmlscript { /*################################################################################################## EXPORTING ##################################################################################################*/ class XMLElement : public cppu::WeakImplHelper< css::xml::sax::XAttributeList > { public: XMLElement( OUString name ) : _name(std::move( name )) {} /** Adds a sub element of element. @param xElem element reference */ void addSubElement( css::uno::Reference< css::xml::sax::XAttributeList > const & xElem ); /** Gets sub element of given index. The index follows order in which sub elements were added. @param nIndex index of sub element */ css::uno::Reference< css::xml::sax::XAttributeList > const & getSubElement( sal_Int32 nIndex ); /** Adds an attribute to elements. @param rAttrName qname of attribute @param rValue value string of element */ void addAttribute( OUString const & rAttrName, OUString const & rValue ); /** Dumps out element (and all sub elements). @param xOut document handler to be written to */ void dump( css::uno::Reference< css::xml::sax::XDocumentHandler > const & xOut ); /** Dumps out sub elements (and all further sub elements). @param xOut document handler to be written to */ void dumpSubElements( css::uno::Reference< css::xml::sax::XDocumentHandler > const & xOut ); // XAttributeList virtual sal_Int16 SAL_CALL getLength() override; virtual OUString SAL_CALL getNameByIndex( sal_Int16 nPos ) override; virtual OUString SAL_CALL getTypeByIndex( sal_Int16 nPos ) override; virtual OUString SAL_CALL getTypeByName( OUString const & rName ) override; virtual OUString SAL_CALL getValueByIndex( sal_Int16 nPos ) override; virtual OUString SAL_CALL getValueByName( OUString const & rName ) override; protected: ::std::vector< css::uno::Reference< css::xml::sax::XAttributeList > > _subElems; private: OUString const _name; ::std::vector< OUString > _attrNames; ::std::vector< OUString > _attrValues; }; /*################################################################################################## STREAMING ##################################################################################################*/ XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream > createInputStream( std::vector&& rInData ); XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XInputStream > createInputStream( const sal_Int8* pData, int len ); XMLSCRIPT_DLLPUBLIC css::uno::Reference< css::io::XOutputStream > createOutputStream( std::vector * pOutData ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /cp-6.0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/store
AgeCommit message (Expand)Author
2018-06-12Remove redundant reinterpret_castStephan Bergmann
2018-06-12-fsanitize=functionStephan Bergmann
2018-06-11new loplugin:shouldreturnboolNoel Grandin
2018-04-28loplugin:countusersofdefaultparamsNoel Grandin
2018-04-16loplugin:useuniqueptr in OStorePageBIOSNoel Grandin
2018-01-13store: remove unnecessary comments in storpage.hxxChris Sherlock
2018-01-12More loplugin:cstylecast: storeStephan Bergmann
2018-01-09loplugin:convertlong in ucb,sotNoel Grandin
2017-12-11loplugin:salcall fix functionsNoel Grandin
2017-11-23loplugin:simplifybool for negation of comparison operatorNoel Grandin
2017-11-20look for =() in loplugin:unnecessaryparenNoel Grandin
2017-11-02improve constparam lopluginNoel Grandin
2017-10-23loplugin:includeform: storeStephan Bergmann
2017-10-20loplugin:constmethod in codemaker,registry,storeNoel Grandin
2017-08-18loplugin:unnecessaryparenNoel Grandin
2017-08-15Remove unnecessary user-provided copy functionsStephan Bergmann
2017-07-28loplugin:constparams handle constructorsNoel Grandin
2017-07-17loplugin:constparams in store,registryNoel Grandin
2017-07-10teach unnecessaryparen loplugin about identifiersNoel Grandin
2017-07-02loplugin:casttovoid: storeStephan Bergmann
2017-06-27loplugin:oncevar in starmath..svlNoel Grandin
2017-06-21loplugin:unusedfields store..svlNoel Grandin
2017-06-16Remove a bunch of comment cruft - esp. "the end." bitsChris Sherlock
2017-06-05Improved loplugin:cstylecast to reference types: storeStephan Bergmann
2017-05-30teach redundantcast plugin about functional castsNoel Grandin
2017-05-09cleanup osl/diagnose.h includesJochen Nitschke
2017-05-07revert OSL_ASSERT changesChris Sherlock
2017-05-07tdf#43157: convert store from OSL_ASSERT to assertChris Sherlock
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
2017-01-25loplugin: unnecessary destructor sfx2..storeNoel Grandin
2016-12-11OSL_TRACE -> SAL in sfx2..svxNoel Grandin